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.
19 #include <linux/kernel.h>
20 #include <linux/string.h>
27 #include <bcmendian.h>
29 #include <wlc_phy_radio.h>
30 #include <wlc_phy_int.h>
31 #include <wlc_phyreg_n.h>
32 #include <wlc_phytbl_n.h>
34 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
35 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
36 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
37 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
38 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
39 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
40 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
41 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
43 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
44 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
45 radio_type##_##jspace##1##_##reg_name));
46 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
47 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
48 radio_type##_##jspace##1##_##reg_name), value);
49 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
50 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
51 radio_type##_##reg_name##_##jspace##1));
52 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
53 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
54 radio_type##_##reg_name##_##jspace##1), value);
56 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
57 #define NPHY_ACI_CHANNEL_DELTA 5
58 #define NPHY_ACI_CHANNEL_SKIP 4
59 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
60 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
61 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
62 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
63 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
64 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
66 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
68 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
70 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
72 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
74 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
76 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
78 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
80 #define NPHY_NOISE_ASSOC_ENTER_TH 400
82 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
84 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
85 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
87 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
89 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
91 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
93 #define NPHY_RSSICAL_MAXREAD 31
95 #define NPHY_RSSICAL_NPOLL 8
96 #define NPHY_RSSICAL_MAXD (1<<20)
97 #define NPHY_MIN_RXIQ_PWR 2
99 #define NPHY_RSSICAL_W1_TARGET 25
100 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
101 #define NPHY_RSSICAL_NB_TARGET 0
103 #define NPHY_RSSICAL_W1_TARGET_REV3 29
104 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
106 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
107 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
108 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
109 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
110 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
111 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
112 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
113 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
114 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
115 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
116 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
117 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
118 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
120 #define NPHY_IQCAL_NUMGAINS 9
121 #define NPHY_N_GCTL 0x66
123 #define NPHY_PAPD_EPS_TBL_SIZE 64
124 #define NPHY_PAPD_SCL_TBL_SIZE 64
125 #define NPHY_NUM_DIG_FILT_COEFFS 15
127 #define NPHY_PAPD_COMP_OFF 0
128 #define NPHY_PAPD_COMP_ON 1
130 #define NPHY_SROM_TEMPSHIFT 32
131 #define NPHY_SROM_MAXTEMPOFFSET 16
132 #define NPHY_SROM_MINTEMPOFFSET -16
134 #define NPHY_CAL_MAXTEMPDELTA 64
136 #define NPHY_NOISEVAR_TBLLEN40 256
137 #define NPHY_NOISEVAR_TBLLEN20 128
139 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
141 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
143 typedef struct _nphy_iqcal_params
{
151 } nphy_iqcal_params_t
;
153 typedef struct _nphy_txiqcal_ladder
{
156 } nphy_txiqcal_ladder_t
;
159 nphy_txgains_t gains
;
162 } nphy_ipa_txcalgains_t
;
164 typedef struct nphy_papd_restore_state_t
{
166 uint16 vga_master
[2];
167 uint16 intpa_master
[2];
169 uint16 afeoverride
[2];
173 } nphy_papd_restore_state
;
175 typedef struct _nphy_ipa_txrxgain
{
182 } nphy_ipa_txrxgain_t
;
184 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
186 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz
[] = { {0, 0, 0, 0, 0, 100},
194 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz
[] = { {0, 0, 0, 0, 0, 128},
202 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7
[] = { {0, 0, 0, 0, 0, 100},
210 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7
[] = { {0, 0, 0, 0, 0, 10},
218 #define NPHY_RXCAL_TONEAMP 181
219 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
220 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
223 NPHY_RXCAL_GAIN_INIT
= 0,
228 #define wlc_phy_get_papd_nphy(pi) \
229 (read_phy_reg((pi), 0x1e7) & \
234 #define TXFILT_SHAPING_OFDM20 0
235 #define TXFILT_SHAPING_OFDM40 1
236 #define TXFILT_SHAPING_CCK 2
237 #define TXFILT_DEFAULT_OFDM20 3
238 #define TXFILT_DEFAULT_OFDM40 4
240 uint16 NPHY_IPA_REV4_txdigi_filtcoeffs
[][NPHY_NUM_DIG_FILT_COEFFS
] = {
241 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
242 230, -44, 230, 201, -191, 201},
243 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
245 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
246 121, -73, 121, 91, 124, 91},
247 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
248 151, 301, 151, 602, -752, 602},
249 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
250 12, 25, 12, 13, 27, 13},
251 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
252 230, -44, 230, 201, -191, 201},
253 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
254 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
257 typedef struct _chan_info_nphy_2055
{
273 u8 RF_core1_lgbuf_a_tune
;
274 u8 RF_core1_lgbuf_g_tune
;
275 u8 RF_core1_rxrf_reg1
;
276 u8 RF_core1_tx_pga_pad_tn
;
277 u8 RF_core1_tx_mx_bgtrim
;
278 u8 RF_core2_lgbuf_a_tune
;
279 u8 RF_core2_lgbuf_g_tune
;
280 u8 RF_core2_rxrf_reg1
;
281 u8 RF_core2_tx_pga_pad_tn
;
282 u8 RF_core2_tx_mx_bgtrim
;
289 } chan_info_nphy_2055_t
;
291 typedef struct _chan_info_nphy_radio205x
{
294 u8 RF_SYN_pll_vcocal1
;
295 u8 RF_SYN_pll_vcocal2
;
296 u8 RF_SYN_pll_refdiv
;
299 u8 RF_SYN_pll_loopfilter1
;
300 u8 RF_SYN_pll_loopfilter2
;
301 u8 RF_SYN_pll_loopfilter3
;
302 u8 RF_SYN_pll_loopfilter4
;
303 u8 RF_SYN_pll_loopfilter5
;
304 u8 RF_SYN_reserved_addr27
;
305 u8 RF_SYN_reserved_addr28
;
306 u8 RF_SYN_reserved_addr29
;
307 u8 RF_SYN_logen_VCOBUF1
;
308 u8 RF_SYN_logen_MIXER2
;
309 u8 RF_SYN_logen_BUF3
;
310 u8 RF_SYN_logen_BUF4
;
313 u8 RF_TX0_intpaa_boost_tune
;
314 u8 RF_TX0_intpag_boost_tune
;
315 u8 RF_TX0_pada_boost_tune
;
316 u8 RF_TX0_padg_boost_tune
;
317 u8 RF_TX0_pgaa_boost_tune
;
318 u8 RF_TX0_pgag_boost_tune
;
319 u8 RF_TX0_mixa_boost_tune
;
320 u8 RF_TX0_mixg_boost_tune
;
323 u8 RF_TX1_intpaa_boost_tune
;
324 u8 RF_TX1_intpag_boost_tune
;
325 u8 RF_TX1_pada_boost_tune
;
326 u8 RF_TX1_padg_boost_tune
;
327 u8 RF_TX1_pgaa_boost_tune
;
328 u8 RF_TX1_pgag_boost_tune
;
329 u8 RF_TX1_mixa_boost_tune
;
330 u8 RF_TX1_mixg_boost_tune
;
337 } chan_info_nphy_radio205x_t
;
339 typedef struct _chan_info_nphy_radio2057
{
342 u8 RF_vcocal_countval0
;
343 u8 RF_vcocal_countval1
;
344 u8 RF_rfpll_refmaster_sparextalsize
;
345 u8 RF_rfpll_loopfilter_r1
;
346 u8 RF_rfpll_loopfilter_c2
;
347 u8 RF_rfpll_loopfilter_c1
;
352 u8 RF_logen_mx2g_tune
;
353 u8 RF_logen_mx5g_tune
;
354 u8 RF_logen_indbuf2g_tune
;
355 u8 RF_logen_indbuf5g_tune
;
356 u8 RF_txmix2g_tune_boost_pu_core0
;
357 u8 RF_pad2g_tune_pus_core0
;
358 u8 RF_pga_boost_tune_core0
;
359 u8 RF_txmix5g_boost_tune_core0
;
360 u8 RF_pad5g_tune_misc_pus_core0
;
361 u8 RF_lna2g_tune_core0
;
362 u8 RF_lna5g_tune_core0
;
363 u8 RF_txmix2g_tune_boost_pu_core1
;
364 u8 RF_pad2g_tune_pus_core1
;
365 u8 RF_pga_boost_tune_core1
;
366 u8 RF_txmix5g_boost_tune_core1
;
367 u8 RF_pad5g_tune_misc_pus_core1
;
368 u8 RF_lna2g_tune_core1
;
369 u8 RF_lna5g_tune_core1
;
376 } chan_info_nphy_radio2057_t
;
378 typedef struct _chan_info_nphy_radio2057_rev5
{
381 u8 RF_vcocal_countval0
;
382 u8 RF_vcocal_countval1
;
383 u8 RF_rfpll_refmaster_sparextalsize
;
384 u8 RF_rfpll_loopfilter_r1
;
385 u8 RF_rfpll_loopfilter_c2
;
386 u8 RF_rfpll_loopfilter_c1
;
391 u8 RF_logen_mx2g_tune
;
392 u8 RF_logen_indbuf2g_tune
;
393 u8 RF_txmix2g_tune_boost_pu_core0
;
394 u8 RF_pad2g_tune_pus_core0
;
395 u8 RF_lna2g_tune_core0
;
396 u8 RF_txmix2g_tune_boost_pu_core1
;
397 u8 RF_pad2g_tune_pus_core1
;
398 u8 RF_lna2g_tune_core1
;
405 } chan_info_nphy_radio2057_rev5_t
;
407 typedef struct nphy_sfo_cfg
{
416 static chan_info_nphy_2055_t chan_info_nphy_2055
[] = {
418 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
419 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
420 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
422 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
423 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
424 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
426 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
427 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
428 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
430 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
431 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
432 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
434 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
435 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
436 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
438 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
439 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
440 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
442 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
443 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
444 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
446 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
447 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
448 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
450 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
451 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
452 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
454 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
455 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
456 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
458 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
459 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
460 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
462 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
463 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
464 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
466 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
467 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
468 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
470 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
471 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
472 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
474 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
475 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
476 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
478 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
479 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
480 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
482 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
483 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
484 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
486 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
487 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
488 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
490 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
491 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
492 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
494 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
495 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
496 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
498 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
499 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
500 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
502 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
503 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
504 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
506 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
507 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
508 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
510 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
511 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
512 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
514 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
515 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
516 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
518 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
519 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
520 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
522 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
523 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
524 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
526 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
527 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
528 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
530 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
531 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
532 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
534 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
535 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
536 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
538 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
539 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
540 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
542 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
543 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
544 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
546 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
547 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
548 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
550 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
551 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
552 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
554 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
555 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
556 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
558 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
559 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
560 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
562 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
563 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
564 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
566 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
567 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
568 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
570 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
571 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
572 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
574 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
575 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
576 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
578 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
579 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
580 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
582 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
583 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
584 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
586 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
587 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
588 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
590 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
591 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
592 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
594 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
595 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
596 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
598 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
599 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
600 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
602 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
603 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
604 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
606 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
607 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
608 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
610 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
611 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
612 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
614 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
615 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
616 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
618 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
619 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
620 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
622 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
623 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
624 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
626 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
627 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
628 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
630 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
631 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
632 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
634 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
635 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
636 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
638 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
639 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
640 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
642 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
643 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
644 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
646 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
647 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
648 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
650 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
651 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
652 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
654 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
655 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
656 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
658 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
659 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
660 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
662 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
663 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
664 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
666 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
667 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
668 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
670 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
671 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
672 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
674 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
675 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
676 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
678 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
679 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
680 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
682 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
683 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
684 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
686 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
687 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
688 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
690 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
691 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
692 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
694 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
695 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
696 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
698 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
699 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
700 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
702 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
703 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
704 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
706 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
707 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
708 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
710 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
711 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
712 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
714 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
715 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
716 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
718 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
719 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
720 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
722 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
723 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
724 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
726 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
727 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
728 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
730 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
731 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
732 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
734 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
735 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
736 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
738 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
739 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
740 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
742 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
743 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
744 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
746 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
747 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
748 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
750 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
751 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
752 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
754 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
755 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
756 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
758 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
759 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
760 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
762 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
763 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
764 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
766 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
767 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
768 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
770 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
771 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
772 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
774 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
775 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
776 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
778 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
779 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
780 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
782 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
783 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
784 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
786 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
787 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
788 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
790 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
791 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
792 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
794 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
795 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
796 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
798 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
799 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
800 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
802 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
803 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
804 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
806 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
807 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
808 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
810 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
811 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
812 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
814 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
815 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
816 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
818 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
819 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
820 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
822 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
823 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
824 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
826 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
827 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
828 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
830 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
831 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
832 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
834 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
835 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
836 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
838 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
839 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
840 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
842 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
843 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
844 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
846 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
847 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
848 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
850 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
851 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
852 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
854 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
855 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
856 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
858 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
859 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
860 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
862 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
863 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
864 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
866 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
867 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
868 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
870 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
871 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
872 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
874 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
875 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
876 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
878 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
879 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
880 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
882 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
883 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
884 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
886 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
887 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
888 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
890 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
891 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
892 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
894 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
895 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
896 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
898 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
899 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
900 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
902 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
903 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
904 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
906 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
907 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
908 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
910 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
911 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
912 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
915 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056
[] = {
917 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
918 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
919 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
920 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
922 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
927 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
932 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
937 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
938 0x01, 0x01, 0x01, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
942 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
947 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
952 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
957 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
958 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
959 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
960 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
962 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
967 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
972 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
977 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
982 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
987 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 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, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
992 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 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, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
997 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 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, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1002 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1007 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1008 0x02, 0x02, 0x02, 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, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1012 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1013 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1014 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1015 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1017 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1022 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 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, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1027 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 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, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1032 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 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, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1037 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 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, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1042 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1043 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1044 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1045 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1047 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 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, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1052 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1053 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1054 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1055 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1057 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1058 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1059 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1060 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1062 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 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, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1067 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 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, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1072 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1073 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1074 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1075 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1077 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 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, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1082 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 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, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1087 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1088 0x03, 0x03, 0x03, 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, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1092 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1093 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1094 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1095 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1097 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1102 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1103 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1104 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1105 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1107 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1108 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1109 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1110 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1112 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 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, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1117 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1118 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1119 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1120 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1122 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 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, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1127 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1128 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1129 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1130 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1132 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 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, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1137 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1142 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 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, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1147 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1148 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1149 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1150 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1152 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1153 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1154 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1155 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1157 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 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, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1162 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1163 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1164 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1165 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1167 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 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, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1172 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1173 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1174 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1175 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1177 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1178 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1179 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1180 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1182 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1183 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1184 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1185 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1187 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 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, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1192 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1193 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1194 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1195 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1197 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1198 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1199 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1200 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1202 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1203 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1204 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1205 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1207 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1208 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1209 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1210 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1212 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 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, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1217 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1218 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1219 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1220 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1222 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 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, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1227 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 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, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1232 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1233 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1234 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1235 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1237 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1238 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1239 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1240 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1242 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1243 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1244 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1245 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1247 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 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, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1252 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1253 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1254 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1255 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1257 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1258 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1259 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1260 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1262 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 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, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1267 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1268 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1269 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1270 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1272 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 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, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1277 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1278 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1279 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1280 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1282 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1283 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1284 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1285 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1287 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 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, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1292 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 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, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1297 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1298 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1299 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1300 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1302 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1303 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1304 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1305 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1307 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1308 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1309 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1310 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1312 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1317 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1318 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1319 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1320 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1322 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 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, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1327 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 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, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1332 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1337 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1342 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 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, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1347 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1348 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1349 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1350 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1352 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 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, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1357 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 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, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1362 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 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, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1367 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1372 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 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, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1377 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1378 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1379 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1380 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1382 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1387 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 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, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1392 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1393 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1394 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1395 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1397 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1402 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1407 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1412 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1413 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1414 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1415 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1417 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 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, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1422 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1427 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 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, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1432 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 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, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1437 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1438 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1439 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1440 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1442 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1443 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1444 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1445 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1447 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1452 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1457 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1458 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1459 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1460 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1462 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1463 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1464 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1465 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1467 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1468 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1469 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1470 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1472 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1473 0x05, 0x05, 0x05, 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, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1477 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 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, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1482 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1483 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1484 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1485 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1487 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1488 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1489 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1490 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1492 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1493 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1494 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1495 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1497 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1498 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1499 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1500 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1502 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1503 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1504 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1505 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1507 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1508 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1509 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1510 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1512 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1513 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1514 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1515 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1517 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1518 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1519 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1520 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1522 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1523 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1524 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1525 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1527 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1528 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1529 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1530 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1532 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1533 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1534 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1535 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1538 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1
[] = {
1540 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1541 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1542 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1543 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1545 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1550 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1555 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1560 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1561 0x01, 0x01, 0x01, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1565 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1570 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1575 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1580 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1581 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1582 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1583 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1585 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1590 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1595 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1600 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1605 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1610 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 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, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1615 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 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, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1620 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 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, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1625 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1630 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1631 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1632 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1633 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1635 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 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, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1640 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1645 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 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, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1650 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 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, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1655 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 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, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1660 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 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, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1665 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1666 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1667 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1668 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1670 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 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, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1675 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1676 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1677 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1678 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1680 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1681 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1682 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1683 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1685 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 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, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1690 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 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, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1695 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1696 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1697 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1698 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1700 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 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, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1705 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 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, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1710 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1711 0x03, 0x03, 0x03, 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, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1715 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1716 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1717 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1718 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1720 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1725 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1726 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1727 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1728 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1730 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1735 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 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, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1740 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1741 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1742 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1743 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1745 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 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, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1750 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1751 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1752 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1753 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1755 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 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, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1760 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1765 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 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, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1770 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1771 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1772 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1773 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1775 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1776 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1777 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1778 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1780 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 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, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1785 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1786 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1787 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1788 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1790 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 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, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1795 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1796 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1797 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1798 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1800 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1801 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1802 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1803 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1805 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1806 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1807 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1808 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1810 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 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, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1815 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1816 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1817 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1818 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1820 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1821 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1822 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1823 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1825 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1826 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1827 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1828 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1830 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1831 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1832 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1833 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1835 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 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, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1840 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1841 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1842 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1843 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1845 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 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, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1850 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 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, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1855 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1856 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1857 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1858 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1860 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1861 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1862 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1863 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1865 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1866 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1867 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1868 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1870 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 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, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1875 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1876 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1877 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1878 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1880 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1881 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1882 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1883 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1885 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 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, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1890 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1891 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1892 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1893 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1895 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 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, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1900 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1901 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1902 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1903 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1905 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 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, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1910 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 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, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1915 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 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, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1920 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1921 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1922 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1923 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1925 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1926 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1927 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1928 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1930 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1935 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1940 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1941 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1942 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1943 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1945 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 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, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1950 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 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, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1955 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1960 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1965 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 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, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1970 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1971 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1972 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1973 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1975 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 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, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1980 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 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, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1985 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 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, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1990 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1995 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 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, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2000 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2001 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2002 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2003 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2005 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2010 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 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, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2015 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2016 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2017 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2018 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2020 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2025 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2030 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2035 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2036 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2037 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2038 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2040 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 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, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2045 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2050 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 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, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2055 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 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, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2060 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2065 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2066 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2067 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2068 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2070 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2075 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2080 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2081 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2082 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2083 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2085 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2086 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2087 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2088 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2090 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2091 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2092 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2093 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2095 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2096 0x05, 0x05, 0x05, 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, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2100 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 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, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2105 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2106 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2107 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2108 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2110 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2111 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2112 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2113 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2115 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2116 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2117 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2118 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2120 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2121 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2122 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2123 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2125 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2126 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2127 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2128 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2130 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2131 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2132 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2133 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2135 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2136 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2137 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2138 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2140 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2141 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2142 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2143 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2145 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2146 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2147 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2148 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2150 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2151 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2152 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2153 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2155 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2156 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2157 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2158 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2161 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5
[] = {
2163 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2164 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2165 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2166 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2168 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2169 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2170 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2171 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2173 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2178 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2183 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2184 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2185 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2186 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2188 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2189 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2190 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2191 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2193 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2198 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2203 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2208 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2213 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2214 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2215 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2216 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2218 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2219 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2220 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2221 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2223 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2224 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2225 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2226 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2228 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2233 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2234 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2235 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2236 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2238 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2239 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2240 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2241 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2243 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2244 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2245 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2246 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2248 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2253 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2254 0x02, 0x02, 0x02, 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, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2258 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 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, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2263 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2268 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2269 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2270 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2271 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2273 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2274 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2275 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2276 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2278 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2279 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2280 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2281 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2283 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2284 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2285 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2286 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2288 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2289 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2290 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2291 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2293 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 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, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2298 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 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, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2303 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 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, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2308 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 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, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2313 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2314 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2315 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2316 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2318 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2319 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2320 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2321 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2323 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 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, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2328 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2329 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2330 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2331 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2333 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2334 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2335 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2336 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2338 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2339 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2340 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2341 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2343 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2348 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2349 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2350 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2351 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2353 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2358 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2359 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2360 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2361 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2363 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2364 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2365 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2366 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2368 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2369 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2370 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2371 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2373 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2374 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2375 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2376 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2378 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2379 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2380 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2381 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2383 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2388 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2389 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2390 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2391 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2393 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2394 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2395 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2396 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2398 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2399 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2400 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2401 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2403 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2404 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2405 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2406 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2408 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 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, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2413 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2414 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2415 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2416 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2418 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2419 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2420 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2421 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2423 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 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, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2428 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2429 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2430 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2431 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2433 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2434 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2435 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2436 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2438 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2439 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2440 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2441 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2443 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 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, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2448 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2449 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2450 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2451 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2453 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 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, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2458 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 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, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2463 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2464 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2465 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2466 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2468 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2469 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2470 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2471 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2473 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 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, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2478 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 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, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2483 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2484 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2485 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2486 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2488 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 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, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2493 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2494 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2495 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2496 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2498 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2499 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2500 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2501 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2503 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 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, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2508 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 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, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2513 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 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, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2518 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2519 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2520 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2521 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2523 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2524 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2525 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2526 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2528 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 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, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2533 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2534 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2535 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2536 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2538 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 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, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2543 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 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, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2548 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2549 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2550 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2551 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2553 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2558 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2563 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 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, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2568 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2569 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2570 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2571 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2573 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2574 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2575 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2576 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2578 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2583 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2588 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 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, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2593 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 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, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2598 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2599 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2600 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2601 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2603 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2604 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2605 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2606 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2608 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 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, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2613 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2618 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2619 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2620 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2621 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2623 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2624 0x06, 0x06, 0x06, 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, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2628 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2633 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 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, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2638 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2639 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2640 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2641 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2643 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2648 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2653 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2658 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 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, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2663 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 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, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2668 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2673 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 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, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2678 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2679 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2680 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2681 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2683 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2688 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2689 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2690 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2691 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2693 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2698 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2703 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2704 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2705 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2706 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2708 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 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, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2713 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2714 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2715 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2716 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2718 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2719 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2720 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2721 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2723 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2724 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2725 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2726 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2728 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2729 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2730 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2731 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2733 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2734 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2735 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2736 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2738 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2739 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2740 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2741 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2743 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2744 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2745 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2746 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2748 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2749 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2750 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2751 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2753 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2754 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2755 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2756 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2758 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2759 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2760 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2761 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2763 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2764 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2765 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2766 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2768 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2769 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2770 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2771 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2773 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2774 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2775 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2776 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2778 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2779 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2780 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2781 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2784 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6
[] = {
2786 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2787 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2788 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2789 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2791 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2796 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2801 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2806 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2807 0x01, 0x01, 0x01, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2811 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2816 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2821 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2826 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2831 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2836 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2841 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2846 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2851 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2856 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 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, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2861 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2862 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2863 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2864 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2866 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 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, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2871 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2876 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2877 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2878 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2879 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2881 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2882 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2883 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2884 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2886 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2891 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 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, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2896 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2897 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2898 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2899 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2901 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2902 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2903 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2904 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2906 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 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, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2911 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2912 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2913 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2914 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2916 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2917 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2918 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2919 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2921 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2922 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2923 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2924 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2926 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 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, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2931 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2932 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2933 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2934 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2936 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2937 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2938 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2939 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2941 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2942 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2943 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2944 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2946 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2947 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2948 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2949 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2951 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2952 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2953 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2954 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2956 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2957 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2958 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2959 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2961 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2962 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2963 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2964 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2966 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2971 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 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, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2976 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2981 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2982 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2983 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2984 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2986 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2987 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2988 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2989 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2991 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2992 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2993 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2994 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2996 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2997 0x03, 0x03, 0x03, 0x8c, 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, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3001 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3002 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3003 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3004 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3006 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3011 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3012 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3013 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3014 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3016 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3017 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3018 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3019 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3021 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 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, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3026 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3027 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3028 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3029 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3031 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3032 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3033 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3034 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3036 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3037 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3038 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3039 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3041 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3042 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3043 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3044 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3046 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3047 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3048 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3049 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3051 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 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, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3056 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3057 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3058 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3059 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3061 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3062 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3063 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3064 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3066 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3067 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3068 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3069 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3071 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3072 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3073 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3074 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3076 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 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, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3081 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3082 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3083 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3084 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3086 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3087 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3088 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3089 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3091 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3092 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3093 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3094 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3096 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3097 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3098 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3099 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3101 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 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, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3106 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3107 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3108 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3109 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3111 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3112 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3113 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3114 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3116 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3117 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3118 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3119 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3121 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3122 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3123 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3124 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3126 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 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, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3131 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3132 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3133 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3134 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3136 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3137 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3138 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3139 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3141 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3142 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3143 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3144 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3146 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3147 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3148 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3149 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3151 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3152 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3153 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3154 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3156 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3157 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3158 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3159 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3161 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3162 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3163 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3164 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3166 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 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, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3171 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3172 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3173 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3174 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3176 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3181 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3186 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 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, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3191 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3192 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3193 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3194 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3196 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3197 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3198 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3199 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3201 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3206 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3211 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3212 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3213 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3214 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3216 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3217 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3218 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3219 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3221 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3222 0x05, 0x05, 0x05, 0x86, 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, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3226 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3227 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3228 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3229 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3231 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3232 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3233 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3234 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3236 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3241 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 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, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3246 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3247 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3248 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3249 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3251 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3256 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3257 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3258 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3259 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3261 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 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, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3266 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3267 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3268 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3269 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3271 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3276 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3281 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 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, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3286 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3287 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3288 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3289 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3291 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3296 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3297 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3298 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3299 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3301 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3302 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3303 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3304 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3306 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3311 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3312 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3313 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3314 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3316 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3321 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3326 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 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, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3331 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 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, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3336 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3337 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3338 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3339 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3341 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3342 0x05, 0x05, 0x05, 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, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3346 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3347 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3348 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3349 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3351 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3352 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3353 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3354 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3356 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3357 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3358 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3359 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3361 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3362 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3363 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3364 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3366 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3367 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3368 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3369 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3371 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3372 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3373 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3374 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3376 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3377 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3378 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3379 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3381 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3382 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3383 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3384 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3386 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3387 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3388 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3389 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3391 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3392 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3393 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3394 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3396 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3397 0x07, 0x07, 0x07, 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, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3401 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3402 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3403 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3404 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3407 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7
[] = {
3409 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3410 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3411 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3412 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3414 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3415 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3416 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3417 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3419 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3424 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3429 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3430 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3431 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3432 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3434 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3435 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3436 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3437 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3439 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3444 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3449 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3454 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3459 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3460 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3461 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3462 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3464 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3465 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3466 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3467 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3469 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3470 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3471 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3472 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3474 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3479 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3480 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3481 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3482 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3484 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3485 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3486 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3487 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3489 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3490 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3491 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3492 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3494 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3499 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3500 0x02, 0x02, 0x02, 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, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3504 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 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, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3509 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3514 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3515 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3516 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3517 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3519 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3520 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3521 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3522 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3524 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3525 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3526 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3527 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3529 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3530 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3531 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3532 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3534 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3535 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3536 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3537 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3539 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 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, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3544 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 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, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3549 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 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, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3554 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3555 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3556 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3557 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3559 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3560 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3561 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3562 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3564 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3565 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3566 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3567 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3569 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3570 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3571 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3572 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3574 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3575 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3576 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3577 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3579 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3580 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3581 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3582 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3584 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3585 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3586 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3587 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3589 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3594 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 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, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3599 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3604 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3605 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3606 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3607 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3609 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3610 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3611 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3612 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3614 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3615 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3616 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3617 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3619 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3620 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3621 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3622 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3624 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3625 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3626 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3627 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3629 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3634 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3635 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3636 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3637 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3639 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3640 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3641 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3642 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3644 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 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, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3649 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3650 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3651 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3652 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3654 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3655 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3656 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3657 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3659 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3660 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3661 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3662 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3664 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3665 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3666 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3667 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3669 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3670 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3671 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3672 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3674 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3675 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3676 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3677 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3679 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3680 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3681 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3682 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3684 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3685 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3686 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3687 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3689 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3690 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3691 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3692 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3694 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3695 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3696 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3697 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3699 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 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, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3704 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3705 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3706 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3707 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3709 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3710 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3711 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3712 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3714 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3715 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3716 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3717 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3719 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3720 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3721 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3722 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3724 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 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, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3729 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3730 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3731 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3732 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3734 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3735 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3736 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3737 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3739 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3740 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3741 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3742 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3744 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3745 0x05, 0x05, 0x05, 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, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3749 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 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, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3754 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 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, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3759 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3760 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3761 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3762 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3764 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3765 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3766 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3767 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3769 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3770 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3771 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3772 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3774 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 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, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3779 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3780 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3781 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3782 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3784 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3785 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3786 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3787 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3789 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 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, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3794 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 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, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3799 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3804 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3809 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 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, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3814 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3815 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3816 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3817 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3819 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3820 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3821 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3822 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3824 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3829 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3834 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 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, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3839 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3840 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3841 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3842 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3844 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3845 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3846 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3847 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3849 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3850 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3851 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3852 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3854 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3855 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3856 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3857 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3859 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3864 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3865 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3866 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3867 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3869 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3870 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3871 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3872 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3874 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3879 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 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, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3884 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 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, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3889 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3894 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3899 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3904 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 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, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3909 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 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, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3914 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3919 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 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, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3924 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3925 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3926 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3927 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3929 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3934 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3935 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3936 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3937 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3939 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3944 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3949 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 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, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3954 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 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, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3959 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3960 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3961 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3962 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3964 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3965 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3966 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3967 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3969 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 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, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3974 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3975 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3976 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3977 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3979 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3980 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3981 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3982 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3984 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3985 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3986 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3987 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3989 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3990 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3991 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3992 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3994 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3995 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3996 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3997 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3999 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4000 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4001 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4002 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4004 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4005 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4006 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4007 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4009 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4010 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4011 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4012 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4014 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4015 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4016 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4017 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4019 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4020 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4021 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4022 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4024 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4025 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4026 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4027 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4030 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8
[] = {
4032 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4033 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4034 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4035 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4037 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4042 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4047 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4052 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4053 0x01, 0x01, 0x01, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4057 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4062 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4067 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4072 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4077 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4082 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4087 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4092 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4097 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4102 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 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, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4107 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4108 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4109 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4110 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4112 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 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, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4117 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4122 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4123 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4124 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4125 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4127 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4128 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4129 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4130 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4132 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4137 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 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, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4142 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4143 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4144 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4145 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4147 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4148 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4149 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4150 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4152 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 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, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4157 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4158 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4159 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4160 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4162 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4163 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4164 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4165 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4167 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4168 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4169 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4170 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4172 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 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, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4177 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4178 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4179 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4180 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4182 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4183 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4184 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4185 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4187 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4188 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4189 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4190 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4192 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4193 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4194 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4195 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4197 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4198 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4199 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4200 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4202 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4203 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4204 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4205 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4207 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4208 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4209 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4210 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4212 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4217 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 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, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4222 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4227 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4228 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4229 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4230 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4232 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4233 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4234 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4235 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4237 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4238 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4239 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4240 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4242 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4243 0x03, 0x03, 0x03, 0x8c, 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, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4247 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4248 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4249 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4250 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4252 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4257 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4258 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4259 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4260 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4262 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4263 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4264 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4265 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4267 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 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, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4272 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4273 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4274 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4275 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4277 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4278 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4279 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4280 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4282 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4283 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4284 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4285 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4287 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4288 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4289 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4290 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4292 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4293 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4294 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4295 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4297 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 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, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4302 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4303 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4304 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4305 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4307 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4308 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4309 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4310 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4312 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4313 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4314 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4315 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4317 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4318 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4319 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4320 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4322 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 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, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4327 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4328 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4329 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4330 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4332 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4333 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4334 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4335 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4337 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4338 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4339 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4340 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4342 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4343 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4344 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4345 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4347 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 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, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4352 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4353 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4354 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4355 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4357 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4358 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4359 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4360 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4362 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4363 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4364 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4365 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4367 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4368 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4369 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4370 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4372 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 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, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4377 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4378 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4379 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4380 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4382 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4383 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4384 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4385 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4387 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4388 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4389 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4390 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4392 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4393 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4394 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4395 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4397 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4398 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4399 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4400 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4402 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4403 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4404 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4405 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4407 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4408 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4409 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4410 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4412 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 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, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4417 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4418 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4419 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4420 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4422 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4427 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4432 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 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, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4437 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4438 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4439 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4440 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4442 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4443 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4444 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4445 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4447 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4452 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4457 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4458 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4459 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4460 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4462 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4463 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4464 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4465 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4467 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4468 0x05, 0x05, 0x05, 0x86, 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, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4472 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4473 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4474 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4475 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4477 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4478 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4479 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4480 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4482 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4487 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 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, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4492 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4493 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4494 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4495 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4497 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4502 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4503 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4504 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4505 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4507 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 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, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4512 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4513 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4514 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4515 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4517 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4522 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4527 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 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, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4532 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4533 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4534 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4535 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4537 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4542 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4543 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4544 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4545 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4547 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4548 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4549 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4550 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4552 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4557 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4558 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4559 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4560 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4562 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4567 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4572 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 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, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4577 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 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, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4582 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4583 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4584 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4585 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4587 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4588 0x05, 0x05, 0x05, 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, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4592 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4593 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4594 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4595 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4597 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4598 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4599 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4600 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4602 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4603 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4604 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4605 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4607 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4608 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4609 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4610 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4612 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4613 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4614 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4615 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4617 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4618 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4619 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4620 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4622 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4623 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4624 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4625 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4627 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4628 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4629 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4630 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4632 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4633 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4634 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4635 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4637 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4638 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4639 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4640 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4642 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4643 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4644 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4645 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4647 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4648 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4649 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4650 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4653 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11
[] = {
4655 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4656 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4657 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4658 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4660 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4665 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4670 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4675 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4676 0x01, 0x01, 0x01, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4680 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4685 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4690 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4695 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4700 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4705 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4710 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4715 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4720 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 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, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4725 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 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, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4730 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4731 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4732 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4733 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4735 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 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, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4740 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 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, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4745 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4746 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4747 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4748 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4750 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4751 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4752 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4753 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4755 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 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, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4760 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 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, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4765 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4766 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4767 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4768 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4770 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4771 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4772 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4773 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4775 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 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, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4780 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4781 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4782 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4783 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4785 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4786 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4787 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4788 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4790 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4791 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4792 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4793 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4795 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 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, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4800 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4801 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4802 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4803 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4805 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4806 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4807 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4808 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4810 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4811 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4812 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4813 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4815 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4816 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4817 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4818 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4820 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4821 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4822 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4823 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4825 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4826 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4827 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4828 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4830 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4831 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4832 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4833 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4835 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 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, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4840 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 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, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4845 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 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, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4850 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4851 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4852 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4853 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4855 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4856 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4857 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4858 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4860 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4861 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4862 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4863 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4865 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4866 0x03, 0x03, 0x03, 0x8c, 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, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4870 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4871 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4872 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4873 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4875 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 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, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4880 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4881 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4882 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4883 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4885 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4886 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4887 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4888 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4890 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 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, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4895 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4896 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4897 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4898 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4900 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4901 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4902 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4903 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4905 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4906 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4907 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4908 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4910 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4911 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4912 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4913 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4915 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4916 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4917 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4918 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4920 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 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, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4925 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4926 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4927 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4928 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4930 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4931 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4932 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4933 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4935 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4936 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4937 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4938 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4940 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4941 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4942 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4943 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4945 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 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, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4950 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4951 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4952 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4953 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4955 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4956 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4957 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4958 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4960 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4961 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4962 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4963 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4965 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4966 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4967 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4968 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4970 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 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, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4975 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4976 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4977 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4978 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4980 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4981 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4982 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4983 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4985 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4986 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4987 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4988 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4990 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4991 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4992 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4993 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4995 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 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, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5000 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5001 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5002 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5003 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5005 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5006 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5007 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5008 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5010 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5011 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5012 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5013 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5015 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5016 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5017 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5018 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5020 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5021 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5022 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5023 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5025 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5026 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5027 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5028 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5030 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5031 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5032 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5033 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5035 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 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, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5040 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5041 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5042 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5043 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5045 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 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, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5050 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 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, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5055 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 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, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5060 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5061 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5062 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5063 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5065 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5066 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5067 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5068 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5070 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 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, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5075 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 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, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5080 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5081 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5082 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5083 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5085 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5086 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5087 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5088 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5090 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5091 0x05, 0x05, 0x05, 0x86, 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, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5095 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5096 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5097 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5098 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5100 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5101 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5102 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5103 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5105 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 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, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5110 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 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, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5115 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5116 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5117 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5118 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5120 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5125 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5126 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5127 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5128 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5130 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 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, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5135 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5136 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5137 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5138 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5140 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 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, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5145 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 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, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5150 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 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, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5155 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5156 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5157 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5158 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5160 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 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, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5165 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5166 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5167 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5168 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5170 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5171 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5172 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5173 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5175 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 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, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5180 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5181 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5182 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5183 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5185 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 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, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5190 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 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, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5195 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 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, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5200 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 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, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5205 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5206 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5207 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5208 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5210 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5211 0x05, 0x05, 0x05, 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, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5215 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5216 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5217 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5218 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5220 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5221 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5222 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5223 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5225 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5226 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5227 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5228 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5230 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5231 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5232 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5233 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5235 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5236 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5237 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5238 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5240 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5241 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5242 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5243 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5245 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5246 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5247 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5248 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5250 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5251 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5252 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5253 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5255 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5256 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5257 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5258 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5260 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5261 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5262 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5263 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5265 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5266 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5267 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5268 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5270 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5271 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5272 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5273 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5276 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4
[] = {
5278 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5279 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5280 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5285 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5286 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5287 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5292 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5293 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5294 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5299 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5300 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5301 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5306 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5307 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5308 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5313 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5314 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5315 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5320 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5321 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5322 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5327 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5328 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5329 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5334 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5335 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5336 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5341 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5342 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5343 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5348 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5349 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5350 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5355 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5356 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5357 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5362 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5363 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5364 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5369 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5370 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5371 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5376 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5377 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5378 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5383 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5384 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5385 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5390 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5391 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5392 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5397 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5398 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5399 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5404 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5405 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5406 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5411 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5412 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5413 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5418 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5419 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5420 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5425 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5426 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5427 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5432 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5433 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5434 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5439 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5440 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5441 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5446 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5447 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5448 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5453 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5454 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5455 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5460 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5461 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5462 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5467 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5468 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5469 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5474 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5475 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5476 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5481 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5482 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5483 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5488 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5489 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5490 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5495 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5496 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5497 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5502 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5503 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5504 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5509 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5510 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5511 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5516 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5517 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5518 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5523 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5524 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5525 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5530 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5531 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5532 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5537 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5538 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5539 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5544 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5545 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5546 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5551 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5552 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5553 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5558 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5559 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5560 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5565 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5566 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5567 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5572 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5573 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5574 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5579 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5580 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5581 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5586 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5587 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5588 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5593 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5594 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5595 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5600 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5601 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5602 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5607 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5608 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5609 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5614 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5615 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5616 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5621 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5622 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5623 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5628 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5629 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5630 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5635 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5636 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5637 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5642 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5643 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5644 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5649 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5650 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5651 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5656 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5657 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5658 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5663 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5664 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5665 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5670 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5671 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5672 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5677 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5678 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5679 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5684 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5685 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5686 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5691 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5692 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5693 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5698 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5699 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5700 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5705 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5706 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5707 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5712 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5713 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5714 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5719 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5720 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5721 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5726 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5727 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5728 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5733 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5734 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5735 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5740 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5741 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5742 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5747 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5748 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5749 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5754 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5755 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5756 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5761 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5762 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5763 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5768 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5769 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5770 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5775 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5776 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5777 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5782 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5783 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5784 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5789 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5790 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5791 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5796 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5797 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5798 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5803 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5804 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5805 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5810 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5811 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5812 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5817 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5818 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5819 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5824 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5825 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5826 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5831 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5832 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5833 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5838 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5839 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5840 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5845 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5846 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5847 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5852 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5853 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5854 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5859 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5860 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5861 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5866 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5867 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5868 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5873 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5874 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5875 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5880 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5881 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5882 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5887 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5888 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5889 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5894 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5895 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5896 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5901 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5902 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5903 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5908 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5909 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5910 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5915 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5916 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5917 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5922 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5923 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5924 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5929 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5930 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5931 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5936 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5937 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5938 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5943 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5944 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5945 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5950 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5951 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5952 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5957 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5958 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5959 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5964 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5965 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5966 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5971 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5972 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5973 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5978 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5979 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5980 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5985 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5986 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5987 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5992 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5993 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5994 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
5999 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6000 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6001 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6006 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6007 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6008 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6013 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6014 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6015 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6020 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6021 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6022 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6027 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6028 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6029 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6034 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6035 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6036 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6041 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6042 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6043 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6048 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6049 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6050 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6055 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6056 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6057 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6062 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6063 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6064 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6069 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6070 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6071 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6076 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6077 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6078 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6083 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6084 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6085 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6090 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6091 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6092 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6097 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6098 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6099 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6104 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6105 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6106 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6111 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6112 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6113 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6118 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6119 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6120 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6125 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6126 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6127 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6132 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6133 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6134 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6139 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5
[] = {
6141 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6142 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6143 0x043a, 0x043f, 0x0443},
6145 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6146 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6147 0x0438, 0x043d, 0x0441},
6149 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6150 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6151 0x0436, 0x043a, 0x043f},
6153 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6154 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6155 0x0434, 0x0438, 0x043d},
6157 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6158 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6159 0x0431, 0x0436, 0x043a},
6161 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6162 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6163 0x042f, 0x0434, 0x0438},
6165 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6166 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6167 0x042d, 0x0431, 0x0436},
6169 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6170 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6171 0x042b, 0x042f, 0x0434},
6173 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6174 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6175 0x0429, 0x042d, 0x0431},
6177 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6178 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6179 0x0427, 0x042b, 0x042f},
6181 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6182 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6183 0x0424, 0x0429, 0x042d},
6185 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6186 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6187 0x0422, 0x0427, 0x042b},
6189 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6190 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6191 0x0420, 0x0424, 0x0429},
6193 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6194 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6195 0x041b, 0x041f, 0x0424}
6198 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1
[] = {
6200 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6201 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6202 0x043a, 0x043f, 0x0443},
6204 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6205 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6206 0x0438, 0x043d, 0x0441},
6208 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6209 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6210 0x0436, 0x043a, 0x043f},
6212 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6213 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6214 0x0434, 0x0438, 0x043d},
6216 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6217 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6218 0x0431, 0x0436, 0x043a},
6220 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6221 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6222 0x042f, 0x0434, 0x0438},
6224 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6225 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6226 0x042d, 0x0431, 0x0436},
6228 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6229 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6230 0x042b, 0x042f, 0x0434},
6232 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6233 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6234 0x0429, 0x042d, 0x0431},
6236 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6237 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6238 0x0427, 0x042b, 0x042f},
6240 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6241 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6242 0x0424, 0x0429, 0x042d},
6244 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6245 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6246 0x0422, 0x0427, 0x042b},
6248 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6249 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6250 0x0420, 0x0424, 0x0429},
6252 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6253 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6254 0x041b, 0x041f, 0x0424}
6257 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7
[] = {
6259 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6260 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6261 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6265 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6266 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6267 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6271 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6272 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6273 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6277 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6278 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6279 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6283 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6284 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6285 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6289 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6290 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6291 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6295 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6296 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6297 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6301 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6302 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6303 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6307 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6308 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6309 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6313 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6314 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6315 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6319 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6320 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6321 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6325 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6326 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6327 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6331 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6332 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6333 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6337 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6338 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6339 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6343 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6344 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6345 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6349 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6350 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6351 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6355 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6356 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6357 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6361 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6362 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6363 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6367 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6368 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6369 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6373 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6374 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6375 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6379 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6380 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6381 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6385 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6386 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6387 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6391 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6392 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6393 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6397 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6398 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6399 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6403 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6404 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6405 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6409 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6410 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6411 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6415 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6416 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6417 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6421 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6422 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6423 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6427 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6428 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6429 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6433 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6434 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6435 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6439 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6440 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6441 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6445 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6446 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6447 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6451 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6452 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6453 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6457 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6458 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6459 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6463 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6464 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6465 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6469 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6470 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6471 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6475 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6476 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6477 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6481 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6482 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6483 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6487 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6488 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6489 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6493 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6494 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6495 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6499 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6500 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6501 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6505 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6506 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6507 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6511 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6512 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6513 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6517 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6518 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6519 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6523 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6524 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6525 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6529 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6530 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6531 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6535 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6536 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6537 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6541 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6542 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6543 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6547 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6548 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6549 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6553 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6554 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6555 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6559 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6560 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6561 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6565 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6566 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6567 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6571 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6572 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6573 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6577 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6578 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6579 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6583 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6584 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6585 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6589 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6590 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6591 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6595 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6596 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6597 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6601 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6602 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6603 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6607 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6608 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6609 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6613 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6614 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6615 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6619 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6620 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6621 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6625 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6626 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6627 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6631 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6632 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6633 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6637 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6638 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6639 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6643 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6644 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6645 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6649 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6650 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6651 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6655 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6656 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6657 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6661 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6662 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6663 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6667 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6668 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6669 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6673 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6674 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6675 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6679 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6680 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6681 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6685 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6686 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6687 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6691 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6692 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6693 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6697 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6698 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6699 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6703 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6704 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6705 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6709 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6710 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6711 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6715 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6716 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6717 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6721 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6722 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6723 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6727 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6728 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6729 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6733 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6734 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6735 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6739 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6740 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6741 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6745 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6746 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6747 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6751 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6752 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6753 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6757 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6758 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6759 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6763 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6764 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6765 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6769 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6770 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6771 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6775 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6776 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6777 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6781 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6782 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6783 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6787 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6788 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6789 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6793 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6794 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6795 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6799 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6800 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6801 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6805 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6806 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6807 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6811 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6812 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6813 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6817 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6818 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6819 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6823 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6824 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6825 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6829 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6830 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6831 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6835 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6836 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6837 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6841 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6842 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6843 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6847 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6848 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6849 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6853 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6854 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6855 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6859 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6860 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6861 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6865 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6866 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6867 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6871 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6872 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6873 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6877 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6878 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6879 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6883 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6884 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6885 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6889 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6890 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6891 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6895 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6896 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6897 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6901 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6902 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6903 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6907 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6908 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6909 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6913 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6914 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6915 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6919 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6920 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6921 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6925 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6926 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6927 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6931 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6932 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6933 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6937 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6938 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6939 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6943 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6944 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6945 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6949 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6950 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6951 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6955 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6956 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6957 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6961 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6962 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6963 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6967 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6968 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6969 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6973 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6974 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6975 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6979 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6980 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6981 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6985 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6986 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6987 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6991 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6992 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6993 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6998 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8
[] = {
7000 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7001 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7002 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7006 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7007 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7008 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7012 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7013 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7014 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7018 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7019 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7020 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7024 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7025 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7026 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7030 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7031 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7032 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7036 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7037 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7038 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7042 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7043 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7044 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7048 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7049 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7050 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7054 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7055 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7056 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7060 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7061 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7062 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7066 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7067 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7068 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7072 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7073 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7074 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7078 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7079 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7080 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7084 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7085 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7086 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7090 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7091 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7092 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7096 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7097 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7098 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7102 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7103 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7104 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7108 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7109 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7110 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7114 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7115 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7116 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7120 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7121 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7122 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7126 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7127 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7128 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7132 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7133 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7134 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7138 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7139 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7140 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7144 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7145 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7146 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7150 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7151 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7152 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7156 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7157 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7158 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7162 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7163 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7164 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7168 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7169 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7170 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7174 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7175 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7176 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7180 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7181 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7182 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7186 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7187 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7188 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7192 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7193 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7194 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7198 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7199 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7200 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7204 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7205 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7206 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7210 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7211 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7212 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7216 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7217 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7218 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7222 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7223 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7224 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7228 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7229 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7230 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7234 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7235 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7236 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7240 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7241 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7242 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7246 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7247 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7248 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7252 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7253 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7254 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7258 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7259 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7260 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7264 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7265 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7266 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7270 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7271 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7272 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7276 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7277 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7278 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7282 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7283 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7284 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7288 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7289 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7290 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7294 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7295 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7296 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7300 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7301 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7302 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7306 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7307 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7308 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7312 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7313 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7314 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7318 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7319 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7320 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7324 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7325 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7326 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7330 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7331 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7332 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7336 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7337 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7338 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7342 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7343 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7344 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7348 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7349 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7350 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7354 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7355 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7356 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7360 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7361 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7362 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7366 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7367 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7368 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7372 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7373 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7374 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7378 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7379 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7380 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7384 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7385 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7386 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7390 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7391 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7392 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7396 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7397 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7398 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7402 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7403 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7404 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7408 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7409 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7410 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7414 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7415 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7416 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7420 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7421 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7422 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7426 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7427 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7428 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7432 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7433 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7434 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7438 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7439 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7440 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7444 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7445 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7446 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7450 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7451 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7452 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7456 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7457 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7458 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7462 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7463 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7464 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7468 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7469 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7470 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7474 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7475 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7476 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7480 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7481 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7482 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7486 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7487 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7488 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7492 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7493 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7494 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7498 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7499 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7500 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7504 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7505 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7506 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7510 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7511 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7512 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7516 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7517 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7518 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7522 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7523 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7524 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7528 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7529 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7530 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7534 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7535 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7536 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7540 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7541 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7542 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7546 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7547 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7548 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7552 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7553 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7554 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7558 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7559 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7560 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7564 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7565 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7566 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7570 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7571 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7572 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7576 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7577 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7578 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7582 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7583 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7584 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7588 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7589 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7590 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7594 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7595 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7596 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7600 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7601 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7602 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7606 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7607 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7608 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7612 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7613 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7614 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7618 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7619 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7620 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7624 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7625 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7626 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7630 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7631 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7632 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7636 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7637 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7638 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7642 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7643 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7644 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7648 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7649 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7650 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7654 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7655 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7656 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7660 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7661 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7662 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7666 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7667 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7668 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7672 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7673 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7674 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7678 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7679 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7680 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7684 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7685 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7686 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7690 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7691 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7692 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7696 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7697 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7698 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7702 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7703 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7704 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7708 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7709 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7710 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7714 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7715 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7716 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7720 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7721 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7722 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7726 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7727 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7728 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7733 radio_regs_t regs_2055
[] = {
7734 {0x02, 0x80, 0x80, 0, 0},
7736 {0x04, 0x27, 0x27, 0, 0},
7738 {0x06, 0x27, 0x27, 0, 0},
7739 {0x07, 0x7f, 0x7f, 1, 1},
7740 {0x08, 0x7, 0x7, 1, 1},
7741 {0x09, 0x7f, 0x7f, 1, 1},
7742 {0x0A, 0x7, 0x7, 1, 1},
7743 {0x0B, 0x15, 0x15, 0, 0},
7744 {0x0C, 0x15, 0x15, 0, 0},
7745 {0x0D, 0x4f, 0x4f, 1, 1},
7746 {0x0E, 0x5, 0x5, 1, 1},
7747 {0x0F, 0x4f, 0x4f, 1, 1},
7748 {0x10, 0x5, 0x5, 1, 1},
7749 {0x11, 0xd0, 0xd0, 0, 0},
7750 {0x12, 0x2, 0x2, 0, 0},
7752 {0x14, 0x40, 0x40, 0, 0},
7761 {0x1D, 0xc0, 0xc0, 0, 0},
7762 {0x1E, 0xff, 0xff, 0, 0},
7763 {0x1F, 0xc0, 0xc0, 0, 0},
7764 {0x20, 0xff, 0xff, 0, 0},
7765 {0x21, 0xc0, 0xc0, 0, 0},
7767 {0x23, 0x2c, 0x2c, 0, 0},
7777 {0x2D, 0xa4, 0xa4, 0, 0},
7778 {0x2E, 0x38, 0x38, 0, 0},
7780 {0x30, 0x4, 0x4, 1, 1},
7782 {0x32, 0xa, 0xa, 0, 0},
7783 {0x33, 0x87, 0x87, 0, 0},
7784 {0x34, 0x9, 0x9, 0, 0},
7785 {0x35, 0x70, 0x70, 0, 0},
7786 {0x36, 0x11, 0x11, 0, 0},
7787 {0x37, 0x18, 0x18, 1, 1},
7788 {0x38, 0x6, 0x6, 0, 0},
7789 {0x39, 0x4, 0x4, 1, 1},
7790 {0x3A, 0x6, 0x6, 0, 0},
7791 {0x3B, 0x9e, 0x9e, 0, 0},
7792 {0x3C, 0x9, 0x9, 0, 0},
7793 {0x3D, 0xc8, 0xc8, 1, 1},
7794 {0x3E, 0x88, 0x88, 0, 0},
7798 {0x42, 0x1, 0x1, 0, 0},
7799 {0x43, 0x2, 0x2, 0, 0},
7800 {0x44, 0x96, 0x96, 0, 0},
7801 {0x45, 0x3e, 0x3e, 0, 0},
7802 {0x46, 0x3e, 0x3e, 0, 0},
7803 {0x47, 0x13, 0x13, 0, 0},
7804 {0x48, 0x2, 0x2, 0, 0},
7805 {0x49, 0x15, 0x15, 0, 0},
7806 {0x4A, 0x7, 0x7, 0, 0},
7812 {0x50, 0x8, 0x8, 0, 0},
7813 {0x51, 0x8, 0x8, 0, 0},
7814 {0x52, 0x6, 0x6, 0, 0},
7815 {0x53, 0x84, 0x84, 1, 1},
7816 {0x54, 0xc3, 0xc3, 0, 0},
7817 {0x55, 0x8f, 0x8f, 0, 0},
7818 {0x56, 0xff, 0xff, 0, 0},
7819 {0x57, 0xff, 0xff, 0, 0},
7820 {0x58, 0x88, 0x88, 0, 0},
7821 {0x59, 0x88, 0x88, 0, 0},
7823 {0x5B, 0xcc, 0xcc, 0, 0},
7824 {0x5C, 0x6, 0x6, 0, 0},
7825 {0x5D, 0x80, 0x80, 0, 0},
7826 {0x5E, 0x80, 0x80, 0, 0},
7827 {0x5F, 0xf8, 0xf8, 0, 0},
7828 {0x60, 0x88, 0x88, 0, 0},
7829 {0x61, 0x88, 0x88, 0, 0},
7830 {0x62, 0x88, 0x8, 1, 1},
7831 {0x63, 0x88, 0x88, 0, 0},
7833 {0x65, 0x1, 0x1, 1, 1},
7834 {0x66, 0x8a, 0x8a, 0, 0},
7835 {0x67, 0x8, 0x8, 0, 0},
7836 {0x68, 0x83, 0x83, 0, 0},
7837 {0x69, 0x6, 0x6, 0, 0},
7838 {0x6A, 0xa0, 0xa0, 0, 0},
7839 {0x6B, 0xa, 0xa, 0, 0},
7840 {0x6C, 0x87, 0x87, 1, 1},
7841 {0x6D, 0x2a, 0x2a, 0, 0},
7842 {0x6E, 0x2a, 0x2a, 0, 0},
7843 {0x6F, 0x2a, 0x2a, 0, 0},
7844 {0x70, 0x2a, 0x2a, 0, 0},
7845 {0x71, 0x18, 0x18, 0, 0},
7846 {0x72, 0x6a, 0x6a, 1, 1},
7847 {0x73, 0xab, 0xab, 1, 1},
7848 {0x74, 0x13, 0x13, 1, 1},
7849 {0x75, 0xc1, 0xc1, 1, 1},
7850 {0x76, 0xaa, 0xaa, 1, 1},
7851 {0x77, 0x87, 0x87, 1, 1},
7853 {0x79, 0x6, 0x6, 0, 0},
7854 {0x7A, 0x7, 0x7, 0, 0},
7855 {0x7B, 0x7, 0x7, 0, 0},
7856 {0x7C, 0x15, 0x15, 0, 0},
7857 {0x7D, 0x55, 0x55, 0, 0},
7858 {0x7E, 0x97, 0x97, 1, 1},
7859 {0x7F, 0x8, 0x8, 0, 0},
7860 {0x80, 0x14, 0x14, 1, 1},
7861 {0x81, 0x33, 0x33, 0, 0},
7862 {0x82, 0x88, 0x88, 0, 0},
7863 {0x83, 0x6, 0x6, 0, 0},
7864 {0x84, 0x3, 0x3, 1, 1},
7865 {0x85, 0xa, 0xa, 0, 0},
7866 {0x86, 0x3, 0x3, 1, 1},
7867 {0x87, 0x2a, 0x2a, 0, 0},
7868 {0x88, 0xa4, 0xa4, 0, 0},
7869 {0x89, 0x18, 0x18, 0, 0},
7870 {0x8A, 0x28, 0x28, 0, 0},
7872 {0x8C, 0x4a, 0x4a, 0, 0},
7874 {0x8E, 0xf8, 0xf8, 0, 0},
7875 {0x8F, 0x88, 0x88, 0, 0},
7876 {0x90, 0x88, 0x88, 0, 0},
7877 {0x91, 0x88, 0x8, 1, 1},
7878 {0x92, 0x88, 0x88, 0, 0},
7880 {0x94, 0x1, 0x1, 1, 1},
7881 {0x95, 0x8a, 0x8a, 0, 0},
7882 {0x96, 0x8, 0x8, 0, 0},
7883 {0x97, 0x83, 0x83, 0, 0},
7884 {0x98, 0x6, 0x6, 0, 0},
7885 {0x99, 0xa0, 0xa0, 0, 0},
7886 {0x9A, 0xa, 0xa, 0, 0},
7887 {0x9B, 0x87, 0x87, 1, 1},
7888 {0x9C, 0x2a, 0x2a, 0, 0},
7889 {0x9D, 0x2a, 0x2a, 0, 0},
7890 {0x9E, 0x2a, 0x2a, 0, 0},
7891 {0x9F, 0x2a, 0x2a, 0, 0},
7892 {0xA0, 0x18, 0x18, 0, 0},
7893 {0xA1, 0x6a, 0x6a, 1, 1},
7894 {0xA2, 0xab, 0xab, 1, 1},
7895 {0xA3, 0x13, 0x13, 1, 1},
7896 {0xA4, 0xc1, 0xc1, 1, 1},
7897 {0xA5, 0xaa, 0xaa, 1, 1},
7898 {0xA6, 0x87, 0x87, 1, 1},
7900 {0xA8, 0x6, 0x6, 0, 0},
7901 {0xA9, 0x7, 0x7, 0, 0},
7902 {0xAA, 0x7, 0x7, 0, 0},
7903 {0xAB, 0x15, 0x15, 0, 0},
7904 {0xAC, 0x55, 0x55, 0, 0},
7905 {0xAD, 0x97, 0x97, 1, 1},
7906 {0xAE, 0x8, 0x8, 0, 0},
7907 {0xAF, 0x14, 0x14, 1, 1},
7908 {0xB0, 0x33, 0x33, 0, 0},
7909 {0xB1, 0x88, 0x88, 0, 0},
7910 {0xB2, 0x6, 0x6, 0, 0},
7911 {0xB3, 0x3, 0x3, 1, 1},
7912 {0xB4, 0xa, 0xa, 0, 0},
7913 {0xB5, 0x3, 0x3, 1, 1},
7914 {0xB6, 0x2a, 0x2a, 0, 0},
7915 {0xB7, 0xa4, 0xa4, 0, 0},
7916 {0xB8, 0x18, 0x18, 0, 0},
7917 {0xB9, 0x28, 0x28, 0, 0},
7919 {0xBB, 0x4a, 0x4a, 0, 0},
7921 {0xBD, 0x71, 0x71, 0, 0},
7922 {0xBE, 0x72, 0x72, 0, 0},
7923 {0xBF, 0x73, 0x73, 0, 0},
7924 {0xC0, 0x74, 0x74, 0, 0},
7925 {0xC1, 0x75, 0x75, 0, 0},
7926 {0xC2, 0x76, 0x76, 0, 0},
7927 {0xC3, 0x77, 0x77, 0, 0},
7928 {0xC4, 0x78, 0x78, 0, 0},
7929 {0xC5, 0x79, 0x79, 0, 0},
7930 {0xC6, 0x7a, 0x7a, 0, 0},
7938 {0xCE, 0x6, 0x6, 0, 0},
7941 {0xD1, 0x18, 0x18, 0, 0},
7942 {0xD2, 0x88, 0x88, 0, 0},
7950 {0xDA, 0x6, 0x6, 0, 0},
7953 {0xDD, 0x18, 0x18, 0, 0},
7954 {0xDE, 0x88, 0x88, 0, 0},
7959 {0xFFFF, 0, 0, 0, 0},
7962 radio_regs_t regs_SYN_2056
[] = {
7970 {0x09, 0x1, 0x1, 0, 0},
7995 {0x22, 0x60, 0x60, 0, 0},
7996 {0x23, 0x6, 0x6, 0, 0},
7997 {0x24, 0xc, 0xc, 0, 0},
8001 {0x28, 0x1, 0x1, 0, 0},
8007 {0x2E, 0xd, 0xd, 0, 0},
8008 {0x2F, 0x1f, 0x1f, 0, 0},
8009 {0x30, 0x15, 0x15, 0, 0},
8010 {0x31, 0xf, 0xf, 0, 0},
8021 {0x3C, 0x13, 0x13, 0, 0},
8022 {0x3D, 0xf, 0xf, 0, 0},
8023 {0x3E, 0x18, 0x18, 0, 0},
8026 {0x41, 0x20, 0x20, 0, 0},
8027 {0x42, 0x20, 0x20, 0, 0},
8029 {0x44, 0x77, 0x77, 0, 0},
8030 {0x45, 0x7, 0x7, 0, 0},
8031 {0x46, 0x1, 0x1, 0, 0},
8032 {0x47, 0x4, 0x4, 0, 0},
8033 {0x48, 0xf, 0xf, 0, 0},
8034 {0x49, 0x30, 0x30, 0, 0},
8035 {0x4A, 0x32, 0x32, 0, 0},
8036 {0x4B, 0xd, 0xd, 0, 0},
8037 {0x4C, 0xd, 0xd, 0, 0},
8038 {0x4D, 0x4, 0x4, 0, 0},
8039 {0x4E, 0x6, 0x6, 0, 0},
8040 {0x4F, 0x1, 0x1, 0, 0},
8041 {0x50, 0x1c, 0x1c, 0, 0},
8042 {0x51, 0x2, 0x2, 0, 0},
8043 {0x52, 0x2, 0x2, 0, 0},
8044 {0x53, 0xf7, 0xf7, 1, 1},
8045 {0x54, 0xb4, 0xb4, 0, 0},
8046 {0x55, 0xd2, 0xd2, 0, 0},
8049 {0x58, 0x4, 0x4, 0, 0},
8050 {0x59, 0x96, 0x96, 0, 0},
8051 {0x5A, 0x3e, 0x3e, 0, 0},
8052 {0x5B, 0x3e, 0x3e, 0, 0},
8053 {0x5C, 0x13, 0x13, 0, 0},
8054 {0x5D, 0x2, 0x2, 0, 0},
8056 {0x5F, 0x7, 0x7, 0, 0},
8057 {0x60, 0x7, 0x7, 1, 1},
8058 {0x61, 0x8, 0x8, 0, 0},
8059 {0x62, 0x3, 0x3, 0, 0},
8065 {0x68, 0x40, 0x40, 0, 0},
8070 {0x6D, 0x1, 0x1, 0, 0},
8073 {0x70, 0x60, 0x60, 0, 0},
8074 {0x71, 0x66, 0x66, 0, 0},
8075 {0x72, 0xc, 0xc, 0, 0},
8076 {0x73, 0x66, 0x66, 0, 0},
8077 {0x74, 0x8f, 0x8f, 1, 1},
8079 {0x76, 0xcc, 0xcc, 0, 0},
8080 {0x77, 0x1, 0x1, 0, 0},
8081 {0x78, 0x66, 0x66, 0, 0},
8082 {0x79, 0x66, 0x66, 0, 0},
8094 {0x85, 0xff, 0xff, 0, 0},
8120 {0x9F, 0x6, 0x6, 0, 0},
8121 {0xA0, 0x66, 0x66, 0, 0},
8122 {0xA1, 0x66, 0x66, 0, 0},
8123 {0xA2, 0x66, 0x66, 0, 0},
8124 {0xA3, 0x66, 0x66, 0, 0},
8125 {0xA4, 0x66, 0x66, 0, 0},
8126 {0xA5, 0x66, 0x66, 0, 0},
8127 {0xA6, 0x66, 0x66, 0, 0},
8128 {0xA7, 0x66, 0x66, 0, 0},
8129 {0xA8, 0x66, 0x66, 0, 0},
8130 {0xA9, 0x66, 0x66, 0, 0},
8131 {0xAA, 0x66, 0x66, 0, 0},
8132 {0xAB, 0x66, 0x66, 0, 0},
8133 {0xAC, 0x66, 0x66, 0, 0},
8134 {0xAD, 0x66, 0x66, 0, 0},
8135 {0xAE, 0x66, 0x66, 0, 0},
8136 {0xAF, 0x66, 0x66, 0, 0},
8137 {0xB0, 0x66, 0x66, 0, 0},
8138 {0xB1, 0x66, 0x66, 0, 0},
8139 {0xB2, 0x66, 0x66, 0, 0},
8140 {0xB3, 0xa, 0xa, 0, 0},
8144 {0xFFFF, 0, 0, 0, 0}
8147 radio_regs_t regs_TX_2056
[] = {
8179 {0x21, 0x88, 0x88, 0, 0},
8180 {0x22, 0x88, 0x88, 0, 0},
8181 {0x23, 0x88, 0x88, 0, 0},
8182 {0x24, 0x88, 0x88, 0, 0},
8183 {0x25, 0xc, 0xc, 0, 0},
8185 {0x27, 0x3, 0x3, 0, 0},
8187 {0x29, 0x3, 0x3, 0, 0},
8188 {0x2A, 0x37, 0x37, 0, 0},
8189 {0x2B, 0x3, 0x3, 0, 0},
8192 {0x2E, 0x1, 0x1, 0, 0},
8193 {0x2F, 0x1, 0x1, 0, 0},
8197 {0x33, 0x11, 0x11, 0, 0},
8198 {0x34, 0x11, 0x11, 0, 0},
8201 {0x37, 0x3, 0x3, 0, 0},
8202 {0x38, 0xf, 0xf, 0, 0},
8204 {0x3A, 0x2d, 0x2d, 0, 0},
8206 {0x3C, 0x6e, 0x6e, 0, 0},
8207 {0x3D, 0xf0, 0xf0, 1, 1},
8211 {0x41, 0x3, 0x3, 0, 0},
8212 {0x42, 0x3, 0x3, 0, 0},
8214 {0x44, 0x1e, 0x1e, 0, 0},
8216 {0x46, 0x6e, 0x6e, 0, 0},
8217 {0x47, 0xf0, 0xf0, 1, 1},
8219 {0x49, 0x2, 0x2, 0, 0},
8220 {0x4A, 0xff, 0xff, 1, 1},
8221 {0x4B, 0xc, 0xc, 0, 0},
8223 {0x4D, 0x38, 0x38, 0, 0},
8224 {0x4E, 0x70, 0x70, 1, 1},
8225 {0x4F, 0x2, 0x2, 0, 0},
8226 {0x50, 0x88, 0x88, 0, 0},
8227 {0x51, 0xc, 0xc, 0, 0},
8229 {0x53, 0x8, 0x8, 0, 0},
8230 {0x54, 0x70, 0x70, 1, 1},
8231 {0x55, 0x2, 0x2, 0, 0},
8232 {0x56, 0xff, 0xff, 1, 1},
8234 {0x58, 0x83, 0x83, 0, 0},
8235 {0x59, 0x77, 0x77, 1, 1},
8237 {0x5B, 0x2, 0x2, 0, 0},
8238 {0x5C, 0x88, 0x88, 0, 0},
8240 {0x5E, 0x8, 0x8, 0, 0},
8241 {0x5F, 0x77, 0x77, 1, 1},
8242 {0x60, 0x1, 0x1, 0, 0},
8244 {0x62, 0x7, 0x7, 0, 0},
8246 {0x64, 0x7, 0x7, 0, 0},
8249 {0x67, 0x74, 0x74, 1, 1},
8251 {0x69, 0xa, 0xa, 0, 0},
8259 {0x71, 0x2, 0x2, 0, 0},
8262 {0x74, 0xe, 0xe, 0, 0},
8263 {0x75, 0xe, 0xe, 0, 0},
8264 {0x76, 0xe, 0xe, 0, 0},
8265 {0x77, 0x13, 0x13, 0, 0},
8266 {0x78, 0x13, 0x13, 0, 0},
8267 {0x79, 0x1b, 0x1b, 0, 0},
8268 {0x7A, 0x1b, 0x1b, 0, 0},
8269 {0x7B, 0x55, 0x55, 0, 0},
8270 {0x7C, 0x5b, 0x5b, 0, 0},
8293 {0xFFFF, 0, 0, 0, 0}
8296 radio_regs_t regs_RX_2056
[] = {
8327 {0x20, 0x3, 0x3, 0, 0},
8330 {0x23, 0x90, 0x90, 0, 0},
8331 {0x24, 0x55, 0x55, 0, 0},
8332 {0x25, 0x15, 0x15, 0, 0},
8333 {0x26, 0x5, 0x5, 0, 0},
8334 {0x27, 0x15, 0x15, 0, 0},
8335 {0x28, 0x5, 0x5, 0, 0},
8336 {0x29, 0x20, 0x20, 0, 0},
8337 {0x2A, 0x11, 0x11, 0, 0},
8338 {0x2B, 0x90, 0x90, 0, 0},
8340 {0x2D, 0x88, 0x88, 0, 0},
8341 {0x2E, 0x32, 0x32, 0, 0},
8342 {0x2F, 0x77, 0x77, 0, 0},
8343 {0x30, 0x17, 0x17, 1, 1},
8344 {0x31, 0xff, 0xff, 1, 1},
8345 {0x32, 0x20, 0x20, 0, 0},
8347 {0x34, 0x88, 0x88, 0, 0},
8348 {0x35, 0x32, 0x32, 0, 0},
8349 {0x36, 0x77, 0x77, 0, 0},
8350 {0x37, 0x17, 0x17, 1, 1},
8351 {0x38, 0xf0, 0xf0, 1, 1},
8352 {0x39, 0x20, 0x20, 0, 0},
8353 {0x3A, 0x8, 0x8, 0, 0},
8354 {0x3B, 0x99, 0x99, 0, 0},
8356 {0x3D, 0x44, 0x44, 1, 1},
8358 {0x3F, 0x44, 0x44, 0, 0},
8359 {0x40, 0xf, 0xf, 1, 1},
8360 {0x41, 0x6, 0x6, 0, 0},
8361 {0x42, 0x4, 0x4, 0, 0},
8362 {0x43, 0x50, 0x50, 1, 1},
8363 {0x44, 0x8, 0x8, 0, 0},
8364 {0x45, 0x99, 0x99, 0, 0},
8366 {0x47, 0x11, 0x11, 0, 0},
8368 {0x49, 0x44, 0x44, 0, 0},
8369 {0x4A, 0x7, 0x7, 0, 0},
8370 {0x4B, 0x6, 0x6, 0, 0},
8371 {0x4C, 0x4, 0x4, 0, 0},
8374 {0x4F, 0x66, 0x66, 0, 0},
8375 {0x50, 0x66, 0x66, 0, 0},
8376 {0x51, 0x57, 0x57, 0, 0},
8377 {0x52, 0x57, 0x57, 0, 0},
8378 {0x53, 0x44, 0x44, 0, 0},
8381 {0x56, 0x8, 0x8, 0, 0},
8382 {0x57, 0x8, 0x8, 0, 0},
8383 {0x58, 0x7, 0x7, 0, 0},
8384 {0x59, 0x22, 0x22, 0, 0},
8385 {0x5A, 0x22, 0x22, 0, 0},
8386 {0x5B, 0x2, 0x2, 0, 0},
8387 {0x5C, 0x23, 0x23, 0, 0},
8388 {0x5D, 0x7, 0x7, 0, 0},
8389 {0x5E, 0x55, 0x55, 0, 0},
8390 {0x5F, 0x23, 0x23, 0, 0},
8391 {0x60, 0x41, 0x41, 0, 0},
8392 {0x61, 0x1, 0x1, 0, 0},
8393 {0x62, 0xa, 0xa, 0, 0},
8402 {0x6B, 0xc, 0xc, 0, 0},
8409 {0x72, 0x22, 0x22, 0, 0},
8410 {0x73, 0x22, 0x22, 0, 0},
8411 {0x74, 0x2, 0x2, 0, 0},
8412 {0x75, 0xa, 0xa, 0, 0},
8413 {0x76, 0x1, 0x1, 0, 0},
8414 {0x77, 0x22, 0x22, 0, 0},
8415 {0x78, 0x30, 0x30, 0, 0},
8444 {0xFFFF, 0, 0, 0, 0}
8447 radio_regs_t regs_SYN_2056_A1
[] = {
8455 {0x09, 0x1, 0x1, 0, 0},
8480 {0x22, 0x60, 0x60, 0, 0},
8481 {0x23, 0x6, 0x6, 0, 0},
8482 {0x24, 0xc, 0xc, 0, 0},
8486 {0x28, 0x1, 0x1, 0, 0},
8492 {0x2E, 0xd, 0xd, 0, 0},
8493 {0x2F, 0x1f, 0x1f, 0, 0},
8494 {0x30, 0x15, 0x15, 0, 0},
8495 {0x31, 0xf, 0xf, 0, 0},
8506 {0x3C, 0x13, 0x13, 0, 0},
8507 {0x3D, 0xf, 0xf, 0, 0},
8508 {0x3E, 0x18, 0x18, 0, 0},
8511 {0x41, 0x20, 0x20, 0, 0},
8512 {0x42, 0x20, 0x20, 0, 0},
8514 {0x44, 0x77, 0x77, 0, 0},
8515 {0x45, 0x7, 0x7, 0, 0},
8516 {0x46, 0x1, 0x1, 0, 0},
8517 {0x47, 0x4, 0x4, 0, 0},
8518 {0x48, 0xf, 0xf, 0, 0},
8519 {0x49, 0x30, 0x30, 0, 0},
8520 {0x4A, 0x32, 0x32, 0, 0},
8521 {0x4B, 0xd, 0xd, 0, 0},
8522 {0x4C, 0xd, 0xd, 0, 0},
8523 {0x4D, 0x4, 0x4, 0, 0},
8524 {0x4E, 0x6, 0x6, 0, 0},
8525 {0x4F, 0x1, 0x1, 0, 0},
8526 {0x50, 0x1c, 0x1c, 0, 0},
8527 {0x51, 0x2, 0x2, 0, 0},
8528 {0x52, 0x2, 0x2, 0, 0},
8529 {0x53, 0xf7, 0xf7, 1, 1},
8530 {0x54, 0xb4, 0xb4, 0, 0},
8531 {0x55, 0xd2, 0xd2, 0, 0},
8534 {0x58, 0x4, 0x4, 0, 0},
8535 {0x59, 0x96, 0x96, 0, 0},
8536 {0x5A, 0x3e, 0x3e, 0, 0},
8537 {0x5B, 0x3e, 0x3e, 0, 0},
8538 {0x5C, 0x13, 0x13, 0, 0},
8539 {0x5D, 0x2, 0x2, 0, 0},
8541 {0x5F, 0x7, 0x7, 0, 0},
8542 {0x60, 0x7, 0x7, 1, 1},
8543 {0x61, 0x8, 0x8, 0, 0},
8544 {0x62, 0x3, 0x3, 0, 0},
8550 {0x68, 0x40, 0x40, 0, 0},
8555 {0x6D, 0x1, 0x1, 0, 0},
8558 {0x70, 0x60, 0x60, 0, 0},
8559 {0x71, 0x66, 0x66, 0, 0},
8560 {0x72, 0xc, 0xc, 0, 0},
8561 {0x73, 0x66, 0x66, 0, 0},
8562 {0x74, 0x8f, 0x8f, 1, 1},
8564 {0x76, 0xcc, 0xcc, 0, 0},
8565 {0x77, 0x1, 0x1, 0, 0},
8566 {0x78, 0x66, 0x66, 0, 0},
8567 {0x79, 0x66, 0x66, 0, 0},
8579 {0x85, 0xff, 0xff, 0, 0},
8605 {0x9F, 0x6, 0x6, 0, 0},
8606 {0xA0, 0x66, 0x66, 0, 0},
8607 {0xA1, 0x66, 0x66, 0, 0},
8608 {0xA2, 0x66, 0x66, 0, 0},
8609 {0xA3, 0x66, 0x66, 0, 0},
8610 {0xA4, 0x66, 0x66, 0, 0},
8611 {0xA5, 0x66, 0x66, 0, 0},
8612 {0xA6, 0x66, 0x66, 0, 0},
8613 {0xA7, 0x66, 0x66, 0, 0},
8614 {0xA8, 0x66, 0x66, 0, 0},
8615 {0xA9, 0x66, 0x66, 0, 0},
8616 {0xAA, 0x66, 0x66, 0, 0},
8617 {0xAB, 0x66, 0x66, 0, 0},
8618 {0xAC, 0x66, 0x66, 0, 0},
8619 {0xAD, 0x66, 0x66, 0, 0},
8620 {0xAE, 0x66, 0x66, 0, 0},
8621 {0xAF, 0x66, 0x66, 0, 0},
8622 {0xB0, 0x66, 0x66, 0, 0},
8623 {0xB1, 0x66, 0x66, 0, 0},
8624 {0xB2, 0x66, 0x66, 0, 0},
8625 {0xB3, 0xa, 0xa, 0, 0},
8629 {0xFFFF, 0, 0, 0, 0}
8632 radio_regs_t regs_TX_2056_A1
[] = {
8664 {0x21, 0x88, 0x88, 0, 0},
8665 {0x22, 0x88, 0x88, 0, 0},
8666 {0x23, 0x88, 0x88, 0, 0},
8667 {0x24, 0x88, 0x88, 0, 0},
8668 {0x25, 0xc, 0xc, 0, 0},
8670 {0x27, 0x3, 0x3, 0, 0},
8672 {0x29, 0x3, 0x3, 0, 0},
8673 {0x2A, 0x37, 0x37, 0, 0},
8674 {0x2B, 0x3, 0x3, 0, 0},
8677 {0x2E, 0x1, 0x1, 0, 0},
8678 {0x2F, 0x1, 0x1, 0, 0},
8682 {0x33, 0x11, 0x11, 0, 0},
8683 {0x34, 0x11, 0x11, 0, 0},
8686 {0x37, 0x3, 0x3, 0, 0},
8687 {0x38, 0xf, 0xf, 0, 0},
8689 {0x3A, 0x2d, 0x2d, 0, 0},
8691 {0x3C, 0x6e, 0x6e, 0, 0},
8692 {0x3D, 0xf0, 0xf0, 1, 1},
8696 {0x41, 0x3, 0x3, 0, 0},
8697 {0x42, 0x3, 0x3, 0, 0},
8699 {0x44, 0x1e, 0x1e, 0, 0},
8701 {0x46, 0x6e, 0x6e, 0, 0},
8702 {0x47, 0xf0, 0xf0, 1, 1},
8704 {0x49, 0x2, 0x2, 0, 0},
8705 {0x4A, 0xff, 0xff, 1, 1},
8706 {0x4B, 0xc, 0xc, 0, 0},
8708 {0x4D, 0x38, 0x38, 0, 0},
8709 {0x4E, 0x70, 0x70, 1, 1},
8710 {0x4F, 0x2, 0x2, 0, 0},
8711 {0x50, 0x88, 0x88, 0, 0},
8712 {0x51, 0xc, 0xc, 0, 0},
8714 {0x53, 0x8, 0x8, 0, 0},
8715 {0x54, 0x70, 0x70, 1, 1},
8716 {0x55, 0x2, 0x2, 0, 0},
8717 {0x56, 0xff, 0xff, 1, 1},
8719 {0x58, 0x83, 0x83, 0, 0},
8720 {0x59, 0x77, 0x77, 1, 1},
8722 {0x5B, 0x2, 0x2, 0, 0},
8723 {0x5C, 0x88, 0x88, 0, 0},
8725 {0x5E, 0x8, 0x8, 0, 0},
8726 {0x5F, 0x77, 0x77, 1, 1},
8727 {0x60, 0x1, 0x1, 0, 0},
8729 {0x62, 0x7, 0x7, 0, 0},
8731 {0x64, 0x7, 0x7, 0, 0},
8734 {0x67, 0x72, 0x72, 1, 1},
8736 {0x69, 0xa, 0xa, 0, 0},
8744 {0x71, 0x2, 0x2, 0, 0},
8747 {0x74, 0xe, 0xe, 0, 0},
8748 {0x75, 0xe, 0xe, 0, 0},
8749 {0x76, 0xe, 0xe, 0, 0},
8750 {0x77, 0x13, 0x13, 0, 0},
8751 {0x78, 0x13, 0x13, 0, 0},
8752 {0x79, 0x1b, 0x1b, 0, 0},
8753 {0x7A, 0x1b, 0x1b, 0, 0},
8754 {0x7B, 0x55, 0x55, 0, 0},
8755 {0x7C, 0x5b, 0x5b, 0, 0},
8778 {0xFFFF, 0, 0, 0, 0}
8781 radio_regs_t regs_RX_2056_A1
[] = {
8812 {0x20, 0x3, 0x3, 0, 0},
8815 {0x23, 0x90, 0x90, 0, 0},
8816 {0x24, 0x55, 0x55, 0, 0},
8817 {0x25, 0x15, 0x15, 0, 0},
8818 {0x26, 0x5, 0x5, 0, 0},
8819 {0x27, 0x15, 0x15, 0, 0},
8820 {0x28, 0x5, 0x5, 0, 0},
8821 {0x29, 0x20, 0x20, 0, 0},
8822 {0x2A, 0x11, 0x11, 0, 0},
8823 {0x2B, 0x90, 0x90, 0, 0},
8825 {0x2D, 0x88, 0x88, 0, 0},
8826 {0x2E, 0x32, 0x32, 0, 0},
8827 {0x2F, 0x77, 0x77, 0, 0},
8828 {0x30, 0x17, 0x17, 1, 1},
8829 {0x31, 0xff, 0xff, 1, 1},
8830 {0x32, 0x20, 0x20, 0, 0},
8832 {0x34, 0x88, 0x88, 0, 0},
8833 {0x35, 0x32, 0x32, 0, 0},
8834 {0x36, 0x77, 0x77, 0, 0},
8835 {0x37, 0x17, 0x17, 1, 1},
8836 {0x38, 0xf0, 0xf0, 1, 1},
8837 {0x39, 0x20, 0x20, 0, 0},
8838 {0x3A, 0x8, 0x8, 0, 0},
8839 {0x3B, 0x55, 0x55, 1, 1},
8841 {0x3D, 0x44, 0x44, 1, 1},
8843 {0x3F, 0x44, 0x44, 0, 0},
8844 {0x40, 0xf, 0xf, 1, 1},
8845 {0x41, 0x6, 0x6, 0, 0},
8846 {0x42, 0x4, 0x4, 0, 0},
8847 {0x43, 0x50, 0x50, 1, 1},
8848 {0x44, 0x8, 0x8, 0, 0},
8849 {0x45, 0x55, 0x55, 1, 1},
8851 {0x47, 0x11, 0x11, 0, 0},
8853 {0x49, 0x44, 0x44, 0, 0},
8854 {0x4A, 0x7, 0x7, 0, 0},
8855 {0x4B, 0x6, 0x6, 0, 0},
8856 {0x4C, 0x4, 0x4, 0, 0},
8859 {0x4F, 0x26, 0x26, 1, 1},
8860 {0x50, 0x26, 0x26, 1, 1},
8861 {0x51, 0xf, 0xf, 1, 1},
8862 {0x52, 0xf, 0xf, 1, 1},
8863 {0x53, 0x44, 0x44, 0, 0},
8866 {0x56, 0x8, 0x8, 0, 0},
8867 {0x57, 0x8, 0x8, 0, 0},
8868 {0x58, 0x7, 0x7, 0, 0},
8869 {0x59, 0x22, 0x22, 0, 0},
8870 {0x5A, 0x22, 0x22, 0, 0},
8871 {0x5B, 0x2, 0x2, 0, 0},
8872 {0x5C, 0x2f, 0x2f, 1, 1},
8873 {0x5D, 0x7, 0x7, 0, 0},
8874 {0x5E, 0x55, 0x55, 0, 0},
8875 {0x5F, 0x23, 0x23, 0, 0},
8876 {0x60, 0x41, 0x41, 0, 0},
8877 {0x61, 0x1, 0x1, 0, 0},
8878 {0x62, 0xa, 0xa, 0, 0},
8887 {0x6B, 0xc, 0xc, 0, 0},
8894 {0x72, 0x22, 0x22, 0, 0},
8895 {0x73, 0x22, 0x22, 0, 0},
8897 {0x75, 0xa, 0xa, 0, 0},
8898 {0x76, 0x1, 0x1, 0, 0},
8899 {0x77, 0x22, 0x22, 0, 0},
8900 {0x78, 0x30, 0x30, 0, 0},
8929 {0xFFFF, 0, 0, 0, 0}
8932 radio_regs_t regs_SYN_2056_rev5
[] = {
8940 {0x09, 0x1, 0x1, 0, 0},
8965 {0x22, 0x60, 0x60, 0, 0},
8966 {0x23, 0x6, 0x6, 0, 0},
8967 {0x24, 0xc, 0xc, 0, 0},
8971 {0x28, 0x1, 0x1, 0, 0},
8978 {0x2F, 0x1f, 0x1f, 0, 0},
8979 {0x30, 0x15, 0x15, 0, 0},
8980 {0x31, 0xf, 0xf, 0, 0},
8991 {0x3C, 0x13, 0x13, 0, 0},
8992 {0x3D, 0xf, 0xf, 0, 0},
8993 {0x3E, 0x18, 0x18, 0, 0},
8996 {0x41, 0x20, 0x20, 0, 0},
8997 {0x42, 0x20, 0x20, 0, 0},
8999 {0x44, 0x77, 0x77, 0, 0},
9000 {0x45, 0x7, 0x7, 0, 0},
9001 {0x46, 0x1, 0x1, 0, 0},
9002 {0x47, 0x4, 0x4, 0, 0},
9003 {0x48, 0xf, 0xf, 0, 0},
9004 {0x49, 0x30, 0x30, 0, 0},
9005 {0x4A, 0x32, 0x32, 0, 0},
9006 {0x4B, 0xd, 0xd, 0, 0},
9007 {0x4C, 0xd, 0xd, 0, 0},
9008 {0x4D, 0x4, 0x4, 0, 0},
9009 {0x4E, 0x6, 0x6, 0, 0},
9010 {0x4F, 0x1, 0x1, 0, 0},
9011 {0x50, 0x1c, 0x1c, 0, 0},
9012 {0x51, 0x2, 0x2, 0, 0},
9013 {0x52, 0x2, 0x2, 0, 0},
9014 {0x53, 0xf7, 0xf7, 1, 1},
9015 {0x54, 0xb4, 0xb4, 0, 0},
9016 {0x55, 0xd2, 0xd2, 0, 0},
9019 {0x58, 0x4, 0x4, 0, 0},
9020 {0x59, 0x96, 0x96, 0, 0},
9021 {0x5A, 0x3e, 0x3e, 0, 0},
9022 {0x5B, 0x3e, 0x3e, 0, 0},
9023 {0x5C, 0x13, 0x13, 0, 0},
9024 {0x5D, 0x2, 0x2, 0, 0},
9026 {0x5F, 0x7, 0x7, 0, 0},
9027 {0x60, 0x7, 0x7, 1, 1},
9028 {0x61, 0x8, 0x8, 0, 0},
9029 {0x62, 0x3, 0x3, 0, 0},
9035 {0x68, 0x40, 0x40, 0, 0},
9040 {0x6D, 0x1, 0x1, 0, 0},
9043 {0x70, 0x60, 0x60, 0, 0},
9044 {0x71, 0x66, 0x66, 0, 0},
9045 {0x72, 0xc, 0xc, 0, 0},
9046 {0x73, 0x66, 0x66, 0, 0},
9047 {0x74, 0x8f, 0x8f, 1, 1},
9049 {0x76, 0xcc, 0xcc, 0, 0},
9050 {0x77, 0x1, 0x1, 0, 0},
9051 {0x78, 0x66, 0x66, 0, 0},
9052 {0x79, 0x66, 0x66, 0, 0},
9064 {0x85, 0xff, 0xff, 0, 0},
9090 {0x9F, 0x6, 0x6, 0, 0},
9091 {0xA0, 0x66, 0x66, 0, 0},
9092 {0xA1, 0x66, 0x66, 0, 0},
9093 {0xA2, 0x66, 0x66, 0, 0},
9094 {0xA3, 0x66, 0x66, 0, 0},
9095 {0xA4, 0x66, 0x66, 0, 0},
9096 {0xA5, 0x66, 0x66, 0, 0},
9097 {0xA6, 0x66, 0x66, 0, 0},
9098 {0xA7, 0x66, 0x66, 0, 0},
9099 {0xA8, 0x66, 0x66, 0, 0},
9100 {0xA9, 0x66, 0x66, 0, 0},
9101 {0xAA, 0x66, 0x66, 0, 0},
9102 {0xAB, 0x66, 0x66, 0, 0},
9103 {0xAC, 0x66, 0x66, 0, 0},
9104 {0xAD, 0x66, 0x66, 0, 0},
9105 {0xAE, 0x66, 0x66, 0, 0},
9106 {0xAF, 0x66, 0x66, 0, 0},
9107 {0xB0, 0x66, 0x66, 0, 0},
9108 {0xB1, 0x66, 0x66, 0, 0},
9109 {0xB2, 0x66, 0x66, 0, 0},
9110 {0xB3, 0xa, 0xa, 0, 0},
9114 {0xFFFF, 0, 0, 0, 0}
9117 radio_regs_t regs_TX_2056_rev5
[] = {
9149 {0x21, 0x88, 0x88, 0, 0},
9150 {0x22, 0x88, 0x88, 0, 0},
9151 {0x23, 0x88, 0x88, 0, 0},
9152 {0x24, 0x88, 0x88, 0, 0},
9153 {0x25, 0xc, 0xc, 0, 0},
9155 {0x27, 0x3, 0x3, 0, 0},
9157 {0x29, 0x3, 0x3, 0, 0},
9158 {0x2A, 0x37, 0x37, 0, 0},
9159 {0x2B, 0x3, 0x3, 0, 0},
9162 {0x2E, 0x1, 0x1, 0, 0},
9163 {0x2F, 0x1, 0x1, 0, 0},
9167 {0x33, 0x11, 0x11, 0, 0},
9168 {0x34, 0x11, 0x11, 0, 0},
9171 {0x37, 0x3, 0x3, 0, 0},
9172 {0x38, 0xf, 0xf, 0, 0},
9174 {0x3A, 0x2d, 0x2d, 0, 0},
9176 {0x3C, 0x6e, 0x6e, 0, 0},
9177 {0x3D, 0xf0, 0xf0, 1, 1},
9181 {0x41, 0x3, 0x3, 0, 0},
9182 {0x42, 0x3, 0x3, 0, 0},
9184 {0x44, 0x1e, 0x1e, 0, 0},
9186 {0x46, 0x6e, 0x6e, 0, 0},
9187 {0x47, 0xf0, 0xf0, 1, 1},
9189 {0x49, 0x2, 0x2, 0, 0},
9190 {0x4A, 0xff, 0xff, 1, 1},
9191 {0x4B, 0xc, 0xc, 0, 0},
9193 {0x4D, 0x38, 0x38, 0, 0},
9194 {0x4E, 0x70, 0x70, 1, 1},
9195 {0x4F, 0x2, 0x2, 0, 0},
9196 {0x50, 0x88, 0x88, 0, 0},
9197 {0x51, 0xc, 0xc, 0, 0},
9199 {0x53, 0x8, 0x8, 0, 0},
9200 {0x54, 0x70, 0x70, 1, 1},
9201 {0x55, 0x2, 0x2, 0, 0},
9202 {0x56, 0xff, 0xff, 1, 1},
9204 {0x58, 0x83, 0x83, 0, 0},
9205 {0x59, 0x77, 0x77, 1, 1},
9207 {0x5B, 0x2, 0x2, 0, 0},
9208 {0x5C, 0x88, 0x88, 0, 0},
9210 {0x5E, 0x8, 0x8, 0, 0},
9211 {0x5F, 0x77, 0x77, 1, 1},
9212 {0x60, 0x1, 0x1, 0, 0},
9214 {0x62, 0x7, 0x7, 0, 0},
9216 {0x64, 0x7, 0x7, 0, 0},
9221 {0x69, 0xa, 0xa, 0, 0},
9229 {0x71, 0x2, 0x2, 0, 0},
9232 {0x74, 0xe, 0xe, 0, 0},
9233 {0x75, 0xe, 0xe, 0, 0},
9234 {0x76, 0xe, 0xe, 0, 0},
9235 {0x77, 0x13, 0x13, 0, 0},
9236 {0x78, 0x13, 0x13, 0, 0},
9237 {0x79, 0x1b, 0x1b, 0, 0},
9238 {0x7A, 0x1b, 0x1b, 0, 0},
9239 {0x7B, 0x55, 0x55, 0, 0},
9240 {0x7C, 0x5b, 0x5b, 0, 0},
9263 {0x93, 0x70, 0x70, 0, 0},
9264 {0x94, 0x70, 0x70, 0, 0},
9265 {0x95, 0x71, 0x71, 1, 1},
9266 {0x96, 0x71, 0x71, 1, 1},
9267 {0x97, 0x72, 0x72, 1, 1},
9268 {0x98, 0x73, 0x73, 1, 1},
9269 {0x99, 0x74, 0x74, 1, 1},
9270 {0x9A, 0x75, 0x75, 1, 1},
9271 {0xFFFF, 0, 0, 0, 0}
9274 radio_regs_t regs_RX_2056_rev5
[] = {
9305 {0x20, 0x3, 0x3, 0, 0},
9308 {0x23, 0x90, 0x90, 0, 0},
9309 {0x24, 0x55, 0x55, 0, 0},
9310 {0x25, 0x15, 0x15, 0, 0},
9311 {0x26, 0x5, 0x5, 0, 0},
9312 {0x27, 0x15, 0x15, 0, 0},
9313 {0x28, 0x5, 0x5, 0, 0},
9314 {0x29, 0x20, 0x20, 0, 0},
9315 {0x2A, 0x11, 0x11, 0, 0},
9316 {0x2B, 0x90, 0x90, 0, 0},
9318 {0x2D, 0x88, 0x88, 0, 0},
9319 {0x2E, 0x32, 0x32, 0, 0},
9320 {0x2F, 0x77, 0x77, 0, 0},
9321 {0x30, 0x17, 0x17, 1, 1},
9322 {0x31, 0xff, 0xff, 1, 1},
9323 {0x32, 0x20, 0x20, 0, 0},
9325 {0x34, 0x88, 0x88, 0, 0},
9326 {0x35, 0x32, 0x32, 0, 0},
9327 {0x36, 0x77, 0x77, 0, 0},
9328 {0x37, 0x17, 0x17, 1, 1},
9329 {0x38, 0xf0, 0xf0, 1, 1},
9330 {0x39, 0x20, 0x20, 0, 0},
9331 {0x3A, 0x8, 0x8, 0, 0},
9332 {0x3B, 0x55, 0x55, 1, 1},
9334 {0x3D, 0x88, 0x88, 1, 1},
9337 {0x40, 0x7, 0x7, 1, 1},
9338 {0x41, 0x6, 0x6, 0, 0},
9339 {0x42, 0x4, 0x4, 0, 0},
9341 {0x44, 0x8, 0x8, 0, 0},
9342 {0x45, 0x55, 0x55, 1, 1},
9344 {0x47, 0x11, 0x11, 0, 0},
9347 {0x4A, 0x7, 0x7, 0, 0},
9348 {0x4B, 0x6, 0x6, 0, 0},
9349 {0x4C, 0x4, 0x4, 0, 0},
9352 {0x4F, 0x26, 0x26, 1, 1},
9353 {0x50, 0x26, 0x26, 1, 1},
9354 {0x51, 0xf, 0xf, 1, 1},
9355 {0x52, 0xf, 0xf, 1, 1},
9356 {0x53, 0x44, 0x44, 0, 0},
9359 {0x56, 0x8, 0x8, 0, 0},
9360 {0x57, 0x8, 0x8, 0, 0},
9361 {0x58, 0x7, 0x7, 0, 0},
9362 {0x59, 0x22, 0x22, 0, 0},
9363 {0x5A, 0x22, 0x22, 0, 0},
9364 {0x5B, 0x2, 0x2, 0, 0},
9365 {0x5C, 0x4, 0x4, 1, 1},
9366 {0x5D, 0x7, 0x7, 0, 0},
9367 {0x5E, 0x55, 0x55, 0, 0},
9368 {0x5F, 0x23, 0x23, 0, 0},
9369 {0x60, 0x41, 0x41, 0, 0},
9370 {0x61, 0x1, 0x1, 0, 0},
9371 {0x62, 0xa, 0xa, 0, 0},
9380 {0x6B, 0xc, 0xc, 0, 0},
9387 {0x72, 0x22, 0x22, 0, 0},
9388 {0x73, 0x22, 0x22, 0, 0},
9390 {0x75, 0xa, 0xa, 0, 0},
9391 {0x76, 0x1, 0x1, 0, 0},
9392 {0x77, 0x22, 0x22, 0, 0},
9393 {0x78, 0x30, 0x30, 0, 0},
9422 {0xFFFF, 0, 0, 0, 0}
9425 radio_regs_t regs_SYN_2056_rev6
[] = {
9433 {0x09, 0x1, 0x1, 0, 0},
9458 {0x22, 0x60, 0x60, 0, 0},
9459 {0x23, 0x6, 0x6, 0, 0},
9460 {0x24, 0xc, 0xc, 0, 0},
9464 {0x28, 0x1, 0x1, 0, 0},
9471 {0x2F, 0x1f, 0x1f, 0, 0},
9472 {0x30, 0x15, 0x15, 0, 0},
9473 {0x31, 0xf, 0xf, 0, 0},
9484 {0x3C, 0x13, 0x13, 0, 0},
9485 {0x3D, 0xf, 0xf, 0, 0},
9486 {0x3E, 0x18, 0x18, 0, 0},
9489 {0x41, 0x20, 0x20, 0, 0},
9490 {0x42, 0x20, 0x20, 0, 0},
9492 {0x44, 0x77, 0x77, 0, 0},
9493 {0x45, 0x7, 0x7, 0, 0},
9494 {0x46, 0x1, 0x1, 0, 0},
9495 {0x47, 0x4, 0x4, 0, 0},
9496 {0x48, 0xf, 0xf, 0, 0},
9497 {0x49, 0x30, 0x30, 0, 0},
9498 {0x4A, 0x32, 0x32, 0, 0},
9499 {0x4B, 0xd, 0xd, 0, 0},
9500 {0x4C, 0xd, 0xd, 0, 0},
9501 {0x4D, 0x4, 0x4, 0, 0},
9502 {0x4E, 0x6, 0x6, 0, 0},
9503 {0x4F, 0x1, 0x1, 0, 0},
9504 {0x50, 0x1c, 0x1c, 0, 0},
9505 {0x51, 0x2, 0x2, 0, 0},
9506 {0x52, 0x2, 0x2, 0, 0},
9507 {0x53, 0xf7, 0xf7, 1, 1},
9508 {0x54, 0xb4, 0xb4, 0, 0},
9509 {0x55, 0xd2, 0xd2, 0, 0},
9512 {0x58, 0x4, 0x4, 0, 0},
9513 {0x59, 0x96, 0x96, 0, 0},
9514 {0x5A, 0x3e, 0x3e, 0, 0},
9515 {0x5B, 0x3e, 0x3e, 0, 0},
9516 {0x5C, 0x13, 0x13, 0, 0},
9517 {0x5D, 0x2, 0x2, 0, 0},
9519 {0x5F, 0x7, 0x7, 0, 0},
9520 {0x60, 0x7, 0x7, 1, 1},
9521 {0x61, 0x8, 0x8, 0, 0},
9522 {0x62, 0x3, 0x3, 0, 0},
9528 {0x68, 0x40, 0x40, 0, 0},
9533 {0x6D, 0x1, 0x1, 0, 0},
9536 {0x70, 0x60, 0x60, 0, 0},
9537 {0x71, 0x66, 0x66, 0, 0},
9538 {0x72, 0xc, 0xc, 0, 0},
9539 {0x73, 0x66, 0x66, 0, 0},
9540 {0x74, 0x8f, 0x8f, 1, 1},
9542 {0x76, 0xcc, 0xcc, 0, 0},
9543 {0x77, 0x1, 0x1, 0, 0},
9544 {0x78, 0x66, 0x66, 0, 0},
9545 {0x79, 0x66, 0x66, 0, 0},
9557 {0x85, 0xff, 0xff, 0, 0},
9583 {0x9F, 0x6, 0x6, 0, 0},
9584 {0xA0, 0x66, 0x66, 0, 0},
9585 {0xA1, 0x66, 0x66, 0, 0},
9586 {0xA2, 0x66, 0x66, 0, 0},
9587 {0xA3, 0x66, 0x66, 0, 0},
9588 {0xA4, 0x66, 0x66, 0, 0},
9589 {0xA5, 0x66, 0x66, 0, 0},
9590 {0xA6, 0x66, 0x66, 0, 0},
9591 {0xA7, 0x66, 0x66, 0, 0},
9592 {0xA8, 0x66, 0x66, 0, 0},
9593 {0xA9, 0x66, 0x66, 0, 0},
9594 {0xAA, 0x66, 0x66, 0, 0},
9595 {0xAB, 0x66, 0x66, 0, 0},
9596 {0xAC, 0x66, 0x66, 0, 0},
9597 {0xAD, 0x66, 0x66, 0, 0},
9598 {0xAE, 0x66, 0x66, 0, 0},
9599 {0xAF, 0x66, 0x66, 0, 0},
9600 {0xB0, 0x66, 0x66, 0, 0},
9601 {0xB1, 0x66, 0x66, 0, 0},
9602 {0xB2, 0x66, 0x66, 0, 0},
9603 {0xB3, 0xa, 0xa, 0, 0},
9607 {0xFFFF, 0, 0, 0, 0}
9610 radio_regs_t regs_TX_2056_rev6
[] = {
9642 {0x21, 0x88, 0x88, 0, 0},
9643 {0x22, 0x88, 0x88, 0, 0},
9644 {0x23, 0x88, 0x88, 0, 0},
9645 {0x24, 0x88, 0x88, 0, 0},
9646 {0x25, 0xc, 0xc, 0, 0},
9648 {0x27, 0x3, 0x3, 0, 0},
9650 {0x29, 0x3, 0x3, 0, 0},
9651 {0x2A, 0x37, 0x37, 0, 0},
9652 {0x2B, 0x3, 0x3, 0, 0},
9655 {0x2E, 0x1, 0x1, 0, 0},
9656 {0x2F, 0x1, 0x1, 0, 0},
9660 {0x33, 0x11, 0x11, 0, 0},
9661 {0x34, 0xee, 0xee, 1, 1},
9664 {0x37, 0x3, 0x3, 0, 0},
9665 {0x38, 0x50, 0x50, 1, 1},
9667 {0x3A, 0x50, 0x50, 1, 1},
9669 {0x3C, 0x6e, 0x6e, 0, 0},
9670 {0x3D, 0xf0, 0xf0, 1, 1},
9674 {0x41, 0x3, 0x3, 0, 0},
9675 {0x42, 0x3, 0x3, 0, 0},
9677 {0x44, 0x1e, 0x1e, 0, 0},
9679 {0x46, 0x6e, 0x6e, 0, 0},
9680 {0x47, 0xf0, 0xf0, 1, 1},
9682 {0x49, 0x2, 0x2, 0, 0},
9683 {0x4A, 0xff, 0xff, 1, 1},
9684 {0x4B, 0xc, 0xc, 0, 0},
9686 {0x4D, 0x38, 0x38, 0, 0},
9687 {0x4E, 0x70, 0x70, 1, 1},
9688 {0x4F, 0x2, 0x2, 0, 0},
9689 {0x50, 0x88, 0x88, 0, 0},
9690 {0x51, 0xc, 0xc, 0, 0},
9692 {0x53, 0x8, 0x8, 0, 0},
9693 {0x54, 0x70, 0x70, 1, 1},
9694 {0x55, 0x2, 0x2, 0, 0},
9695 {0x56, 0xff, 0xff, 1, 1},
9697 {0x58, 0x83, 0x83, 0, 0},
9698 {0x59, 0x77, 0x77, 1, 1},
9700 {0x5B, 0x2, 0x2, 0, 0},
9701 {0x5C, 0x88, 0x88, 0, 0},
9703 {0x5E, 0x8, 0x8, 0, 0},
9704 {0x5F, 0x77, 0x77, 1, 1},
9705 {0x60, 0x1, 0x1, 0, 0},
9707 {0x62, 0x7, 0x7, 0, 0},
9709 {0x64, 0x7, 0x7, 0, 0},
9714 {0x69, 0xa, 0xa, 0, 0},
9722 {0x71, 0x2, 0x2, 0, 0},
9725 {0x74, 0xe, 0xe, 0, 0},
9726 {0x75, 0xe, 0xe, 0, 0},
9727 {0x76, 0xe, 0xe, 0, 0},
9728 {0x77, 0x13, 0x13, 0, 0},
9729 {0x78, 0x13, 0x13, 0, 0},
9730 {0x79, 0x1b, 0x1b, 0, 0},
9731 {0x7A, 0x1b, 0x1b, 0, 0},
9732 {0x7B, 0x55, 0x55, 0, 0},
9733 {0x7C, 0x5b, 0x5b, 0, 0},
9734 {0x7D, 0x30, 0x30, 1, 1},
9756 {0x93, 0x70, 0x70, 0, 0},
9757 {0x94, 0x70, 0x70, 0, 0},
9758 {0x95, 0x70, 0x70, 0, 0},
9759 {0x96, 0x70, 0x70, 0, 0},
9760 {0x97, 0x70, 0x70, 0, 0},
9761 {0x98, 0x70, 0x70, 0, 0},
9762 {0x99, 0x70, 0x70, 0, 0},
9763 {0x9A, 0x70, 0x70, 0, 0},
9764 {0xFFFF, 0, 0, 0, 0}
9767 radio_regs_t regs_RX_2056_rev6
[] = {
9798 {0x20, 0x3, 0x3, 0, 0},
9801 {0x23, 0x90, 0x90, 0, 0},
9802 {0x24, 0x55, 0x55, 0, 0},
9803 {0x25, 0x15, 0x15, 0, 0},
9804 {0x26, 0x5, 0x5, 0, 0},
9805 {0x27, 0x15, 0x15, 0, 0},
9806 {0x28, 0x5, 0x5, 0, 0},
9807 {0x29, 0x20, 0x20, 0, 0},
9808 {0x2A, 0x11, 0x11, 0, 0},
9809 {0x2B, 0x90, 0x90, 0, 0},
9811 {0x2D, 0x88, 0x88, 0, 0},
9812 {0x2E, 0x32, 0x32, 0, 0},
9813 {0x2F, 0x77, 0x77, 0, 0},
9814 {0x30, 0x17, 0x17, 1, 1},
9815 {0x31, 0xff, 0xff, 1, 1},
9816 {0x32, 0x20, 0x20, 0, 0},
9818 {0x34, 0x88, 0x88, 0, 0},
9819 {0x35, 0x32, 0x32, 0, 0},
9820 {0x36, 0x77, 0x77, 0, 0},
9821 {0x37, 0x17, 0x17, 1, 1},
9822 {0x38, 0xf0, 0xf0, 1, 1},
9823 {0x39, 0x20, 0x20, 0, 0},
9824 {0x3A, 0x8, 0x8, 0, 0},
9825 {0x3B, 0x55, 0x55, 1, 1},
9827 {0x3D, 0x88, 0x88, 1, 1},
9829 {0x3F, 0x44, 0x44, 0, 0},
9830 {0x40, 0x7, 0x7, 1, 1},
9831 {0x41, 0x6, 0x6, 0, 0},
9832 {0x42, 0x4, 0x4, 0, 0},
9834 {0x44, 0x8, 0x8, 0, 0},
9835 {0x45, 0x55, 0x55, 1, 1},
9837 {0x47, 0x11, 0x11, 0, 0},
9839 {0x49, 0x44, 0x44, 0, 0},
9840 {0x4A, 0x7, 0x7, 0, 0},
9841 {0x4B, 0x6, 0x6, 0, 0},
9842 {0x4C, 0x4, 0x4, 0, 0},
9845 {0x4F, 0x26, 0x26, 1, 1},
9846 {0x50, 0x26, 0x26, 1, 1},
9847 {0x51, 0xf, 0xf, 1, 1},
9848 {0x52, 0xf, 0xf, 1, 1},
9849 {0x53, 0x44, 0x44, 0, 0},
9852 {0x56, 0x8, 0x8, 0, 0},
9853 {0x57, 0x8, 0x8, 0, 0},
9854 {0x58, 0x7, 0x7, 0, 0},
9855 {0x59, 0x22, 0x22, 0, 0},
9856 {0x5A, 0x22, 0x22, 0, 0},
9857 {0x5B, 0x2, 0x2, 0, 0},
9858 {0x5C, 0x4, 0x4, 1, 1},
9859 {0x5D, 0x7, 0x7, 0, 0},
9860 {0x5E, 0x55, 0x55, 0, 0},
9861 {0x5F, 0x23, 0x23, 0, 0},
9862 {0x60, 0x41, 0x41, 0, 0},
9863 {0x61, 0x1, 0x1, 0, 0},
9864 {0x62, 0xa, 0xa, 0, 0},
9873 {0x6B, 0xc, 0xc, 0, 0},
9880 {0x72, 0x22, 0x22, 0, 0},
9881 {0x73, 0x22, 0x22, 0, 0},
9883 {0x75, 0xa, 0xa, 0, 0},
9884 {0x76, 0x1, 0x1, 0, 0},
9885 {0x77, 0x22, 0x22, 0, 0},
9886 {0x78, 0x30, 0x30, 0, 0},
9891 {0x7D, 0x5, 0x5, 1, 1},
9915 {0xFFFF, 0, 0, 0, 0}
9918 radio_regs_t regs_SYN_2056_rev7
[] = {
9926 {0x09, 0x1, 0x1, 0, 0},
9951 {0x22, 0x60, 0x60, 0, 0},
9952 {0x23, 0x6, 0x6, 0, 0},
9953 {0x24, 0xc, 0xc, 0, 0},
9957 {0x28, 0x1, 0x1, 0, 0},
9964 {0x2F, 0x1f, 0x1f, 0, 0},
9965 {0x30, 0x15, 0x15, 0, 0},
9966 {0x31, 0xf, 0xf, 0, 0},
9977 {0x3C, 0x13, 0x13, 0, 0},
9978 {0x3D, 0xf, 0xf, 0, 0},
9979 {0x3E, 0x18, 0x18, 0, 0},
9982 {0x41, 0x20, 0x20, 0, 0},
9983 {0x42, 0x20, 0x20, 0, 0},
9985 {0x44, 0x77, 0x77, 0, 0},
9986 {0x45, 0x7, 0x7, 0, 0},
9987 {0x46, 0x1, 0x1, 0, 0},
9988 {0x47, 0x4, 0x4, 0, 0},
9989 {0x48, 0xf, 0xf, 0, 0},
9990 {0x49, 0x30, 0x30, 0, 0},
9991 {0x4A, 0x32, 0x32, 0, 0},
9992 {0x4B, 0xd, 0xd, 0, 0},
9993 {0x4C, 0xd, 0xd, 0, 0},
9994 {0x4D, 0x4, 0x4, 0, 0},
9995 {0x4E, 0x6, 0x6, 0, 0},
9996 {0x4F, 0x1, 0x1, 0, 0},
9997 {0x50, 0x1c, 0x1c, 0, 0},
9998 {0x51, 0x2, 0x2, 0, 0},
9999 {0x52, 0x2, 0x2, 0, 0},
10000 {0x53, 0xf7, 0xf7, 1, 1},
10001 {0x54, 0xb4, 0xb4, 0, 0},
10002 {0x55, 0xd2, 0xd2, 0, 0},
10003 {0x56, 0, 0, 0, 0},
10004 {0x57, 0, 0, 0, 0},
10005 {0x58, 0x4, 0x4, 0, 0},
10006 {0x59, 0x96, 0x96, 0, 0},
10007 {0x5A, 0x3e, 0x3e, 0, 0},
10008 {0x5B, 0x3e, 0x3e, 0, 0},
10009 {0x5C, 0x13, 0x13, 0, 0},
10010 {0x5D, 0x2, 0x2, 0, 0},
10011 {0x5E, 0, 0, 0, 0},
10012 {0x5F, 0x7, 0x7, 0, 0},
10013 {0x60, 0x7, 0x7, 1, 1},
10014 {0x61, 0x8, 0x8, 0, 0},
10015 {0x62, 0x3, 0x3, 0, 0},
10016 {0x63, 0, 0, 0, 0},
10017 {0x64, 0, 0, 0, 0},
10018 {0x65, 0, 0, 0, 0},
10019 {0x66, 0, 0, 0, 0},
10020 {0x67, 0, 0, 0, 0},
10021 {0x68, 0x40, 0x40, 0, 0},
10022 {0x69, 0, 0, 0, 0},
10023 {0x6A, 0, 0, 0, 0},
10024 {0x6B, 0, 0, 0, 0},
10025 {0x6C, 0, 0, 0, 0},
10026 {0x6D, 0x1, 0x1, 0, 0},
10027 {0x6E, 0, 0, 0, 0},
10028 {0x6F, 0, 0, 0, 0},
10029 {0x70, 0x60, 0x60, 0, 0},
10030 {0x71, 0x66, 0x66, 0, 0},
10031 {0x72, 0xc, 0xc, 0, 0},
10032 {0x73, 0x66, 0x66, 0, 0},
10033 {0x74, 0x8f, 0x8f, 1, 1},
10034 {0x75, 0, 0, 0, 0},
10035 {0x76, 0xcc, 0xcc, 0, 0},
10036 {0x77, 0x1, 0x1, 0, 0},
10037 {0x78, 0x66, 0x66, 0, 0},
10038 {0x79, 0x66, 0x66, 0, 0},
10039 {0x7A, 0, 0, 0, 0},
10040 {0x7B, 0, 0, 0, 0},
10041 {0x7C, 0, 0, 0, 0},
10042 {0x7D, 0, 0, 0, 0},
10043 {0x7E, 0, 0, 0, 0},
10044 {0x7F, 0, 0, 0, 0},
10045 {0x80, 0, 0, 0, 0},
10046 {0x81, 0, 0, 0, 0},
10047 {0x82, 0, 0, 0, 0},
10048 {0x83, 0, 0, 0, 0},
10049 {0x84, 0, 0, 0, 0},
10050 {0x85, 0xff, 0xff, 0, 0},
10051 {0x86, 0, 0, 0, 0},
10052 {0x87, 0, 0, 0, 0},
10053 {0x88, 0, 0, 0, 0},
10054 {0x89, 0, 0, 0, 0},
10055 {0x8A, 0, 0, 0, 0},
10056 {0x8B, 0, 0, 0, 0},
10057 {0x8C, 0, 0, 0, 0},
10058 {0x8D, 0, 0, 0, 0},
10059 {0x8E, 0, 0, 0, 0},
10060 {0x8F, 0, 0, 0, 0},
10061 {0x90, 0, 0, 0, 0},
10062 {0x91, 0, 0, 0, 0},
10063 {0x92, 0, 0, 0, 0},
10064 {0x93, 0, 0, 0, 0},
10065 {0x94, 0, 0, 0, 0},
10066 {0x95, 0, 0, 0, 0},
10067 {0x96, 0, 0, 0, 0},
10068 {0x97, 0, 0, 0, 0},
10069 {0x98, 0, 0, 0, 0},
10070 {0x99, 0, 0, 0, 0},
10071 {0x9A, 0, 0, 0, 0},
10072 {0x9B, 0, 0, 0, 0},
10073 {0x9C, 0, 0, 0, 0},
10074 {0x9D, 0, 0, 0, 0},
10075 {0x9E, 0, 0, 0, 0},
10076 {0x9F, 0x6, 0x6, 0, 0},
10077 {0xA0, 0x66, 0x66, 0, 0},
10078 {0xA1, 0x66, 0x66, 0, 0},
10079 {0xA2, 0x66, 0x66, 0, 0},
10080 {0xA3, 0x66, 0x66, 0, 0},
10081 {0xA4, 0x66, 0x66, 0, 0},
10082 {0xA5, 0x66, 0x66, 0, 0},
10083 {0xA6, 0x66, 0x66, 0, 0},
10084 {0xA7, 0x66, 0x66, 0, 0},
10085 {0xA8, 0x66, 0x66, 0, 0},
10086 {0xA9, 0x66, 0x66, 0, 0},
10087 {0xAA, 0x66, 0x66, 0, 0},
10088 {0xAB, 0x66, 0x66, 0, 0},
10089 {0xAC, 0x66, 0x66, 0, 0},
10090 {0xAD, 0x66, 0x66, 0, 0},
10091 {0xAE, 0x66, 0x66, 0, 0},
10092 {0xAF, 0x66, 0x66, 0, 0},
10093 {0xB0, 0x66, 0x66, 0, 0},
10094 {0xB1, 0x66, 0x66, 0, 0},
10095 {0xB2, 0x66, 0x66, 0, 0},
10096 {0xB3, 0xa, 0xa, 0, 0},
10097 {0xB4, 0, 0, 0, 0},
10098 {0xB5, 0, 0, 0, 0},
10099 {0xB6, 0, 0, 0, 0},
10100 {0xFFFF, 0, 0, 0, 0},
10103 radio_regs_t regs_TX_2056_rev7
[] = {
10104 {0x02, 0, 0, 0, 0},
10105 {0x03, 0, 0, 0, 0},
10106 {0x04, 0, 0, 0, 0},
10107 {0x05, 0, 0, 0, 0},
10108 {0x06, 0, 0, 0, 0},
10109 {0x07, 0, 0, 0, 0},
10110 {0x08, 0, 0, 0, 0},
10111 {0x09, 0, 0, 0, 0},
10112 {0x0A, 0, 0, 0, 0},
10113 {0x0B, 0, 0, 0, 0},
10114 {0x0C, 0, 0, 0, 0},
10115 {0x0D, 0, 0, 0, 0},
10116 {0x0E, 0, 0, 0, 0},
10117 {0x0F, 0, 0, 0, 0},
10118 {0x10, 0, 0, 0, 0},
10119 {0x11, 0, 0, 0, 0},
10120 {0x12, 0, 0, 0, 0},
10121 {0x13, 0, 0, 0, 0},
10122 {0x14, 0, 0, 0, 0},
10123 {0x15, 0, 0, 0, 0},
10124 {0x16, 0, 0, 0, 0},
10125 {0x17, 0, 0, 0, 0},
10126 {0x18, 0, 0, 0, 0},
10127 {0x19, 0, 0, 0, 0},
10128 {0x1A, 0, 0, 0, 0},
10129 {0x1B, 0, 0, 0, 0},
10130 {0x1C, 0, 0, 0, 0},
10131 {0x1D, 0, 0, 0, 0},
10132 {0x1E, 0, 0, 0, 0},
10133 {0x1F, 0, 0, 0, 0},
10134 {0x20, 0, 0, 0, 0},
10135 {0x21, 0x88, 0x88, 0, 0},
10136 {0x22, 0x88, 0x88, 0, 0},
10137 {0x23, 0x88, 0x88, 0, 0},
10138 {0x24, 0x88, 0x88, 0, 0},
10139 {0x25, 0xc, 0xc, 0, 0},
10140 {0x26, 0, 0, 0, 0},
10141 {0x27, 0x3, 0x3, 0, 0},
10142 {0x28, 0, 0, 0, 0},
10143 {0x29, 0x3, 0x3, 0, 0},
10144 {0x2A, 0x37, 0x37, 0, 0},
10145 {0x2B, 0x3, 0x3, 0, 0},
10146 {0x2C, 0, 0, 0, 0},
10147 {0x2D, 0, 0, 0, 0},
10148 {0x2E, 0x1, 0x1, 0, 0},
10149 {0x2F, 0x1, 0x1, 0, 0},
10150 {0x30, 0, 0, 0, 0},
10151 {0x31, 0, 0, 0, 0},
10152 {0x32, 0, 0, 0, 0},
10153 {0x33, 0x11, 0x11, 0, 0},
10154 {0x34, 0xee, 0xee, 1, 1},
10155 {0x35, 0, 0, 0, 0},
10156 {0x36, 0, 0, 0, 0},
10157 {0x37, 0x3, 0x3, 0, 0},
10158 {0x38, 0x50, 0x50, 1, 1},
10159 {0x39, 0, 0, 0, 0},
10160 {0x3A, 0x50, 0x50, 1, 1},
10161 {0x3B, 0, 0, 0, 0},
10162 {0x3C, 0x6e, 0x6e, 0, 0},
10163 {0x3D, 0xf0, 0xf0, 1, 1},
10164 {0x3E, 0, 0, 0, 0},
10165 {0x3F, 0, 0, 0, 0},
10166 {0x40, 0, 0, 0, 0},
10167 {0x41, 0x3, 0x3, 0, 0},
10168 {0x42, 0x3, 0x3, 0, 0},
10169 {0x43, 0, 0, 0, 0},
10170 {0x44, 0x1e, 0x1e, 0, 0},
10171 {0x45, 0, 0, 0, 0},
10172 {0x46, 0x6e, 0x6e, 0, 0},
10173 {0x47, 0xf0, 0xf0, 1, 1},
10174 {0x48, 0, 0, 0, 0},
10175 {0x49, 0x2, 0x2, 0, 0},
10176 {0x4A, 0xff, 0xff, 1, 1},
10177 {0x4B, 0xc, 0xc, 0, 0},
10178 {0x4C, 0, 0, 0, 0},
10179 {0x4D, 0x38, 0x38, 0, 0},
10180 {0x4E, 0x70, 0x70, 1, 1},
10181 {0x4F, 0x2, 0x2, 0, 0},
10182 {0x50, 0x88, 0x88, 0, 0},
10183 {0x51, 0xc, 0xc, 0, 0},
10184 {0x52, 0, 0, 0, 0},
10185 {0x53, 0x8, 0x8, 0, 0},
10186 {0x54, 0x70, 0x70, 1, 1},
10187 {0x55, 0x2, 0x2, 0, 0},
10188 {0x56, 0xff, 0xff, 1, 1},
10189 {0x57, 0, 0, 0, 0},
10190 {0x58, 0x83, 0x83, 0, 0},
10191 {0x59, 0x77, 0x77, 1, 1},
10192 {0x5A, 0, 0, 0, 0},
10193 {0x5B, 0x2, 0x2, 0, 0},
10194 {0x5C, 0x88, 0x88, 0, 0},
10195 {0x5D, 0, 0, 0, 0},
10196 {0x5E, 0x8, 0x8, 0, 0},
10197 {0x5F, 0x77, 0x77, 1, 1},
10198 {0x60, 0x1, 0x1, 0, 0},
10199 {0x61, 0, 0, 0, 0},
10200 {0x62, 0x7, 0x7, 0, 0},
10201 {0x63, 0, 0, 0, 0},
10202 {0x64, 0x7, 0x7, 0, 0},
10203 {0x65, 0, 0, 0, 0},
10204 {0x66, 0, 0, 0, 0},
10205 {0x67, 0, 0, 1, 1},
10206 {0x68, 0, 0, 0, 0},
10207 {0x69, 0xa, 0xa, 0, 0},
10208 {0x6A, 0, 0, 0, 0},
10209 {0x6B, 0, 0, 0, 0},
10210 {0x6C, 0, 0, 0, 0},
10211 {0x6D, 0, 0, 0, 0},
10212 {0x6E, 0, 0, 0, 0},
10213 {0x6F, 0, 0, 0, 0},
10214 {0x70, 0, 0, 0, 0},
10215 {0x71, 0x2, 0x2, 0, 0},
10216 {0x72, 0, 0, 0, 0},
10217 {0x73, 0, 0, 0, 0},
10218 {0x74, 0xe, 0xe, 0, 0},
10219 {0x75, 0xe, 0xe, 0, 0},
10220 {0x76, 0xe, 0xe, 0, 0},
10221 {0x77, 0x13, 0x13, 0, 0},
10222 {0x78, 0x13, 0x13, 0, 0},
10223 {0x79, 0x1b, 0x1b, 0, 0},
10224 {0x7A, 0x1b, 0x1b, 0, 0},
10225 {0x7B, 0x55, 0x55, 0, 0},
10226 {0x7C, 0x5b, 0x5b, 0, 0},
10227 {0x7D, 0x30, 0x30, 1, 1},
10228 {0x7E, 0, 0, 0, 0},
10229 {0x7F, 0, 0, 0, 0},
10230 {0x80, 0, 0, 0, 0},
10231 {0x81, 0, 0, 0, 0},
10232 {0x82, 0, 0, 0, 0},
10233 {0x83, 0, 0, 0, 0},
10234 {0x84, 0, 0, 0, 0},
10235 {0x85, 0, 0, 0, 0},
10236 {0x86, 0, 0, 0, 0},
10237 {0x87, 0, 0, 0, 0},
10238 {0x88, 0, 0, 0, 0},
10239 {0x89, 0, 0, 0, 0},
10240 {0x8A, 0, 0, 0, 0},
10241 {0x8B, 0, 0, 0, 0},
10242 {0x8C, 0, 0, 0, 0},
10243 {0x8D, 0, 0, 0, 0},
10244 {0x8E, 0, 0, 0, 0},
10245 {0x8F, 0, 0, 0, 0},
10246 {0x90, 0, 0, 0, 0},
10247 {0x91, 0, 0, 0, 0},
10248 {0x92, 0, 0, 0, 0},
10249 {0x93, 0x70, 0x70, 0, 0},
10250 {0x94, 0x70, 0x70, 0, 0},
10251 {0x95, 0x71, 0x71, 1, 1},
10252 {0x96, 0x71, 0x71, 1, 1},
10253 {0x97, 0x72, 0x72, 1, 1},
10254 {0x98, 0x73, 0x73, 1, 1},
10255 {0x99, 0x74, 0x74, 1, 1},
10256 {0x9A, 0x75, 0x75, 1, 1},
10257 {0xFFFF, 0, 0, 0, 0},
10260 radio_regs_t regs_RX_2056_rev7
[] = {
10261 {0x02, 0, 0, 0, 0},
10262 {0x03, 0, 0, 0, 0},
10263 {0x04, 0, 0, 0, 0},
10264 {0x05, 0, 0, 0, 0},
10265 {0x06, 0, 0, 0, 0},
10266 {0x07, 0, 0, 0, 0},
10267 {0x08, 0, 0, 0, 0},
10268 {0x09, 0, 0, 0, 0},
10269 {0x0A, 0, 0, 0, 0},
10270 {0x0B, 0, 0, 0, 0},
10271 {0x0C, 0, 0, 0, 0},
10272 {0x0D, 0, 0, 0, 0},
10273 {0x0E, 0, 0, 0, 0},
10274 {0x0F, 0, 0, 0, 0},
10275 {0x10, 0, 0, 0, 0},
10276 {0x11, 0, 0, 0, 0},
10277 {0x12, 0, 0, 0, 0},
10278 {0x13, 0, 0, 0, 0},
10279 {0x14, 0, 0, 0, 0},
10280 {0x15, 0, 0, 0, 0},
10281 {0x16, 0, 0, 0, 0},
10282 {0x17, 0, 0, 0, 0},
10283 {0x18, 0, 0, 0, 0},
10284 {0x19, 0, 0, 0, 0},
10285 {0x1A, 0, 0, 0, 0},
10286 {0x1B, 0, 0, 0, 0},
10287 {0x1C, 0, 0, 0, 0},
10288 {0x1D, 0, 0, 0, 0},
10289 {0x1E, 0, 0, 0, 0},
10290 {0x1F, 0, 0, 0, 0},
10291 {0x20, 0x3, 0x3, 0, 0},
10292 {0x21, 0, 0, 0, 0},
10293 {0x22, 0, 0, 0, 0},
10294 {0x23, 0x90, 0x90, 0, 0},
10295 {0x24, 0x55, 0x55, 0, 0},
10296 {0x25, 0x15, 0x15, 0, 0},
10297 {0x26, 0x5, 0x5, 0, 0},
10298 {0x27, 0x15, 0x15, 0, 0},
10299 {0x28, 0x5, 0x5, 0, 0},
10300 {0x29, 0x20, 0x20, 0, 0},
10301 {0x2A, 0x11, 0x11, 0, 0},
10302 {0x2B, 0x90, 0x90, 0, 0},
10303 {0x2C, 0, 0, 0, 0},
10304 {0x2D, 0x88, 0x88, 0, 0},
10305 {0x2E, 0x32, 0x32, 0, 0},
10306 {0x2F, 0x77, 0x77, 0, 0},
10307 {0x30, 0x17, 0x17, 1, 1},
10308 {0x31, 0xff, 0xff, 1, 1},
10309 {0x32, 0x20, 0x20, 0, 0},
10310 {0x33, 0, 0, 0, 0},
10311 {0x34, 0x88, 0x88, 0, 0},
10312 {0x35, 0x32, 0x32, 0, 0},
10313 {0x36, 0x77, 0x77, 0, 0},
10314 {0x37, 0x17, 0x17, 1, 1},
10315 {0x38, 0xf0, 0xf0, 1, 1},
10316 {0x39, 0x20, 0x20, 0, 0},
10317 {0x3A, 0x8, 0x8, 0, 0},
10318 {0x3B, 0x55, 0x55, 1, 1},
10319 {0x3C, 0, 0, 0, 0},
10320 {0x3D, 0x88, 0x88, 1, 1},
10321 {0x3E, 0, 0, 0, 0},
10322 {0x3F, 0, 0, 1, 1},
10323 {0x40, 0x7, 0x7, 1, 1},
10324 {0x41, 0x6, 0x6, 0, 0},
10325 {0x42, 0x4, 0x4, 0, 0},
10326 {0x43, 0, 0, 0, 0},
10327 {0x44, 0x8, 0x8, 0, 0},
10328 {0x45, 0x55, 0x55, 1, 1},
10329 {0x46, 0, 0, 0, 0},
10330 {0x47, 0x11, 0x11, 0, 0},
10331 {0x48, 0, 0, 0, 0},
10332 {0x49, 0, 0, 1, 1},
10333 {0x4A, 0x7, 0x7, 0, 0},
10334 {0x4B, 0x6, 0x6, 0, 0},
10335 {0x4C, 0x4, 0x4, 0, 0},
10336 {0x4D, 0, 0, 0, 0},
10337 {0x4E, 0, 0, 0, 0},
10338 {0x4F, 0x26, 0x26, 1, 1},
10339 {0x50, 0x26, 0x26, 1, 1},
10340 {0x51, 0xf, 0xf, 1, 1},
10341 {0x52, 0xf, 0xf, 1, 1},
10342 {0x53, 0x44, 0x44, 0, 0},
10343 {0x54, 0, 0, 0, 0},
10344 {0x55, 0, 0, 0, 0},
10345 {0x56, 0x8, 0x8, 0, 0},
10346 {0x57, 0x8, 0x8, 0, 0},
10347 {0x58, 0x7, 0x7, 0, 0},
10348 {0x59, 0x22, 0x22, 0, 0},
10349 {0x5A, 0x22, 0x22, 0, 0},
10350 {0x5B, 0x2, 0x2, 0, 0},
10351 {0x5C, 0x4, 0x4, 1, 1},
10352 {0x5D, 0x7, 0x7, 0, 0},
10353 {0x5E, 0x55, 0x55, 0, 0},
10354 {0x5F, 0x23, 0x23, 0, 0},
10355 {0x60, 0x41, 0x41, 0, 0},
10356 {0x61, 0x1, 0x1, 0, 0},
10357 {0x62, 0xa, 0xa, 0, 0},
10358 {0x63, 0, 0, 0, 0},
10359 {0x64, 0, 0, 0, 0},
10360 {0x65, 0, 0, 0, 0},
10361 {0x66, 0, 0, 0, 0},
10362 {0x67, 0, 0, 0, 0},
10363 {0x68, 0, 0, 0, 0},
10364 {0x69, 0, 0, 0, 0},
10365 {0x6A, 0, 0, 0, 0},
10366 {0x6B, 0xc, 0xc, 0, 0},
10367 {0x6C, 0, 0, 0, 0},
10368 {0x6D, 0, 0, 0, 0},
10369 {0x6E, 0, 0, 0, 0},
10370 {0x6F, 0, 0, 0, 0},
10371 {0x70, 0, 0, 0, 0},
10372 {0x71, 0, 0, 0, 0},
10373 {0x72, 0x22, 0x22, 0, 0},
10374 {0x73, 0x22, 0x22, 0, 0},
10375 {0x74, 0, 0, 1, 1},
10376 {0x75, 0xa, 0xa, 0, 0},
10377 {0x76, 0x1, 0x1, 0, 0},
10378 {0x77, 0x22, 0x22, 0, 0},
10379 {0x78, 0x30, 0x30, 0, 0},
10380 {0x79, 0, 0, 0, 0},
10381 {0x7A, 0, 0, 0, 0},
10382 {0x7B, 0, 0, 0, 0},
10383 {0x7C, 0, 0, 0, 0},
10384 {0x7D, 0, 0, 0, 0},
10385 {0x7E, 0, 0, 0, 0},
10386 {0x7F, 0, 0, 0, 0},
10387 {0x80, 0, 0, 0, 0},
10388 {0x81, 0, 0, 0, 0},
10389 {0x82, 0, 0, 0, 0},
10390 {0x83, 0, 0, 0, 0},
10391 {0x84, 0, 0, 0, 0},
10392 {0x85, 0, 0, 0, 0},
10393 {0x86, 0, 0, 0, 0},
10394 {0x87, 0, 0, 0, 0},
10395 {0x88, 0, 0, 0, 0},
10396 {0x89, 0, 0, 0, 0},
10397 {0x8A, 0, 0, 0, 0},
10398 {0x8B, 0, 0, 0, 0},
10399 {0x8C, 0, 0, 0, 0},
10400 {0x8D, 0, 0, 0, 0},
10401 {0x8E, 0, 0, 0, 0},
10402 {0x8F, 0, 0, 0, 0},
10403 {0x90, 0, 0, 0, 0},
10404 {0x91, 0, 0, 0, 0},
10405 {0x92, 0, 0, 0, 0},
10406 {0x93, 0, 0, 0, 0},
10407 {0x94, 0, 0, 0, 0},
10408 {0xFFFF, 0, 0, 0, 0},
10411 radio_regs_t regs_SYN_2056_rev8
[] = {
10412 {0x02, 0, 0, 0, 0},
10413 {0x03, 0, 0, 0, 0},
10414 {0x04, 0, 0, 0, 0},
10415 {0x05, 0, 0, 0, 0},
10416 {0x06, 0, 0, 0, 0},
10417 {0x07, 0, 0, 0, 0},
10418 {0x08, 0, 0, 0, 0},
10419 {0x09, 0x1, 0x1, 0, 0},
10420 {0x0A, 0, 0, 0, 0},
10421 {0x0B, 0, 0, 0, 0},
10422 {0x0C, 0, 0, 0, 0},
10423 {0x0D, 0, 0, 0, 0},
10424 {0x0E, 0, 0, 0, 0},
10425 {0x0F, 0, 0, 0, 0},
10426 {0x10, 0, 0, 0, 0},
10427 {0x11, 0, 0, 0, 0},
10428 {0x12, 0, 0, 0, 0},
10429 {0x13, 0, 0, 0, 0},
10430 {0x14, 0, 0, 0, 0},
10431 {0x15, 0, 0, 0, 0},
10432 {0x16, 0, 0, 0, 0},
10433 {0x17, 0, 0, 0, 0},
10434 {0x18, 0, 0, 0, 0},
10435 {0x19, 0, 0, 0, 0},
10436 {0x1A, 0, 0, 0, 0},
10437 {0x1B, 0, 0, 0, 0},
10438 {0x1C, 0, 0, 0, 0},
10439 {0x1D, 0, 0, 0, 0},
10440 {0x1E, 0, 0, 0, 0},
10441 {0x1F, 0, 0, 0, 0},
10442 {0x20, 0, 0, 0, 0},
10443 {0x21, 0, 0, 0, 0},
10444 {0x22, 0x60, 0x60, 0, 0},
10445 {0x23, 0x6, 0x6, 0, 0},
10446 {0x24, 0xc, 0xc, 0, 0},
10447 {0x25, 0, 0, 0, 0},
10448 {0x26, 0, 0, 0, 0},
10449 {0x27, 0, 0, 0, 0},
10450 {0x28, 0x1, 0x1, 0, 0},
10451 {0x29, 0, 0, 0, 0},
10452 {0x2A, 0, 0, 0, 0},
10453 {0x2B, 0, 0, 0, 0},
10454 {0x2C, 0, 0, 0, 0},
10455 {0x2D, 0, 0, 0, 0},
10456 {0x2E, 0, 0, 0, 0},
10457 {0x2F, 0x1f, 0x1f, 0, 0},
10458 {0x30, 0x15, 0x15, 0, 0},
10459 {0x31, 0xf, 0xf, 0, 0},
10460 {0x32, 0, 0, 0, 0},
10461 {0x33, 0, 0, 0, 0},
10462 {0x34, 0, 0, 0, 0},
10463 {0x35, 0, 0, 0, 0},
10464 {0x36, 0, 0, 0, 0},
10465 {0x37, 0, 0, 0, 0},
10466 {0x38, 0, 0, 0, 0},
10467 {0x39, 0, 0, 0, 0},
10468 {0x3A, 0, 0, 0, 0},
10469 {0x3B, 0, 0, 0, 0},
10470 {0x3C, 0x13, 0x13, 0, 0},
10471 {0x3D, 0xf, 0xf, 0, 0},
10472 {0x3E, 0x18, 0x18, 0, 0},
10473 {0x3F, 0, 0, 0, 0},
10474 {0x40, 0, 0, 0, 0},
10475 {0x41, 0x20, 0x20, 0, 0},
10476 {0x42, 0x20, 0x20, 0, 0},
10477 {0x43, 0, 0, 0, 0},
10478 {0x44, 0x77, 0x77, 0, 0},
10479 {0x45, 0x7, 0x7, 0, 0},
10480 {0x46, 0x1, 0x1, 0, 0},
10481 {0x47, 0x4, 0x4, 0, 0},
10482 {0x48, 0xf, 0xf, 0, 0},
10483 {0x49, 0x30, 0x30, 0, 0},
10484 {0x4A, 0x32, 0x32, 0, 0},
10485 {0x4B, 0xd, 0xd, 0, 0},
10486 {0x4C, 0xd, 0xd, 0, 0},
10487 {0x4D, 0x4, 0x4, 0, 0},
10488 {0x4E, 0x6, 0x6, 0, 0},
10489 {0x4F, 0x1, 0x1, 0, 0},
10490 {0x50, 0x1c, 0x1c, 0, 0},
10491 {0x51, 0x2, 0x2, 0, 0},
10492 {0x52, 0x2, 0x2, 0, 0},
10493 {0x53, 0xf7, 0xf7, 1, 1},
10494 {0x54, 0xb4, 0xb4, 0, 0},
10495 {0x55, 0xd2, 0xd2, 0, 0},
10496 {0x56, 0, 0, 0, 0},
10497 {0x57, 0, 0, 0, 0},
10498 {0x58, 0x4, 0x4, 0, 0},
10499 {0x59, 0x96, 0x96, 0, 0},
10500 {0x5A, 0x3e, 0x3e, 0, 0},
10501 {0x5B, 0x3e, 0x3e, 0, 0},
10502 {0x5C, 0x13, 0x13, 0, 0},
10503 {0x5D, 0x2, 0x2, 0, 0},
10504 {0x5E, 0, 0, 0, 0},
10505 {0x5F, 0x7, 0x7, 0, 0},
10506 {0x60, 0x7, 0x7, 1, 1},
10507 {0x61, 0x8, 0x8, 0, 0},
10508 {0x62, 0x3, 0x3, 0, 0},
10509 {0x63, 0, 0, 0, 0},
10510 {0x64, 0, 0, 0, 0},
10511 {0x65, 0, 0, 0, 0},
10512 {0x66, 0, 0, 0, 0},
10513 {0x67, 0, 0, 0, 0},
10514 {0x68, 0x40, 0x40, 0, 0},
10515 {0x69, 0, 0, 0, 0},
10516 {0x6A, 0, 0, 0, 0},
10517 {0x6B, 0, 0, 0, 0},
10518 {0x6C, 0, 0, 0, 0},
10519 {0x6D, 0x1, 0x1, 0, 0},
10520 {0x6E, 0, 0, 0, 0},
10521 {0x6F, 0, 0, 0, 0},
10522 {0x70, 0x60, 0x60, 0, 0},
10523 {0x71, 0x66, 0x66, 0, 0},
10524 {0x72, 0xc, 0xc, 0, 0},
10525 {0x73, 0x66, 0x66, 0, 0},
10526 {0x74, 0x8f, 0x8f, 1, 1},
10527 {0x75, 0, 0, 0, 0},
10528 {0x76, 0xcc, 0xcc, 0, 0},
10529 {0x77, 0x1, 0x1, 0, 0},
10530 {0x78, 0x66, 0x66, 0, 0},
10531 {0x79, 0x66, 0x66, 0, 0},
10532 {0x7A, 0, 0, 0, 0},
10533 {0x7B, 0, 0, 0, 0},
10534 {0x7C, 0, 0, 0, 0},
10535 {0x7D, 0, 0, 0, 0},
10536 {0x7E, 0, 0, 0, 0},
10537 {0x7F, 0, 0, 0, 0},
10538 {0x80, 0, 0, 0, 0},
10539 {0x81, 0, 0, 0, 0},
10540 {0x82, 0, 0, 0, 0},
10541 {0x83, 0, 0, 0, 0},
10542 {0x84, 0, 0, 0, 0},
10543 {0x85, 0xff, 0xff, 0, 0},
10544 {0x86, 0, 0, 0, 0},
10545 {0x87, 0, 0, 0, 0},
10546 {0x88, 0, 0, 0, 0},
10547 {0x89, 0, 0, 0, 0},
10548 {0x8A, 0, 0, 0, 0},
10549 {0x8B, 0, 0, 0, 0},
10550 {0x8C, 0, 0, 0, 0},
10551 {0x8D, 0, 0, 0, 0},
10552 {0x8E, 0, 0, 0, 0},
10553 {0x8F, 0, 0, 0, 0},
10554 {0x90, 0, 0, 0, 0},
10555 {0x91, 0, 0, 0, 0},
10556 {0x92, 0, 0, 0, 0},
10557 {0x93, 0, 0, 0, 0},
10558 {0x94, 0, 0, 0, 0},
10559 {0x95, 0, 0, 0, 0},
10560 {0x96, 0, 0, 0, 0},
10561 {0x97, 0, 0, 0, 0},
10562 {0x98, 0, 0, 0, 0},
10563 {0x99, 0, 0, 0, 0},
10564 {0x9A, 0, 0, 0, 0},
10565 {0x9B, 0, 0, 0, 0},
10566 {0x9C, 0, 0, 0, 0},
10567 {0x9D, 0, 0, 0, 0},
10568 {0x9E, 0, 0, 0, 0},
10569 {0x9F, 0x6, 0x6, 0, 0},
10570 {0xA0, 0x66, 0x66, 0, 0},
10571 {0xA1, 0x66, 0x66, 0, 0},
10572 {0xA2, 0x66, 0x66, 0, 0},
10573 {0xA3, 0x66, 0x66, 0, 0},
10574 {0xA4, 0x66, 0x66, 0, 0},
10575 {0xA5, 0x66, 0x66, 0, 0},
10576 {0xA6, 0x66, 0x66, 0, 0},
10577 {0xA7, 0x66, 0x66, 0, 0},
10578 {0xA8, 0x66, 0x66, 0, 0},
10579 {0xA9, 0x66, 0x66, 0, 0},
10580 {0xAA, 0x66, 0x66, 0, 0},
10581 {0xAB, 0x66, 0x66, 0, 0},
10582 {0xAC, 0x66, 0x66, 0, 0},
10583 {0xAD, 0x66, 0x66, 0, 0},
10584 {0xAE, 0x66, 0x66, 0, 0},
10585 {0xAF, 0x66, 0x66, 0, 0},
10586 {0xB0, 0x66, 0x66, 0, 0},
10587 {0xB1, 0x66, 0x66, 0, 0},
10588 {0xB2, 0x66, 0x66, 0, 0},
10589 {0xB3, 0xa, 0xa, 0, 0},
10590 {0xB4, 0, 0, 0, 0},
10591 {0xB5, 0, 0, 0, 0},
10592 {0xB6, 0, 0, 0, 0},
10593 {0xFFFF, 0, 0, 0, 0},
10596 radio_regs_t regs_TX_2056_rev8
[] = {
10597 {0x02, 0, 0, 0, 0},
10598 {0x03, 0, 0, 0, 0},
10599 {0x04, 0, 0, 0, 0},
10600 {0x05, 0, 0, 0, 0},
10601 {0x06, 0, 0, 0, 0},
10602 {0x07, 0, 0, 0, 0},
10603 {0x08, 0, 0, 0, 0},
10604 {0x09, 0, 0, 0, 0},
10605 {0x0A, 0, 0, 0, 0},
10606 {0x0B, 0, 0, 0, 0},
10607 {0x0C, 0, 0, 0, 0},
10608 {0x0D, 0, 0, 0, 0},
10609 {0x0E, 0, 0, 0, 0},
10610 {0x0F, 0, 0, 0, 0},
10611 {0x10, 0, 0, 0, 0},
10612 {0x11, 0, 0, 0, 0},
10613 {0x12, 0, 0, 0, 0},
10614 {0x13, 0, 0, 0, 0},
10615 {0x14, 0, 0, 0, 0},
10616 {0x15, 0, 0, 0, 0},
10617 {0x16, 0, 0, 0, 0},
10618 {0x17, 0, 0, 0, 0},
10619 {0x18, 0, 0, 0, 0},
10620 {0x19, 0, 0, 0, 0},
10621 {0x1A, 0, 0, 0, 0},
10622 {0x1B, 0, 0, 0, 0},
10623 {0x1C, 0, 0, 0, 0},
10624 {0x1D, 0, 0, 0, 0},
10625 {0x1E, 0, 0, 0, 0},
10626 {0x1F, 0, 0, 0, 0},
10627 {0x20, 0, 0, 0, 0},
10628 {0x21, 0x88, 0x88, 0, 0},
10629 {0x22, 0x88, 0x88, 0, 0},
10630 {0x23, 0x88, 0x88, 0, 0},
10631 {0x24, 0x88, 0x88, 0, 0},
10632 {0x25, 0xc, 0xc, 0, 0},
10633 {0x26, 0, 0, 0, 0},
10634 {0x27, 0x3, 0x3, 0, 0},
10635 {0x28, 0, 0, 0, 0},
10636 {0x29, 0x3, 0x3, 0, 0},
10637 {0x2A, 0x37, 0x37, 0, 0},
10638 {0x2B, 0x3, 0x3, 0, 0},
10639 {0x2C, 0, 0, 0, 0},
10640 {0x2D, 0, 0, 0, 0},
10641 {0x2E, 0x1, 0x1, 0, 0},
10642 {0x2F, 0x1, 0x1, 0, 0},
10643 {0x30, 0, 0, 0, 0},
10644 {0x31, 0, 0, 0, 0},
10645 {0x32, 0, 0, 0, 0},
10646 {0x33, 0x11, 0x11, 0, 0},
10647 {0x34, 0xee, 0xee, 1, 1},
10648 {0x35, 0, 0, 0, 0},
10649 {0x36, 0, 0, 0, 0},
10650 {0x37, 0x3, 0x3, 0, 0},
10651 {0x38, 0x50, 0x50, 1, 1},
10652 {0x39, 0, 0, 0, 0},
10653 {0x3A, 0x50, 0x50, 1, 1},
10654 {0x3B, 0, 0, 0, 0},
10655 {0x3C, 0x6e, 0x6e, 0, 0},
10656 {0x3D, 0xf0, 0xf0, 1, 1},
10657 {0x3E, 0, 0, 0, 0},
10658 {0x3F, 0, 0, 0, 0},
10659 {0x40, 0, 0, 0, 0},
10660 {0x41, 0x3, 0x3, 0, 0},
10661 {0x42, 0x3, 0x3, 0, 0},
10662 {0x43, 0, 0, 0, 0},
10663 {0x44, 0x1e, 0x1e, 0, 0},
10664 {0x45, 0, 0, 0, 0},
10665 {0x46, 0x6e, 0x6e, 0, 0},
10666 {0x47, 0xf0, 0xf0, 1, 1},
10667 {0x48, 0, 0, 0, 0},
10668 {0x49, 0x2, 0x2, 0, 0},
10669 {0x4A, 0xff, 0xff, 1, 1},
10670 {0x4B, 0xc, 0xc, 0, 0},
10671 {0x4C, 0, 0, 0, 0},
10672 {0x4D, 0x38, 0x38, 0, 0},
10673 {0x4E, 0x70, 0x70, 1, 1},
10674 {0x4F, 0x2, 0x2, 0, 0},
10675 {0x50, 0x88, 0x88, 0, 0},
10676 {0x51, 0xc, 0xc, 0, 0},
10677 {0x52, 0, 0, 0, 0},
10678 {0x53, 0x8, 0x8, 0, 0},
10679 {0x54, 0x70, 0x70, 1, 1},
10680 {0x55, 0x2, 0x2, 0, 0},
10681 {0x56, 0xff, 0xff, 1, 1},
10682 {0x57, 0, 0, 0, 0},
10683 {0x58, 0x83, 0x83, 0, 0},
10684 {0x59, 0x77, 0x77, 1, 1},
10685 {0x5A, 0, 0, 0, 0},
10686 {0x5B, 0x2, 0x2, 0, 0},
10687 {0x5C, 0x88, 0x88, 0, 0},
10688 {0x5D, 0, 0, 0, 0},
10689 {0x5E, 0x8, 0x8, 0, 0},
10690 {0x5F, 0x77, 0x77, 1, 1},
10691 {0x60, 0x1, 0x1, 0, 0},
10692 {0x61, 0, 0, 0, 0},
10693 {0x62, 0x7, 0x7, 0, 0},
10694 {0x63, 0, 0, 0, 0},
10695 {0x64, 0x7, 0x7, 0, 0},
10696 {0x65, 0, 0, 0, 0},
10697 {0x66, 0, 0, 0, 0},
10698 {0x67, 0, 0, 1, 1},
10699 {0x68, 0, 0, 0, 0},
10700 {0x69, 0xa, 0xa, 0, 0},
10701 {0x6A, 0, 0, 0, 0},
10702 {0x6B, 0, 0, 0, 0},
10703 {0x6C, 0, 0, 0, 0},
10704 {0x6D, 0, 0, 0, 0},
10705 {0x6E, 0, 0, 0, 0},
10706 {0x6F, 0, 0, 0, 0},
10707 {0x70, 0, 0, 0, 0},
10708 {0x71, 0x2, 0x2, 0, 0},
10709 {0x72, 0, 0, 0, 0},
10710 {0x73, 0, 0, 0, 0},
10711 {0x74, 0xe, 0xe, 0, 0},
10712 {0x75, 0xe, 0xe, 0, 0},
10713 {0x76, 0xe, 0xe, 0, 0},
10714 {0x77, 0x13, 0x13, 0, 0},
10715 {0x78, 0x13, 0x13, 0, 0},
10716 {0x79, 0x1b, 0x1b, 0, 0},
10717 {0x7A, 0x1b, 0x1b, 0, 0},
10718 {0x7B, 0x55, 0x55, 0, 0},
10719 {0x7C, 0x5b, 0x5b, 0, 0},
10720 {0x7D, 0x30, 0x30, 1, 1},
10721 {0x7E, 0, 0, 0, 0},
10722 {0x7F, 0, 0, 0, 0},
10723 {0x80, 0, 0, 0, 0},
10724 {0x81, 0, 0, 0, 0},
10725 {0x82, 0, 0, 0, 0},
10726 {0x83, 0, 0, 0, 0},
10727 {0x84, 0, 0, 0, 0},
10728 {0x85, 0, 0, 0, 0},
10729 {0x86, 0, 0, 0, 0},
10730 {0x87, 0, 0, 0, 0},
10731 {0x88, 0, 0, 0, 0},
10732 {0x89, 0, 0, 0, 0},
10733 {0x8A, 0, 0, 0, 0},
10734 {0x8B, 0, 0, 0, 0},
10735 {0x8C, 0, 0, 0, 0},
10736 {0x8D, 0, 0, 0, 0},
10737 {0x8E, 0, 0, 0, 0},
10738 {0x8F, 0, 0, 0, 0},
10739 {0x90, 0, 0, 0, 0},
10740 {0x91, 0, 0, 0, 0},
10741 {0x92, 0, 0, 0, 0},
10742 {0x93, 0x70, 0x70, 0, 0},
10743 {0x94, 0x70, 0x70, 0, 0},
10744 {0x95, 0x70, 0x70, 0, 0},
10745 {0x96, 0x70, 0x70, 0, 0},
10746 {0x97, 0x70, 0x70, 0, 0},
10747 {0x98, 0x70, 0x70, 0, 0},
10748 {0x99, 0x70, 0x70, 0, 0},
10749 {0x9A, 0x70, 0x70, 0, 0},
10750 {0xFFFF, 0, 0, 0, 0},
10753 radio_regs_t regs_RX_2056_rev8
[] = {
10754 {0x02, 0, 0, 0, 0},
10755 {0x03, 0, 0, 0, 0},
10756 {0x04, 0, 0, 0, 0},
10757 {0x05, 0, 0, 0, 0},
10758 {0x06, 0, 0, 0, 0},
10759 {0x07, 0, 0, 0, 0},
10760 {0x08, 0, 0, 0, 0},
10761 {0x09, 0, 0, 0, 0},
10762 {0x0A, 0, 0, 0, 0},
10763 {0x0B, 0, 0, 0, 0},
10764 {0x0C, 0, 0, 0, 0},
10765 {0x0D, 0, 0, 0, 0},
10766 {0x0E, 0, 0, 0, 0},
10767 {0x0F, 0, 0, 0, 0},
10768 {0x10, 0, 0, 0, 0},
10769 {0x11, 0, 0, 0, 0},
10770 {0x12, 0, 0, 0, 0},
10771 {0x13, 0, 0, 0, 0},
10772 {0x14, 0, 0, 0, 0},
10773 {0x15, 0, 0, 0, 0},
10774 {0x16, 0, 0, 0, 0},
10775 {0x17, 0, 0, 0, 0},
10776 {0x18, 0, 0, 0, 0},
10777 {0x19, 0, 0, 0, 0},
10778 {0x1A, 0, 0, 0, 0},
10779 {0x1B, 0, 0, 0, 0},
10780 {0x1C, 0, 0, 0, 0},
10781 {0x1D, 0, 0, 0, 0},
10782 {0x1E, 0, 0, 0, 0},
10783 {0x1F, 0, 0, 0, 0},
10784 {0x20, 0x3, 0x3, 0, 0},
10785 {0x21, 0, 0, 0, 0},
10786 {0x22, 0, 0, 0, 0},
10787 {0x23, 0x90, 0x90, 0, 0},
10788 {0x24, 0x55, 0x55, 0, 0},
10789 {0x25, 0x15, 0x15, 0, 0},
10790 {0x26, 0x5, 0x5, 0, 0},
10791 {0x27, 0x15, 0x15, 0, 0},
10792 {0x28, 0x5, 0x5, 0, 0},
10793 {0x29, 0x20, 0x20, 0, 0},
10794 {0x2A, 0x11, 0x11, 0, 0},
10795 {0x2B, 0x90, 0x90, 0, 0},
10796 {0x2C, 0, 0, 0, 0},
10797 {0x2D, 0x88, 0x88, 0, 0},
10798 {0x2E, 0x32, 0x32, 0, 0},
10799 {0x2F, 0x77, 0x77, 0, 0},
10800 {0x30, 0x17, 0x17, 1, 1},
10801 {0x31, 0xff, 0xff, 1, 1},
10802 {0x32, 0x20, 0x20, 0, 0},
10803 {0x33, 0, 0, 0, 0},
10804 {0x34, 0x88, 0x88, 0, 0},
10805 {0x35, 0x32, 0x32, 0, 0},
10806 {0x36, 0x77, 0x77, 0, 0},
10807 {0x37, 0x17, 0x17, 1, 1},
10808 {0x38, 0xf0, 0xf0, 1, 1},
10809 {0x39, 0x20, 0x20, 0, 0},
10810 {0x3A, 0x8, 0x8, 0, 0},
10811 {0x3B, 0x55, 0x55, 1, 1},
10812 {0x3C, 0, 0, 0, 0},
10813 {0x3D, 0x88, 0x88, 1, 1},
10814 {0x3E, 0, 0, 0, 0},
10815 {0x3F, 0x44, 0x44, 0, 0},
10816 {0x40, 0x7, 0x7, 1, 1},
10817 {0x41, 0x6, 0x6, 0, 0},
10818 {0x42, 0x4, 0x4, 0, 0},
10819 {0x43, 0, 0, 0, 0},
10820 {0x44, 0x8, 0x8, 0, 0},
10821 {0x45, 0x55, 0x55, 1, 1},
10822 {0x46, 0, 0, 0, 0},
10823 {0x47, 0x11, 0x11, 0, 0},
10824 {0x48, 0, 0, 0, 0},
10825 {0x49, 0x44, 0x44, 0, 0},
10826 {0x4A, 0x7, 0x7, 0, 0},
10827 {0x4B, 0x6, 0x6, 0, 0},
10828 {0x4C, 0x4, 0x4, 0, 0},
10829 {0x4D, 0, 0, 0, 0},
10830 {0x4E, 0, 0, 0, 0},
10831 {0x4F, 0x26, 0x26, 1, 1},
10832 {0x50, 0x26, 0x26, 1, 1},
10833 {0x51, 0xf, 0xf, 1, 1},
10834 {0x52, 0xf, 0xf, 1, 1},
10835 {0x53, 0x44, 0x44, 0, 0},
10836 {0x54, 0, 0, 0, 0},
10837 {0x55, 0, 0, 0, 0},
10838 {0x56, 0x8, 0x8, 0, 0},
10839 {0x57, 0x8, 0x8, 0, 0},
10840 {0x58, 0x7, 0x7, 0, 0},
10841 {0x59, 0x22, 0x22, 0, 0},
10842 {0x5A, 0x22, 0x22, 0, 0},
10843 {0x5B, 0x2, 0x2, 0, 0},
10844 {0x5C, 0x4, 0x4, 1, 1},
10845 {0x5D, 0x7, 0x7, 0, 0},
10846 {0x5E, 0x55, 0x55, 0, 0},
10847 {0x5F, 0x23, 0x23, 0, 0},
10848 {0x60, 0x41, 0x41, 0, 0},
10849 {0x61, 0x1, 0x1, 0, 0},
10850 {0x62, 0xa, 0xa, 0, 0},
10851 {0x63, 0, 0, 0, 0},
10852 {0x64, 0, 0, 0, 0},
10853 {0x65, 0, 0, 0, 0},
10854 {0x66, 0, 0, 0, 0},
10855 {0x67, 0, 0, 0, 0},
10856 {0x68, 0, 0, 0, 0},
10857 {0x69, 0, 0, 0, 0},
10858 {0x6A, 0, 0, 0, 0},
10859 {0x6B, 0xc, 0xc, 0, 0},
10860 {0x6C, 0, 0, 0, 0},
10861 {0x6D, 0, 0, 0, 0},
10862 {0x6E, 0, 0, 0, 0},
10863 {0x6F, 0, 0, 0, 0},
10864 {0x70, 0, 0, 0, 0},
10865 {0x71, 0, 0, 0, 0},
10866 {0x72, 0x22, 0x22, 0, 0},
10867 {0x73, 0x22, 0x22, 0, 0},
10868 {0x74, 0, 0, 1, 1},
10869 {0x75, 0xa, 0xa, 0, 0},
10870 {0x76, 0x1, 0x1, 0, 0},
10871 {0x77, 0x22, 0x22, 0, 0},
10872 {0x78, 0x30, 0x30, 0, 0},
10873 {0x79, 0, 0, 0, 0},
10874 {0x7A, 0, 0, 0, 0},
10875 {0x7B, 0, 0, 0, 0},
10876 {0x7C, 0, 0, 0, 0},
10877 {0x7D, 0x5, 0x5, 1, 1},
10878 {0x7E, 0, 0, 0, 0},
10879 {0x7F, 0, 0, 0, 0},
10880 {0x80, 0, 0, 0, 0},
10881 {0x81, 0, 0, 0, 0},
10882 {0x82, 0, 0, 0, 0},
10883 {0x83, 0, 0, 0, 0},
10884 {0x84, 0, 0, 0, 0},
10885 {0x85, 0, 0, 0, 0},
10886 {0x86, 0, 0, 0, 0},
10887 {0x87, 0, 0, 0, 0},
10888 {0x88, 0, 0, 0, 0},
10889 {0x89, 0, 0, 0, 0},
10890 {0x8A, 0, 0, 0, 0},
10891 {0x8B, 0, 0, 0, 0},
10892 {0x8C, 0, 0, 0, 0},
10893 {0x8D, 0, 0, 0, 0},
10894 {0x8E, 0, 0, 0, 0},
10895 {0x8F, 0, 0, 0, 0},
10896 {0x90, 0, 0, 0, 0},
10897 {0x91, 0, 0, 0, 0},
10898 {0x92, 0, 0, 0, 0},
10899 {0x93, 0, 0, 0, 0},
10900 {0x94, 0, 0, 0, 0},
10901 {0xFFFF, 0, 0, 0, 0},
10904 radio_regs_t regs_SYN_2056_rev11
[] = {
10905 {0x02, 0, 0, 0, 0},
10906 {0x03, 0, 0, 0, 0},
10907 {0x04, 0, 0, 0, 0},
10908 {0x05, 0, 0, 0, 0},
10909 {0x06, 0, 0, 0, 0},
10910 {0x07, 0, 0, 0, 0},
10911 {0x08, 0, 0, 0, 0},
10912 {0x09, 0x1, 0x1, 0, 0},
10913 {0x0A, 0, 0, 0, 0},
10914 {0x0B, 0, 0, 0, 0},
10915 {0x0C, 0, 0, 0, 0},
10916 {0x0D, 0, 0, 0, 0},
10917 {0x0E, 0, 0, 0, 0},
10918 {0x0F, 0, 0, 0, 0},
10919 {0x10, 0, 0, 0, 0},
10920 {0x11, 0, 0, 0, 0},
10921 {0x12, 0, 0, 0, 0},
10922 {0x13, 0, 0, 0, 0},
10923 {0x14, 0, 0, 0, 0},
10924 {0x15, 0, 0, 0, 0},
10925 {0x16, 0, 0, 0, 0},
10926 {0x17, 0, 0, 0, 0},
10927 {0x18, 0, 0, 0, 0},
10928 {0x19, 0, 0, 0, 0},
10929 {0x1A, 0, 0, 0, 0},
10930 {0x1B, 0, 0, 0, 0},
10931 {0x1C, 0, 0, 0, 0},
10932 {0x1D, 0, 0, 0, 0},
10933 {0x1E, 0, 0, 0, 0},
10934 {0x1F, 0, 0, 0, 0},
10935 {0x20, 0, 0, 0, 0},
10936 {0x21, 0, 0, 0, 0},
10937 {0x22, 0x60, 0x60, 0, 0},
10938 {0x23, 0x6, 0x6, 0, 0},
10939 {0x24, 0xc, 0xc, 0, 0},
10940 {0x25, 0, 0, 0, 0},
10941 {0x26, 0, 0, 0, 0},
10942 {0x27, 0, 0, 0, 0},
10943 {0x28, 0x1, 0x1, 0, 0},
10944 {0x29, 0, 0, 0, 0},
10945 {0x2A, 0, 0, 0, 0},
10946 {0x2B, 0, 0, 0, 0},
10947 {0x2C, 0, 0, 0, 0},
10948 {0x2D, 0, 0, 0, 0},
10949 {0x2E, 0, 0, 0, 0},
10950 {0x2F, 0x1f, 0x1f, 0, 0},
10951 {0x30, 0x15, 0x15, 0, 0},
10952 {0x31, 0xf, 0xf, 0, 0},
10953 {0x32, 0, 0, 0, 0},
10954 {0x33, 0, 0, 0, 0},
10955 {0x34, 0, 0, 0, 0},
10956 {0x35, 0, 0, 0, 0},
10957 {0x36, 0, 0, 0, 0},
10958 {0x37, 0, 0, 0, 0},
10959 {0x38, 0, 0, 0, 0},
10960 {0x39, 0, 0, 0, 0},
10961 {0x3A, 0, 0, 0, 0},
10962 {0x3B, 0, 0, 0, 0},
10963 {0x3C, 0x13, 0x13, 0, 0},
10964 {0x3D, 0xf, 0xf, 0, 0},
10965 {0x3E, 0x18, 0x18, 0, 0},
10966 {0x3F, 0, 0, 0, 0},
10967 {0x40, 0, 0, 0, 0},
10968 {0x41, 0x20, 0x20, 0, 0},
10969 {0x42, 0x20, 0x20, 0, 0},
10970 {0x43, 0, 0, 0, 0},
10971 {0x44, 0x77, 0x77, 0, 0},
10972 {0x45, 0x7, 0x7, 0, 0},
10973 {0x46, 0x1, 0x1, 0, 0},
10974 {0x47, 0x6, 0x6, 1, 1},
10975 {0x48, 0xf, 0xf, 0, 0},
10976 {0x49, 0x3f, 0x3f, 1, 1},
10977 {0x4A, 0x32, 0x32, 0, 0},
10978 {0x4B, 0x6, 0x6, 1, 1},
10979 {0x4C, 0x6, 0x6, 1, 1},
10980 {0x4D, 0x4, 0x4, 0, 0},
10981 {0x4E, 0x2b, 0x2b, 1, 1},
10982 {0x4F, 0x1, 0x1, 0, 0},
10983 {0x50, 0x1c, 0x1c, 0, 0},
10984 {0x51, 0x2, 0x2, 0, 0},
10985 {0x52, 0x2, 0x2, 0, 0},
10986 {0x53, 0xf7, 0xf7, 1, 1},
10987 {0x54, 0xb4, 0xb4, 0, 0},
10988 {0x55, 0xd2, 0xd2, 0, 0},
10989 {0x56, 0, 0, 0, 0},
10990 {0x57, 0, 0, 0, 0},
10991 {0x58, 0x4, 0x4, 0, 0},
10992 {0x59, 0x96, 0x96, 0, 0},
10993 {0x5A, 0x3e, 0x3e, 0, 0},
10994 {0x5B, 0x3e, 0x3e, 0, 0},
10995 {0x5C, 0x13, 0x13, 0, 0},
10996 {0x5D, 0x2, 0x2, 0, 0},
10997 {0x5E, 0, 0, 0, 0},
10998 {0x5F, 0x7, 0x7, 0, 0},
10999 {0x60, 0x7, 0x7, 1, 1},
11000 {0x61, 0x8, 0x8, 0, 0},
11001 {0x62, 0x3, 0x3, 0, 0},
11002 {0x63, 0, 0, 0, 0},
11003 {0x64, 0, 0, 0, 0},
11004 {0x65, 0, 0, 0, 0},
11005 {0x66, 0, 0, 0, 0},
11006 {0x67, 0, 0, 0, 0},
11007 {0x68, 0x40, 0x40, 0, 0},
11008 {0x69, 0, 0, 0, 0},
11009 {0x6A, 0, 0, 0, 0},
11010 {0x6B, 0, 0, 0, 0},
11011 {0x6C, 0, 0, 0, 0},
11012 {0x6D, 0x1, 0x1, 0, 0},
11013 {0x6E, 0, 0, 0, 0},
11014 {0x6F, 0, 0, 0, 0},
11015 {0x70, 0x60, 0x60, 0, 0},
11016 {0x71, 0x66, 0x66, 0, 0},
11017 {0x72, 0xc, 0xc, 0, 0},
11018 {0x73, 0x66, 0x66, 0, 0},
11019 {0x74, 0x8f, 0x8f, 1, 1},
11020 {0x75, 0, 0, 0, 0},
11021 {0x76, 0xcc, 0xcc, 0, 0},
11022 {0x77, 0x1, 0x1, 0, 0},
11023 {0x78, 0x66, 0x66, 0, 0},
11024 {0x79, 0x66, 0x66, 0, 0},
11025 {0x7A, 0, 0, 0, 0},
11026 {0x7B, 0, 0, 0, 0},
11027 {0x7C, 0, 0, 0, 0},
11028 {0x7D, 0, 0, 0, 0},
11029 {0x7E, 0, 0, 0, 0},
11030 {0x7F, 0, 0, 0, 0},
11031 {0x80, 0, 0, 0, 0},
11032 {0x81, 0, 0, 0, 0},
11033 {0x82, 0, 0, 0, 0},
11034 {0x83, 0, 0, 0, 0},
11035 {0x84, 0, 0, 0, 0},
11036 {0x85, 0xff, 0xff, 0, 0},
11037 {0x86, 0, 0, 0, 0},
11038 {0x87, 0, 0, 0, 0},
11039 {0x88, 0, 0, 0, 0},
11040 {0x89, 0, 0, 0, 0},
11041 {0x8A, 0, 0, 0, 0},
11042 {0x8B, 0, 0, 0, 0},
11043 {0x8C, 0, 0, 0, 0},
11044 {0x8D, 0, 0, 0, 0},
11045 {0x8E, 0, 0, 0, 0},
11046 {0x8F, 0, 0, 0, 0},
11047 {0x90, 0, 0, 0, 0},
11048 {0x91, 0, 0, 0, 0},
11049 {0x92, 0, 0, 0, 0},
11050 {0x93, 0, 0, 0, 0},
11051 {0x94, 0, 0, 0, 0},
11052 {0x95, 0, 0, 0, 0},
11053 {0x96, 0, 0, 0, 0},
11054 {0x97, 0, 0, 0, 0},
11055 {0x98, 0, 0, 0, 0},
11056 {0x99, 0, 0, 0, 0},
11057 {0x9A, 0, 0, 0, 0},
11058 {0x9B, 0, 0, 0, 0},
11059 {0x9C, 0, 0, 0, 0},
11060 {0x9D, 0, 0, 0, 0},
11061 {0x9E, 0, 0, 0, 0},
11062 {0x9F, 0x6, 0x6, 0, 0},
11063 {0xA0, 0x66, 0x66, 0, 0},
11064 {0xA1, 0x66, 0x66, 0, 0},
11065 {0xA2, 0x66, 0x66, 0, 0},
11066 {0xA3, 0x66, 0x66, 0, 0},
11067 {0xA4, 0x66, 0x66, 0, 0},
11068 {0xA5, 0x66, 0x66, 0, 0},
11069 {0xA6, 0x66, 0x66, 0, 0},
11070 {0xA7, 0x66, 0x66, 0, 0},
11071 {0xA8, 0x66, 0x66, 0, 0},
11072 {0xA9, 0x66, 0x66, 0, 0},
11073 {0xAA, 0x66, 0x66, 0, 0},
11074 {0xAB, 0x66, 0x66, 0, 0},
11075 {0xAC, 0x66, 0x66, 0, 0},
11076 {0xAD, 0x66, 0x66, 0, 0},
11077 {0xAE, 0x66, 0x66, 0, 0},
11078 {0xAF, 0x66, 0x66, 0, 0},
11079 {0xB0, 0x66, 0x66, 0, 0},
11080 {0xB1, 0x66, 0x66, 0, 0},
11081 {0xB2, 0x66, 0x66, 0, 0},
11082 {0xB3, 0xa, 0xa, 0, 0},
11083 {0xB4, 0, 0, 0, 0},
11084 {0xB5, 0, 0, 0, 0},
11085 {0xB6, 0, 0, 0, 0},
11086 {0xFFFF, 0, 0, 0, 0},
11089 radio_regs_t regs_TX_2056_rev11
[] = {
11090 {0x02, 0, 0, 0, 0},
11091 {0x03, 0, 0, 0, 0},
11092 {0x04, 0, 0, 0, 0},
11093 {0x05, 0, 0, 0, 0},
11094 {0x06, 0, 0, 0, 0},
11095 {0x07, 0, 0, 0, 0},
11096 {0x08, 0, 0, 0, 0},
11097 {0x09, 0, 0, 0, 0},
11098 {0x0A, 0, 0, 0, 0},
11099 {0x0B, 0, 0, 0, 0},
11100 {0x0C, 0, 0, 0, 0},
11101 {0x0D, 0, 0, 0, 0},
11102 {0x0E, 0, 0, 0, 0},
11103 {0x0F, 0, 0, 0, 0},
11104 {0x10, 0, 0, 0, 0},
11105 {0x11, 0, 0, 0, 0},
11106 {0x12, 0, 0, 0, 0},
11107 {0x13, 0, 0, 0, 0},
11108 {0x14, 0, 0, 0, 0},
11109 {0x15, 0, 0, 0, 0},
11110 {0x16, 0, 0, 0, 0},
11111 {0x17, 0, 0, 0, 0},
11112 {0x18, 0, 0, 0, 0},
11113 {0x19, 0, 0, 0, 0},
11114 {0x1A, 0, 0, 0, 0},
11115 {0x1B, 0, 0, 0, 0},
11116 {0x1C, 0, 0, 0, 0},
11117 {0x1D, 0, 0, 0, 0},
11118 {0x1E, 0, 0, 0, 0},
11119 {0x1F, 0, 0, 0, 0},
11120 {0x20, 0, 0, 0, 0},
11121 {0x21, 0x88, 0x88, 0, 0},
11122 {0x22, 0x88, 0x88, 0, 0},
11123 {0x23, 0x88, 0x88, 0, 0},
11124 {0x24, 0x88, 0x88, 0, 0},
11125 {0x25, 0xc, 0xc, 0, 0},
11126 {0x26, 0, 0, 0, 0},
11127 {0x27, 0x3, 0x3, 0, 0},
11128 {0x28, 0, 0, 0, 0},
11129 {0x29, 0x3, 0x3, 0, 0},
11130 {0x2A, 0x37, 0x37, 0, 0},
11131 {0x2B, 0x3, 0x3, 0, 0},
11132 {0x2C, 0, 0, 0, 0},
11133 {0x2D, 0, 0, 0, 0},
11134 {0x2E, 0x1, 0x1, 0, 0},
11135 {0x2F, 0x1, 0x1, 0, 0},
11136 {0x30, 0, 0, 0, 0},
11137 {0x31, 0, 0, 0, 0},
11138 {0x32, 0, 0, 0, 0},
11139 {0x33, 0x11, 0x11, 0, 0},
11140 {0x34, 0xee, 0xee, 1, 1},
11141 {0x35, 0, 0, 0, 0},
11142 {0x36, 0, 0, 0, 0},
11143 {0x37, 0x3, 0x3, 0, 0},
11144 {0x38, 0x50, 0x50, 1, 1},
11145 {0x39, 0, 0, 0, 0},
11146 {0x3A, 0x50, 0x50, 1, 1},
11147 {0x3B, 0, 0, 0, 0},
11148 {0x3C, 0x6e, 0x6e, 0, 0},
11149 {0x3D, 0xf0, 0xf0, 1, 1},
11150 {0x3E, 0, 0, 0, 0},
11151 {0x3F, 0, 0, 0, 0},
11152 {0x40, 0, 0, 0, 0},
11153 {0x41, 0x3, 0x3, 0, 0},
11154 {0x42, 0x3, 0x3, 0, 0},
11155 {0x43, 0, 0, 0, 0},
11156 {0x44, 0x1e, 0x1e, 0, 0},
11157 {0x45, 0, 0, 0, 0},
11158 {0x46, 0x6e, 0x6e, 0, 0},
11159 {0x47, 0xf0, 0xf0, 1, 1},
11160 {0x48, 0, 0, 0, 0},
11161 {0x49, 0x2, 0x2, 0, 0},
11162 {0x4A, 0xff, 0xff, 1, 1},
11163 {0x4B, 0xc, 0xc, 0, 0},
11164 {0x4C, 0, 0, 0, 0},
11165 {0x4D, 0x38, 0x38, 0, 0},
11166 {0x4E, 0x70, 0x70, 1, 1},
11167 {0x4F, 0x2, 0x2, 0, 0},
11168 {0x50, 0x88, 0x88, 0, 0},
11169 {0x51, 0xc, 0xc, 0, 0},
11170 {0x52, 0, 0, 0, 0},
11171 {0x53, 0x8, 0x8, 0, 0},
11172 {0x54, 0x70, 0x70, 1, 1},
11173 {0x55, 0x2, 0x2, 0, 0},
11174 {0x56, 0xff, 0xff, 1, 1},
11175 {0x57, 0, 0, 0, 0},
11176 {0x58, 0x83, 0x83, 0, 0},
11177 {0x59, 0x77, 0x77, 1, 1},
11178 {0x5A, 0, 0, 0, 0},
11179 {0x5B, 0x2, 0x2, 0, 0},
11180 {0x5C, 0x88, 0x88, 0, 0},
11181 {0x5D, 0, 0, 0, 0},
11182 {0x5E, 0x8, 0x8, 0, 0},
11183 {0x5F, 0x77, 0x77, 1, 1},
11184 {0x60, 0x1, 0x1, 0, 0},
11185 {0x61, 0, 0, 0, 0},
11186 {0x62, 0x7, 0x7, 0, 0},
11187 {0x63, 0, 0, 0, 0},
11188 {0x64, 0x7, 0x7, 0, 0},
11189 {0x65, 0, 0, 0, 0},
11190 {0x66, 0, 0, 0, 0},
11191 {0x67, 0, 0, 1, 1},
11192 {0x68, 0, 0, 0, 0},
11193 {0x69, 0xa, 0xa, 0, 0},
11194 {0x6A, 0, 0, 0, 0},
11195 {0x6B, 0, 0, 0, 0},
11196 {0x6C, 0, 0, 0, 0},
11197 {0x6D, 0, 0, 0, 0},
11198 {0x6E, 0, 0, 0, 0},
11199 {0x6F, 0, 0, 0, 0},
11200 {0x70, 0, 0, 0, 0},
11201 {0x71, 0x2, 0x2, 0, 0},
11202 {0x72, 0, 0, 0, 0},
11203 {0x73, 0, 0, 0, 0},
11204 {0x74, 0xe, 0xe, 0, 0},
11205 {0x75, 0xe, 0xe, 0, 0},
11206 {0x76, 0xe, 0xe, 0, 0},
11207 {0x77, 0x13, 0x13, 0, 0},
11208 {0x78, 0x13, 0x13, 0, 0},
11209 {0x79, 0x1b, 0x1b, 0, 0},
11210 {0x7A, 0x1b, 0x1b, 0, 0},
11211 {0x7B, 0x55, 0x55, 0, 0},
11212 {0x7C, 0x5b, 0x5b, 0, 0},
11213 {0x7D, 0x30, 0x30, 1, 1},
11214 {0x7E, 0, 0, 0, 0},
11215 {0x7F, 0, 0, 0, 0},
11216 {0x80, 0, 0, 0, 0},
11217 {0x81, 0, 0, 0, 0},
11218 {0x82, 0, 0, 0, 0},
11219 {0x83, 0, 0, 0, 0},
11220 {0x84, 0, 0, 0, 0},
11221 {0x85, 0, 0, 0, 0},
11222 {0x86, 0, 0, 0, 0},
11223 {0x87, 0, 0, 0, 0},
11224 {0x88, 0, 0, 0, 0},
11225 {0x89, 0, 0, 0, 0},
11226 {0x8A, 0, 0, 0, 0},
11227 {0x8B, 0, 0, 0, 0},
11228 {0x8C, 0, 0, 0, 0},
11229 {0x8D, 0, 0, 0, 0},
11230 {0x8E, 0, 0, 0, 0},
11231 {0x8F, 0, 0, 0, 0},
11232 {0x90, 0, 0, 0, 0},
11233 {0x91, 0, 0, 0, 0},
11234 {0x92, 0, 0, 0, 0},
11235 {0x93, 0x70, 0x70, 0, 0},
11236 {0x94, 0x70, 0x70, 0, 0},
11237 {0x95, 0x70, 0x70, 0, 0},
11238 {0x96, 0x70, 0x70, 0, 0},
11239 {0x97, 0x70, 0x70, 0, 0},
11240 {0x98, 0x70, 0x70, 0, 0},
11241 {0x99, 0x70, 0x70, 0, 0},
11242 {0x9A, 0x70, 0x70, 0, 0},
11243 {0xFFFF, 0, 0, 0, 0},
11246 radio_regs_t regs_RX_2056_rev11
[] = {
11247 {0x02, 0, 0, 0, 0},
11248 {0x03, 0, 0, 0, 0},
11249 {0x04, 0, 0, 0, 0},
11250 {0x05, 0, 0, 0, 0},
11251 {0x06, 0, 0, 0, 0},
11252 {0x07, 0, 0, 0, 0},
11253 {0x08, 0, 0, 0, 0},
11254 {0x09, 0, 0, 0, 0},
11255 {0x0A, 0, 0, 0, 0},
11256 {0x0B, 0, 0, 0, 0},
11257 {0x0C, 0, 0, 0, 0},
11258 {0x0D, 0, 0, 0, 0},
11259 {0x0E, 0, 0, 0, 0},
11260 {0x0F, 0, 0, 0, 0},
11261 {0x10, 0, 0, 0, 0},
11262 {0x11, 0, 0, 0, 0},
11263 {0x12, 0, 0, 0, 0},
11264 {0x13, 0, 0, 0, 0},
11265 {0x14, 0, 0, 0, 0},
11266 {0x15, 0, 0, 0, 0},
11267 {0x16, 0, 0, 0, 0},
11268 {0x17, 0, 0, 0, 0},
11269 {0x18, 0, 0, 0, 0},
11270 {0x19, 0, 0, 0, 0},
11271 {0x1A, 0, 0, 0, 0},
11272 {0x1B, 0, 0, 0, 0},
11273 {0x1C, 0, 0, 0, 0},
11274 {0x1D, 0, 0, 0, 0},
11275 {0x1E, 0, 0, 0, 0},
11276 {0x1F, 0, 0, 0, 0},
11277 {0x20, 0x3, 0x3, 0, 0},
11278 {0x21, 0, 0, 0, 0},
11279 {0x22, 0, 0, 0, 0},
11280 {0x23, 0x90, 0x90, 0, 0},
11281 {0x24, 0x55, 0x55, 0, 0},
11282 {0x25, 0x15, 0x15, 0, 0},
11283 {0x26, 0x5, 0x5, 0, 0},
11284 {0x27, 0x15, 0x15, 0, 0},
11285 {0x28, 0x5, 0x5, 0, 0},
11286 {0x29, 0x20, 0x20, 0, 0},
11287 {0x2A, 0x11, 0x11, 0, 0},
11288 {0x2B, 0x90, 0x90, 0, 0},
11289 {0x2C, 0, 0, 0, 0},
11290 {0x2D, 0x88, 0x88, 0, 0},
11291 {0x2E, 0x32, 0x32, 0, 0},
11292 {0x2F, 0x77, 0x77, 0, 0},
11293 {0x30, 0x17, 0x17, 1, 1},
11294 {0x31, 0xff, 0xff, 1, 1},
11295 {0x32, 0x20, 0x20, 0, 0},
11296 {0x33, 0, 0, 0, 0},
11297 {0x34, 0x88, 0x88, 0, 0},
11298 {0x35, 0x32, 0x32, 0, 0},
11299 {0x36, 0x77, 0x77, 0, 0},
11300 {0x37, 0x17, 0x17, 1, 1},
11301 {0x38, 0xf0, 0xf0, 1, 1},
11302 {0x39, 0x20, 0x20, 0, 0},
11303 {0x3A, 0x8, 0x8, 0, 0},
11304 {0x3B, 0x55, 0x55, 1, 1},
11305 {0x3C, 0, 0, 0, 0},
11306 {0x3D, 0x88, 0x88, 1, 1},
11307 {0x3E, 0, 0, 0, 0},
11308 {0x3F, 0x44, 0x44, 0, 0},
11309 {0x40, 0x7, 0x7, 1, 1},
11310 {0x41, 0x6, 0x6, 0, 0},
11311 {0x42, 0x4, 0x4, 0, 0},
11312 {0x43, 0, 0, 0, 0},
11313 {0x44, 0x8, 0x8, 0, 0},
11314 {0x45, 0x55, 0x55, 1, 1},
11315 {0x46, 0, 0, 0, 0},
11316 {0x47, 0x11, 0x11, 0, 0},
11317 {0x48, 0, 0, 0, 0},
11318 {0x49, 0x44, 0x44, 0, 0},
11319 {0x4A, 0x7, 0x7, 0, 0},
11320 {0x4B, 0x6, 0x6, 0, 0},
11321 {0x4C, 0x4, 0x4, 0, 0},
11322 {0x4D, 0, 0, 0, 0},
11323 {0x4E, 0, 0, 0, 0},
11324 {0x4F, 0x26, 0x26, 1, 1},
11325 {0x50, 0x26, 0x26, 1, 1},
11326 {0x51, 0xf, 0xf, 1, 1},
11327 {0x52, 0xf, 0xf, 1, 1},
11328 {0x53, 0x44, 0x44, 0, 0},
11329 {0x54, 0, 0, 0, 0},
11330 {0x55, 0, 0, 0, 0},
11331 {0x56, 0x8, 0x8, 0, 0},
11332 {0x57, 0x8, 0x8, 0, 0},
11333 {0x58, 0x7, 0x7, 0, 0},
11334 {0x59, 0x22, 0x22, 0, 0},
11335 {0x5A, 0x22, 0x22, 0, 0},
11336 {0x5B, 0x2, 0x2, 0, 0},
11337 {0x5C, 0x4, 0x4, 1, 1},
11338 {0x5D, 0x7, 0x7, 0, 0},
11339 {0x5E, 0x55, 0x55, 0, 0},
11340 {0x5F, 0x23, 0x23, 0, 0},
11341 {0x60, 0x41, 0x41, 0, 0},
11342 {0x61, 0x1, 0x1, 0, 0},
11343 {0x62, 0xa, 0xa, 0, 0},
11344 {0x63, 0, 0, 0, 0},
11345 {0x64, 0, 0, 0, 0},
11346 {0x65, 0, 0, 0, 0},
11347 {0x66, 0, 0, 0, 0},
11348 {0x67, 0, 0, 0, 0},
11349 {0x68, 0, 0, 0, 0},
11350 {0x69, 0, 0, 0, 0},
11351 {0x6A, 0, 0, 0, 0},
11352 {0x6B, 0xc, 0xc, 0, 0},
11353 {0x6C, 0, 0, 0, 0},
11354 {0x6D, 0, 0, 0, 0},
11355 {0x6E, 0, 0, 0, 0},
11356 {0x6F, 0, 0, 0, 0},
11357 {0x70, 0, 0, 0, 0},
11358 {0x71, 0, 0, 0, 0},
11359 {0x72, 0x22, 0x22, 0, 0},
11360 {0x73, 0x22, 0x22, 0, 0},
11361 {0x74, 0, 0, 1, 1},
11362 {0x75, 0xa, 0xa, 0, 0},
11363 {0x76, 0x1, 0x1, 0, 0},
11364 {0x77, 0x22, 0x22, 0, 0},
11365 {0x78, 0x30, 0x30, 0, 0},
11366 {0x79, 0, 0, 0, 0},
11367 {0x7A, 0, 0, 0, 0},
11368 {0x7B, 0, 0, 0, 0},
11369 {0x7C, 0, 0, 0, 0},
11370 {0x7D, 0x5, 0x5, 1, 1},
11371 {0x7E, 0, 0, 0, 0},
11372 {0x7F, 0, 0, 0, 0},
11373 {0x80, 0, 0, 0, 0},
11374 {0x81, 0, 0, 0, 0},
11375 {0x82, 0, 0, 0, 0},
11376 {0x83, 0, 0, 0, 0},
11377 {0x84, 0, 0, 0, 0},
11378 {0x85, 0, 0, 0, 0},
11379 {0x86, 0, 0, 0, 0},
11380 {0x87, 0, 0, 0, 0},
11381 {0x88, 0, 0, 0, 0},
11382 {0x89, 0, 0, 0, 0},
11383 {0x8A, 0, 0, 0, 0},
11384 {0x8B, 0, 0, 0, 0},
11385 {0x8C, 0, 0, 0, 0},
11386 {0x8D, 0, 0, 0, 0},
11387 {0x8E, 0, 0, 0, 0},
11388 {0x8F, 0, 0, 0, 0},
11389 {0x90, 0, 0, 0, 0},
11390 {0x91, 0, 0, 0, 0},
11391 {0x92, 0, 0, 0, 0},
11392 {0x93, 0, 0, 0, 0},
11393 {0x94, 0, 0, 0, 0},
11394 {0xFFFF, 0, 0, 0, 0},
11397 radio_20xx_regs_t regs_2057_rev4
[] = {
11787 radio_20xx_regs_t regs_2057_rev5
[] = {
12119 radio_20xx_regs_t regs_2057_rev5v1
[] = {
12451 radio_20xx_regs_t regs_2057_rev7
[] = {
12867 radio_20xx_regs_t regs_2057_rev8
[] = {
13283 static int16 nphy_def_lnagains
[] = { -2, 10, 19, 25 };
13285 static int32 nphy_lnagain_est0
[] = { -315, 40370 };
13286 static int32 nphy_lnagain_est1
[] = { -224, 23242 };
13288 static const uint16 tbl_iqcal_gainparams_nphy
[2][NPHY_IQCAL_NUMGAINS
][8] = {
13290 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13291 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13292 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13293 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13294 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13295 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13296 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13297 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13298 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13301 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13302 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13303 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13304 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13305 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13306 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13307 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13308 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13309 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13313 static const uint32 nphy_tpc_txgain
[] = {
13314 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13315 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13316 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13317 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13318 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13319 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13320 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13321 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13322 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13323 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13324 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13325 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13326 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13327 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13328 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13329 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13330 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13331 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13332 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13333 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13334 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13335 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13336 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13337 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13338 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13339 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13340 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13341 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13342 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13343 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13344 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13345 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13348 static const uint16 nphy_tpc_loscale
[] = {
13349 256, 256, 271, 271, 287, 256, 256, 271,
13350 271, 287, 287, 304, 304, 256, 256, 271,
13351 271, 287, 287, 304, 304, 322, 322, 341,
13352 341, 362, 362, 383, 383, 256, 256, 271,
13353 271, 287, 287, 304, 304, 322, 322, 256,
13354 256, 271, 271, 287, 287, 304, 304, 322,
13355 322, 341, 341, 362, 362, 256, 256, 271,
13356 271, 287, 287, 304, 304, 322, 322, 256,
13357 256, 271, 271, 287, 287, 304, 304, 322,
13358 322, 341, 341, 362, 362, 256, 256, 271,
13359 271, 287, 287, 304, 304, 322, 322, 341,
13360 341, 362, 362, 383, 383, 406, 406, 430,
13361 430, 455, 455, 482, 482, 511, 511, 541,
13362 541, 573, 573, 607, 607, 643, 643, 681,
13363 681, 722, 722, 764, 764, 810, 810, 858,
13364 858, 908, 908, 962, 962, 1019, 1019, 256
13367 static uint32 nphy_tpc_txgain_ipa
[] = {
13368 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13369 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13370 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13371 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13372 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13373 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13374 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13375 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13376 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13377 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13378 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13379 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13380 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13381 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13382 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13383 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13384 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13385 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13386 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13387 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13388 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13389 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13390 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13391 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13392 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13393 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13394 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13395 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13396 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13397 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13398 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13399 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13402 static uint32 nphy_tpc_txgain_ipa_rev5
[] = {
13403 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13404 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13405 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13406 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13407 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13408 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13409 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13410 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13411 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13412 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13413 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13414 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13415 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13416 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13417 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13418 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13419 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13420 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13421 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13422 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13423 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13424 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13425 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13426 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13427 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13428 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13429 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13430 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13431 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13432 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13433 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13434 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13437 static uint32 nphy_tpc_txgain_ipa_rev6
[] = {
13438 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13439 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13440 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13441 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13442 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13443 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13444 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13445 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13446 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13447 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13448 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13449 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13450 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13451 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13452 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13453 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13454 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13455 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13456 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13457 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13458 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13459 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13460 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13461 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13462 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13463 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13464 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13465 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13466 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13467 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13468 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13469 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13472 static uint32 nphy_tpc_txgain_ipa_2g_2057rev3
[] = {
13473 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13474 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13475 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13476 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13477 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13478 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13479 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13480 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13481 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13482 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13483 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13484 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13485 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13486 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13487 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13488 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13489 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13490 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13491 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13492 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13493 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13494 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13495 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13496 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13497 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13498 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13499 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13500 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13501 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13502 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13503 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13504 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13507 static uint32 nphy_tpc_txgain_ipa_2g_2057rev4n6
[] = {
13508 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13509 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13510 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13511 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13512 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13513 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13514 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13515 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13516 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13517 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13518 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13519 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13520 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13521 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13522 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13523 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13524 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13525 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13526 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13527 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13528 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13529 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13530 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13531 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13532 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13533 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13534 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13535 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13536 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13537 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13538 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13539 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13542 static uint32 nphy_tpc_txgain_ipa_2g_2057rev5
[] = {
13543 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13544 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13545 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13546 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13547 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13548 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13549 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13550 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13551 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13552 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13553 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13554 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13555 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13556 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13557 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13558 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13559 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13560 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13561 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13562 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13563 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13577 static uint32 nphy_tpc_txgain_ipa_2g_2057rev7
[] = {
13578 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13579 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13580 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13581 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13582 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13583 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13584 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13585 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13586 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13587 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13588 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13589 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13590 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13591 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13592 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13593 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13594 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13595 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13596 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13597 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13598 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13599 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13612 static uint32 nphy_tpc_txgain_ipa_5g
[] = {
13613 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13614 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13615 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13616 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13617 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13618 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13619 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13620 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13621 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13622 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13623 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13624 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13625 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13626 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13627 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13628 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13629 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13630 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13631 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13632 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13633 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13634 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13635 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13636 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13637 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13638 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13639 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13640 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13641 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13642 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13643 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13644 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13647 static uint32 nphy_tpc_txgain_ipa_5g_2057
[] = {
13648 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13649 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13650 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13651 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13652 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13653 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13654 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13655 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13656 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13657 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13658 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13659 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13660 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13661 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13662 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13663 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13664 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13665 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13666 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13667 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13668 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13669 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13670 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13671 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13672 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13673 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13674 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13675 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13676 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13677 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13678 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13679 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13682 static uint32 nphy_tpc_txgain_ipa_5g_2057rev7
[] = {
13683 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13684 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13685 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13686 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13687 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13688 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13689 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13690 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13691 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13692 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13693 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13694 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13695 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13696 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13697 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13698 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13699 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13700 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13701 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13702 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13703 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13704 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13705 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13706 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13707 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13708 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13709 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13710 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13711 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13714 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13717 static s8 nphy_papd_pga_gain_delta_ipa_2g
[] = {
13718 -114, -108, -98, -91, -84, -78, -70, -62,
13719 -54, -46, -39, -31, -23, -15, -8, 0
13722 static s8 nphy_papd_pga_gain_delta_ipa_5g
[] = {
13723 -100, -95, -89, -83, -77, -70, -63, -56,
13724 -48, -41, -33, -25, -19, -12, -6, 0
13727 static int16 nphy_papd_padgain_dlt_2g_2057rev3n4
[] = {
13728 -159, -113, -86, -72, -62, -54, -48, -43,
13729 -39, -35, -31, -28, -25, -23, -20, -18,
13730 -17, -15, -13, -11, -10, -8, -7, -6,
13731 -5, -4, -3, -3, -2, -1, -1, 0
13734 static int16 nphy_papd_padgain_dlt_2g_2057rev5
[] = {
13735 -109, -109, -82, -68, -58, -50, -44, -39,
13736 -35, -31, -28, -26, -23, -21, -19, -17,
13737 -16, -14, -13, -11, -10, -9, -8, -7,
13738 -5, -5, -4, -3, -2, -1, -1, 0
13741 static int16 nphy_papd_padgain_dlt_2g_2057rev7
[] = {
13742 -122, -122, -95, -80, -69, -61, -54, -49,
13743 -43, -39, -35, -32, -28, -26, -23, -21,
13744 -18, -16, -15, -13, -11, -10, -8, -7,
13745 -6, -5, -4, -3, -2, -1, -1, 0
13748 static s8 nphy_papd_pgagain_dlt_5g_2057
[] = {
13749 -107, -101, -92, -85, -78, -71, -62, -55,
13750 -47, -39, -32, -24, -19, -12, -6, 0
13753 static s8 nphy_papd_pgagain_dlt_5g_2057rev7
[] = {
13754 -110, -104, -95, -88, -81, -74, -66, -58,
13755 -50, -44, -36, -28, -23, -15, -8, 0
13758 static u8 pad_gain_codes_used_2057rev5
[] = {
13759 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13760 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13763 static u8 pad_gain_codes_used_2057rev7
[] = {
13764 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13768 static u8 pad_all_gain_codes_2057
[] = {
13769 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13770 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13771 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13775 static u8 pga_all_gain_codes_2057
[] = {
13776 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13779 static uint32 nphy_papd_scaltbl
[] = {
13780 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13781 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13782 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13783 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13784 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13785 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13786 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13787 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13788 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13789 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13790 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13791 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13792 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13793 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13794 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13795 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13798 static uint32 nphy_tpc_txgain_rev3
[] = {
13799 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13800 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13801 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13802 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13803 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13804 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13805 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13806 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13807 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13808 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13809 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13810 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13811 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13812 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13813 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13814 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13815 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13816 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13817 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13818 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13819 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13820 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13821 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13822 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13823 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13824 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13825 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13826 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13827 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13828 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13829 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13830 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13833 static uint32 nphy_tpc_txgain_HiPwrEPA
[] = {
13834 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13835 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13836 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13837 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13838 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13839 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13840 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13841 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13842 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13843 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13844 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13845 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13846 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13847 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13848 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13849 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13850 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13851 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13852 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13853 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13854 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13855 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13856 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13857 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13858 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13859 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13860 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13861 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13862 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13863 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13864 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13865 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13868 static uint32 nphy_tpc_txgain_epa_2057rev3
[] = {
13869 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13870 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13871 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13872 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13873 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13874 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13875 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13876 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13877 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13878 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13879 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13880 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13881 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13882 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13883 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13884 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13885 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13886 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13887 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13888 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13889 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13890 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13903 static uint32 nphy_tpc_txgain_epa_2057rev5
[] = {
13904 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13905 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13906 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13907 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13908 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13909 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13910 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13911 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13912 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13913 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13914 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13915 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13916 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13917 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13918 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13919 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13920 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13921 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13922 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13923 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13924 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13925 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13926 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13927 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13928 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13929 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13930 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13931 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13932 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13933 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13934 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13935 0x10090001, 0x10090001, 0x10090001, 0x10090001
13938 static uint32 nphy_tpc_5GHz_txgain_rev3
[] = {
13939 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13940 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13941 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13942 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13943 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13944 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13945 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13946 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13947 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13948 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13949 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13950 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13951 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13952 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13953 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13954 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13955 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13956 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13957 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13958 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13959 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13960 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13961 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13962 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13963 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13964 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13965 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13966 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13967 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13968 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13969 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13970 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13973 static uint32 nphy_tpc_5GHz_txgain_rev4
[] = {
13974 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13975 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13976 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13977 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13978 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13979 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13980 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13981 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13982 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13983 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13984 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13985 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13986 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13987 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13988 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13989 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13990 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13991 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13992 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13993 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13994 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13995 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13996 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13997 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
13998 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
13999 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14000 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14001 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14002 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14003 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14004 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14005 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14008 static uint32 nphy_tpc_5GHz_txgain_rev5
[] = {
14009 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14010 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14011 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14012 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14013 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14014 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14015 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14016 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14017 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14018 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14019 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14020 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14021 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14022 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14023 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14024 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14025 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14026 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14027 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14028 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14029 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14030 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14031 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14032 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14033 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14034 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14035 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14036 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14037 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14038 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14039 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14040 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14043 static uint32 nphy_tpc_5GHz_txgain_HiPwrEPA
[] = {
14044 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14045 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14046 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14047 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14048 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14049 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14050 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14051 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14052 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14053 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14054 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14055 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14056 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14057 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14058 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14059 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14060 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14061 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14062 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14063 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14064 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14065 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14066 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14067 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14068 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14069 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14070 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14071 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14072 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14073 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14074 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14075 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14078 static u8 ant_sw_ctrl_tbl_rev8_2o3
[] = { 0x14, 0x18 };
14079 static u8 ant_sw_ctrl_tbl_rev8
[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14080 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0
[] = {
14081 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14082 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1
[] = {
14083 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14085 static bool wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
14086 chan_info_nphy_radio2057_t
**t0
,
14087 chan_info_nphy_radio205x_t
**t1
,
14088 chan_info_nphy_radio2057_rev5_t
**t2
,
14089 chan_info_nphy_2055_t
**t3
);
14090 static void wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chans
,
14091 const nphy_sfo_cfg_t
*c
);
14093 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
,
14094 uint16 reduction_factr
);
14095 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *,
14097 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
);
14098 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
);
14099 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
);
14101 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
);
14102 static void wlc_phy_radio_init_2055(phy_info_t
*pi
);
14103 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
);
14104 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
);
14105 static void wlc_phy_radio_init_2056(phy_info_t
*pi
);
14106 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
);
14107 static void wlc_phy_radio_init_2057(phy_info_t
*pi
);
14108 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
);
14109 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
);
14110 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
);
14111 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
);
14112 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
);
14113 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
);
14115 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
);
14116 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
);
14117 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
);
14118 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t tg
,
14120 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rxcore
,
14121 uint16
*rg
, u8 type
);
14122 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, int32 preamble
);
14123 static void wlc_phy_savecal_nphy(phy_info_t
*pi
);
14124 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
);
14125 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
);
14127 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t
*pi
);
14128 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
);
14129 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
);
14130 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, uint16 core
);
14132 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14133 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14134 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
);
14135 static uint16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
);
14136 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
);
14137 static uint32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
);
14139 static void wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, uint32 winsz
, uint32
,
14141 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
);
14142 static void wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*,
14143 phy_cal_mode_t
, u8
);
14144 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
,
14145 nphy_papd_restore_state
*state
);
14146 static void wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
,
14147 nphy_papd_restore_state
*state
, u8
);
14149 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, uint16
*vals
);
14151 static void wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*evts
,
14154 static uint16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, uint16 offset
);
14157 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, uint16 field
, uint16 value
,
14158 u8 core_mask
, u8 off
,
14161 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
);
14162 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
);
14164 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t
*pi
);
14165 static void wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
,
14166 uint16
*pwr_offset
,
14167 u8 tmp_max_pwr
, u8 rate_start
,
14170 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
);
14171 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
);
14172 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
);
14173 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
);
14175 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
);
14176 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
);
14177 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
,
14179 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
);
14181 static uint16
wlc_phy_radio205x_rcal(phy_info_t
*pi
);
14183 static uint16
wlc_phy_radio2057_rccal(phy_info_t
*pi
);
14185 static uint16
wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, uint32 f_kHz
,
14188 static void wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cint32
*tone_buf
,
14190 static void wlc_phy_runsamples_nphy(phy_info_t
*pi
, uint16 n
, uint16 lps
,
14191 uint16 wait
, u8 iq
, u8 dac_test_mode
,
14192 bool modify_bbmult
);
14194 bool wlc_phy_bist_check_phy(wlc_phy_t
*pih
)
14196 phy_info_t
*pi
= (phy_info_t
*) pih
;
14197 uint32 phybist0
, phybist1
, phybist2
, phybist3
, phybist4
;
14199 if (NREV_GE(pi
->pubpi
.phy_rev
, 16))
14202 phybist0
= read_phy_reg(pi
, 0x0e);
14203 phybist1
= read_phy_reg(pi
, 0x0f);
14204 phybist2
= read_phy_reg(pi
, 0xea);
14205 phybist3
= read_phy_reg(pi
, 0xeb);
14206 phybist4
= read_phy_reg(pi
, 0x156);
14208 if ((phybist0
== 0) && (phybist1
== 0x4000) && (phybist2
== 0x1fe0) &&
14209 (phybist3
== 0) && (phybist4
== 0)) {
14216 static void WLBANDINITFN(wlc_phy_bphy_init_nphy
) (phy_info_t
*pi
)
14220 ASSERT(ISNPHY(pi
));
14223 for (addr
= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT
);
14224 addr
<= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT_END
); addr
++) {
14225 write_phy_reg(pi
, addr
, val
);
14226 if (addr
== (NPHY_TO_BPHY_OFF
+ 0x97))
14232 if (NORADIO_ENAB(pi
->pubpi
)) {
14234 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_PHYCRSTH
, 0x3206);
14236 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_RSSI_TRESH
, 0x281e);
14238 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_LNA_GAIN_RANGE
, 0x1a);
14242 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_STEP
, 0x668);
14247 wlc_phy_table_write_nphy(phy_info_t
*pi
, uint32 id
, uint32 len
, uint32 offset
,
14248 uint32 width
, const void *data
)
14250 mimophytbl_info_t tbl
;
14254 tbl
.tbl_offset
= offset
;
14255 tbl
.tbl_width
= width
;
14256 tbl
.tbl_ptr
= data
;
14257 wlc_phy_write_table_nphy(pi
, &tbl
);
14261 wlc_phy_table_read_nphy(phy_info_t
*pi
, uint32 id
, uint32 len
, uint32 offset
,
14262 uint32 width
, void *data
)
14264 mimophytbl_info_t tbl
;
14268 tbl
.tbl_offset
= offset
;
14269 tbl
.tbl_width
= width
;
14270 tbl
.tbl_ptr
= data
;
14271 wlc_phy_read_table_nphy(pi
, &tbl
);
14274 static void WLBANDINITFN(wlc_phy_static_table_download_nphy
) (phy_info_t
*pi
)
14278 if (NREV_GE(pi
->pubpi
.phy_rev
, 16)) {
14279 for (idx
= 0; idx
< mimophytbl_info_sz_rev16
; idx
++)
14280 wlc_phy_write_table_nphy(pi
,
14281 &mimophytbl_info_rev16
[idx
]);
14282 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14283 for (idx
= 0; idx
< mimophytbl_info_sz_rev7
; idx
++)
14284 wlc_phy_write_table_nphy(pi
,
14285 &mimophytbl_info_rev7
[idx
]);
14286 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14287 for (idx
= 0; idx
< mimophytbl_info_sz_rev3
; idx
++)
14288 wlc_phy_write_table_nphy(pi
,
14289 &mimophytbl_info_rev3
[idx
]);
14291 for (idx
= 0; idx
< mimophytbl_info_sz_rev0
; idx
++)
14292 wlc_phy_write_table_nphy(pi
,
14293 &mimophytbl_info_rev0
[idx
]);
14297 static void WLBANDINITFN(wlc_phy_tbl_init_nphy
) (phy_info_t
*pi
)
14302 if (pi
->phy_init_por
)
14303 wlc_phy_static_table_download_nphy(pi
);
14305 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14307 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14308 pi
->srom_fem2g
.antswctrllut
: pi
->srom_fem5g
.antswctrllut
;
14310 switch (antswctrllut
) {
14317 if (pi
->aa2g
== 7) {
14319 wlc_phy_table_write_nphy(pi
,
14320 NPHY_TBL_ID_ANTSWCTRLLUT
,
14322 &ant_sw_ctrl_tbl_rev8_2o3
14325 wlc_phy_table_write_nphy(pi
,
14326 NPHY_TBL_ID_ANTSWCTRLLUT
,
14328 &ant_sw_ctrl_tbl_rev8
14331 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14333 &ant_sw_ctrl_tbl_rev8
[2]);
14334 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14336 &ant_sw_ctrl_tbl_rev8
[4]);
14341 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14343 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14345 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14347 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14349 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14351 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14354 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14356 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14358 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14360 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14362 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14364 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14374 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14375 for (idx
= 0; idx
< mimophytbl_info_sz_rev3_volatile
; idx
++) {
14377 if (idx
== ANT_SWCTRL_TBL_REV3_IDX
) {
14378 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14379 pi
->srom_fem2g
.antswctrllut
: pi
->
14380 srom_fem5g
.antswctrllut
;
14381 switch (antswctrllut
) {
14383 wlc_phy_write_table_nphy(pi
,
14384 &mimophytbl_info_rev3_volatile
14388 wlc_phy_write_table_nphy(pi
,
14389 &mimophytbl_info_rev3_volatile1
14393 wlc_phy_write_table_nphy(pi
,
14394 &mimophytbl_info_rev3_volatile2
14398 wlc_phy_write_table_nphy(pi
,
14399 &mimophytbl_info_rev3_volatile3
14408 wlc_phy_write_table_nphy(pi
,
14409 &mimophytbl_info_rev3_volatile
14414 for (idx
= 0; idx
< mimophytbl_info_sz_rev0_volatile
; idx
++) {
14415 wlc_phy_write_table_nphy(pi
,
14416 &mimophytbl_info_rev0_volatile
14423 wlc_phy_write_txmacreg_nphy(phy_info_t
*pi
, uint16 holdoff
, uint16 delay
)
14425 write_phy_reg(pi
, 0x77, holdoff
);
14426 write_phy_reg(pi
, 0xb4, delay
);
14429 void wlc_phy_nphy_tkip_rifs_war(phy_info_t
*pi
, u8 rifs
)
14431 uint16 holdoff
, delay
;
14443 wlc_phy_write_txmacreg_nphy(pi
, holdoff
, delay
);
14445 if (pi
&& pi
->sh
&& (pi
->sh
->_rifs_phy
!= rifs
)) {
14446 pi
->sh
->_rifs_phy
= rifs
;
14450 bool wlc_phy_attach_nphy(phy_info_t
*pi
)
14454 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14455 pi
->phyhang_avoid
= TRUE
;
14458 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14460 pi
->nphy_gband_spurwar_en
= TRUE
;
14462 if (pi
->sh
->boardflags2
& BFL2_SPUR_WAR
) {
14463 pi
->nphy_aband_spurwar_en
= TRUE
;
14466 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14468 if (pi
->sh
->boardflags2
& BFL2_2G_SPUR_WAR
) {
14469 pi
->nphy_gband_spurwar2_en
= TRUE
;
14473 pi
->n_preamble_override
= AUTO
;
14474 if (NREV_IS(pi
->pubpi
.phy_rev
, 3) || NREV_IS(pi
->pubpi
.phy_rev
, 4))
14475 pi
->n_preamble_override
= WLC_N_PREAMBLE_MIXEDMODE
;
14477 pi
->nphy_txrx_chain
= AUTO
;
14478 pi
->phy_scraminit
= AUTO
;
14480 pi
->nphy_rxcalparams
= 0x010100B5;
14482 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
14483 pi
->mphase_cal_phase_id
= MPHASE_CAL_STATE_IDLE
;
14484 pi
->mphase_txcal_numcmds
= MPHASE_TXCAL_NUMCMDS
;
14486 pi
->nphy_gain_boost
= TRUE
;
14487 pi
->nphy_elna_gain_config
= FALSE
;
14488 pi
->radio_is_on
= FALSE
;
14490 for (i
= 0; i
< pi
->pubpi
.phy_corenum
; i
++) {
14491 pi
->nphy_txpwrindex
[i
].index
= AUTO
;
14494 wlc_phy_txpwrctrl_config_nphy(pi
);
14495 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_ON
)
14496 pi
->hwpwrctrl_capable
= TRUE
;
14498 pi
->pi_fptr
.init
= wlc_phy_init_nphy
;
14499 pi
->pi_fptr
.calinit
= wlc_phy_cal_init_nphy
;
14500 pi
->pi_fptr
.chanset
= wlc_phy_chanspec_set_nphy
;
14501 pi
->pi_fptr
.txpwrrecalc
= wlc_phy_txpower_recalc_target_nphy
;
14503 if (!wlc_phy_txpwr_srom_read_nphy(pi
))
14509 static void BCMATTACHFN(wlc_phy_txpwrctrl_config_nphy
) (phy_info_t
*pi
)
14512 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14513 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14514 pi
->phy_5g_pwrgain
= TRUE
;
14518 pi
->nphy_txpwrctrl
= PHY_TPC_HW_OFF
;
14519 pi
->phy_5g_pwrgain
= FALSE
;
14521 if ((pi
->sh
->boardflags2
& BFL2_TXPWRCTRL_EN
) &&
14522 NREV_GE(pi
->pubpi
.phy_rev
, 2) && (pi
->sh
->sromrev
>= 4))
14523 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14524 else if ((pi
->sh
->sromrev
>= 4)
14525 && (pi
->sh
->boardflags2
& BFL2_5G_PWRGAIN
))
14526 pi
->phy_5g_pwrgain
= TRUE
;
14529 void WLBANDINITFN(wlc_phy_init_nphy
) (phy_info_t
*pi
)
14532 uint16 clip1_ths
[2];
14533 nphy_txgains_t target_gain
;
14534 u8 tx_pwr_ctrl_state
;
14535 bool do_nphy_cal
= FALSE
;
14537 uint origidx
, intr_val
;
14539 uint32 d11_clk_ctl_st
;
14543 if (!(pi
->measure_hold
& PHY_HOLD_FOR_SCAN
)) {
14544 pi
->measure_hold
|= PHY_HOLD_FOR_NOT_ASSOC
;
14547 if ((ISNPHY(pi
)) && (NREV_GE(pi
->pubpi
.phy_rev
, 5)) &&
14548 ((pi
->sh
->chippkg
== BCM4717_PKG_ID
) ||
14549 (pi
->sh
->chippkg
== BCM4718_PKG_ID
))) {
14550 if ((pi
->sh
->boardflags
& BFL_EXTLNA
) &&
14551 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
14552 si_corereg(pi
->sh
->sih
, SI_CC_IDX
,
14553 OFFSETOF(chipcregs_t
, chipcontrol
), 0x40,
14558 if ((!PHY_IPA(pi
)) && (CHIPID(pi
->sh
->chip
) == BCM5357_CHIP_ID
)) {
14559 si_pmu_chipcontrol(pi
->sh
->sih
, 1, CCTRL5357_EXTPA
,
14563 if ((pi
->nphy_gband_spurwar2_en
) && CHSPEC_IS2G(pi
->radio_chanspec
) &&
14564 CHSPEC_IS40(pi
->radio_chanspec
)) {
14566 regs
= (d11regs_t
*) si_switch_core(pi
->sh
->sih
, D11_CORE_ID
,
14567 &origidx
, &intr_val
);
14568 ASSERT(regs
!= NULL
);
14570 d11_clk_ctl_st
= R_REG(pi
->sh
->osh
, ®s
->clk_ctl_st
);
14571 AND_REG(pi
->sh
->osh
, ®s
->clk_ctl_st
,
14572 ~(CCS_FORCEHT
| CCS_HTAREQ
));
14574 W_REG(pi
->sh
->osh
, ®s
->clk_ctl_st
, d11_clk_ctl_st
);
14576 si_restore_core(pi
->sh
->sih
, origidx
, intr_val
);
14579 pi
->use_int_tx_iqlo_cal_nphy
=
14581 (NREV_GE(pi
->pubpi
.phy_rev
, 7) ||
14582 (NREV_GE(pi
->pubpi
.phy_rev
, 5)
14583 && pi
->sh
->boardflags2
& BFL2_INTERNDET_TXIQCAL
)));
14585 pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
= FALSE
;
14587 pi
->nphy_deaf_count
= 0;
14589 wlc_phy_tbl_init_nphy(pi
);
14591 pi
->nphy_crsminpwr_adjusted
= FALSE
;
14592 pi
->nphy_noisevars_adjusted
= FALSE
;
14594 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14595 write_phy_reg(pi
, 0xe7, 0);
14596 write_phy_reg(pi
, 0xec, 0);
14597 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14598 write_phy_reg(pi
, 0x342, 0);
14599 write_phy_reg(pi
, 0x343, 0);
14600 write_phy_reg(pi
, 0x346, 0);
14601 write_phy_reg(pi
, 0x347, 0);
14603 write_phy_reg(pi
, 0xe5, 0);
14604 write_phy_reg(pi
, 0xe6, 0);
14606 write_phy_reg(pi
, 0xec, 0);
14609 write_phy_reg(pi
, 0x91, 0);
14610 write_phy_reg(pi
, 0x92, 0);
14611 if (NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14612 write_phy_reg(pi
, 0x93, 0);
14613 write_phy_reg(pi
, 0x94, 0);
14616 and_phy_reg(pi
, 0xa1, ~3);
14618 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14619 write_phy_reg(pi
, 0x8f, 0);
14620 write_phy_reg(pi
, 0xa5, 0);
14622 write_phy_reg(pi
, 0xa5, 0);
14625 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
14626 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
14627 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
14628 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
14630 write_phy_reg(pi
, 0x203, 32);
14631 write_phy_reg(pi
, 0x201, 32);
14633 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
)
14634 write_phy_reg(pi
, 0x20d, 160);
14636 write_phy_reg(pi
, 0x20d, 184);
14638 write_phy_reg(pi
, 0x13a, 200);
14640 write_phy_reg(pi
, 0x70, 80);
14642 write_phy_reg(pi
, 0x1ff, 48);
14644 if (NREV_LT(pi
->pubpi
.phy_rev
, 8)) {
14645 wlc_phy_update_mimoconfig_nphy(pi
, pi
->n_preamble_override
);
14648 wlc_phy_stf_chain_upd_nphy(pi
);
14650 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
14651 write_phy_reg(pi
, 0x180, 0xaa8);
14652 write_phy_reg(pi
, 0x181, 0x9a4);
14656 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
14658 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
14659 0x29b, (0x1 << 0), (1) << 0);
14661 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x298 :
14662 0x29c, (0x1ff << 7),
14663 (pi
->nphy_papd_epsilon_offset
[core
]) << 7);
14667 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
14670 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
14671 wlc_phy_extpa_set_tx_digi_filts_nphy(pi
);
14675 wlc_phy_workarounds_nphy(pi
);
14677 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14679 val
= read_phy_reg(pi
, 0x01);
14680 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14681 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14682 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14684 wlapi_bmac_macphyclk_set(pi
->sh
->physhim
, ON
);
14686 wlc_phy_pa_override_nphy(pi
, OFF
);
14687 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
14688 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14689 wlc_phy_pa_override_nphy(pi
, ON
);
14691 wlc_phy_classifier_nphy(pi
, 0, 0);
14692 wlc_phy_clip_det_nphy(pi
, 0, clip1_ths
);
14694 if (CHSPEC_IS2G(pi
->radio_chanspec
))
14695 wlc_phy_bphy_init_nphy(pi
);
14697 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
14698 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
14700 wlc_phy_txpwr_fixpower_nphy(pi
);
14702 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
14704 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
14706 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14707 uint32
*tx_pwrctrl_tbl
= NULL
;
14711 int32 rfpwr_offset
= 0;
14714 tx_pwrctrl_tbl
= wlc_phy_get_ipa_gaintbl_nphy(pi
);
14716 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
14718 (pi
->pubpi
.phy_rev
, 3) {
14720 nphy_tpc_5GHz_txgain_rev3
;
14722 (pi
->pubpi
.phy_rev
, 4) {
14724 (pi
->srom_fem5g
.extpagain
== 3) ?
14725 nphy_tpc_5GHz_txgain_HiPwrEPA
:
14726 nphy_tpc_5GHz_txgain_rev4
;
14729 nphy_tpc_5GHz_txgain_rev5
;
14733 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14734 if (pi
->pubpi
.radiorev
== 5) {
14736 nphy_tpc_txgain_epa_2057rev5
;
14737 } else if (pi
->pubpi
.radiorev
== 3) {
14739 nphy_tpc_txgain_epa_2057rev3
;
14743 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
14744 (pi
->srom_fem2g
.extpagain
== 3)) {
14746 nphy_tpc_txgain_HiPwrEPA
;
14749 nphy_tpc_txgain_rev3
;
14755 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14756 192, 32, tx_pwrctrl_tbl
);
14757 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14758 192, 32, tx_pwrctrl_tbl
);
14760 pi
->nphy_gmval
= (uint16
) ((*tx_pwrctrl_tbl
>> 16) & 0x7000);
14762 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14764 for (idx
= 0; idx
< 128; idx
++) {
14765 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14766 pad_gn
= (tx_pwrctrl_tbl
[idx
] >> 19) & 0x1f;
14768 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14769 if ((pi
->pubpi
.radiorev
== 3) ||
14770 (pi
->pubpi
.radiorev
== 4) ||
14771 (pi
->pubpi
.radiorev
== 6)) {
14772 rfpwr_offset
= (int16
)
14773 nphy_papd_padgain_dlt_2g_2057rev3n4
14775 } else if (pi
->pubpi
.radiorev
== 5) {
14776 rfpwr_offset
= (int16
)
14777 nphy_papd_padgain_dlt_2g_2057rev5
14779 } else if ((pi
->pubpi
.radiorev
== 7)
14780 || (pi
->pubpi
.radiorev
==
14782 rfpwr_offset
= (int16
)
14783 nphy_papd_padgain_dlt_2g_2057rev7
14790 if ((pi
->pubpi
.radiorev
== 3) ||
14791 (pi
->pubpi
.radiorev
== 4) ||
14792 (pi
->pubpi
.radiorev
== 6)) {
14793 rfpwr_offset
= (int16
)
14794 nphy_papd_pgagain_dlt_5g_2057
14796 } else if ((pi
->pubpi
.radiorev
== 7)
14797 || (pi
->pubpi
.radiorev
==
14799 rfpwr_offset
= (int16
)
14800 nphy_papd_pgagain_dlt_5g_2057rev7
14806 wlc_phy_table_write_nphy(pi
,
14807 NPHY_TBL_ID_CORE1TXPWRCTL
,
14810 wlc_phy_table_write_nphy(pi
,
14811 NPHY_TBL_ID_CORE2TXPWRCTL
,
14817 for (idx
= 0; idx
< 128; idx
++) {
14818 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14819 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14820 rfpwr_offset
= (int16
)
14821 nphy_papd_pga_gain_delta_ipa_2g
14824 rfpwr_offset
= (int16
)
14825 nphy_papd_pga_gain_delta_ipa_5g
14829 wlc_phy_table_write_nphy(pi
,
14830 NPHY_TBL_ID_CORE1TXPWRCTL
,
14833 wlc_phy_table_write_nphy(pi
,
14834 NPHY_TBL_ID_CORE2TXPWRCTL
,
14842 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14843 192, 32, nphy_tpc_txgain
);
14844 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14845 192, 32, nphy_tpc_txgain
);
14848 if (pi
->sh
->phyrxchain
!= 0x3) {
14849 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
*) pi
,
14850 pi
->sh
->phyrxchain
);
14853 if (PHY_PERICAL_MPHASE_PENDING(pi
)) {
14854 wlc_phy_cal_perical_mphase_restart(pi
);
14857 if (!NORADIO_ENAB(pi
->pubpi
)) {
14858 bool do_rssi_cal
= FALSE
;
14860 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14861 do_rssi_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14862 (pi
->nphy_rssical_chanspec_2G
== 0) :
14863 (pi
->nphy_rssical_chanspec_5G
== 0);
14866 wlc_phy_rssi_cal_nphy(pi
);
14868 wlc_phy_restore_rssical_nphy(pi
);
14871 wlc_phy_rssi_cal_nphy(pi
);
14874 if (!SCAN_RM_IN_PROGRESS(pi
)) {
14875 do_nphy_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14876 (pi
->nphy_iqcal_chanspec_2G
== 0) :
14877 (pi
->nphy_iqcal_chanspec_5G
== 0);
14880 if (!pi
->do_initcal
)
14881 do_nphy_cal
= FALSE
;
14885 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
14887 if (pi
->antsel_type
== ANTSEL_2x3
)
14888 wlc_phy_antsel_init((wlc_phy_t
*) pi
, TRUE
);
14890 if (pi
->nphy_perical
!= PHY_PERICAL_MPHASE
) {
14891 wlc_phy_rssi_cal_nphy(pi
);
14893 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14894 pi
->nphy_cal_orig_pwr_idx
[0] =
14895 pi
->nphy_txpwrindex
[PHY_CORE_0
].
14897 pi
->nphy_cal_orig_pwr_idx
[1] =
14898 pi
->nphy_txpwrindex
[PHY_CORE_1
].
14901 wlc_phy_precal_txgain_nphy(pi
);
14903 wlc_phy_get_tx_gain_nphy(pi
);
14906 if (wlc_phy_cal_txiqlo_nphy
14907 (pi
, target_gain
, TRUE
, FALSE
) == BCME_OK
) {
14908 if (wlc_phy_cal_rxiq_nphy
14909 (pi
, target_gain
, 2,
14910 FALSE
) == BCME_OK
) {
14911 wlc_phy_savecal_nphy(pi
);
14915 } else if (pi
->mphase_cal_phase_id
==
14916 MPHASE_CAL_STATE_IDLE
) {
14918 wlc_phy_cal_perical((wlc_phy_t
*) pi
,
14919 PHY_PERICAL_PHYINIT
);
14922 wlc_phy_restorecal_nphy(pi
);
14926 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
14928 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
14930 wlc_phy_nphy_tkip_rifs_war(pi
, pi
->sh
->_rifs_phy
);
14932 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LE(pi
->pubpi
.phy_rev
, 6))
14934 write_phy_reg(pi
, 0x70, 50);
14936 wlc_phy_txlpfbw_nphy(pi
);
14938 wlc_phy_spurwar_nphy(pi
);
14942 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, int32 preamble
)
14944 bool gf_preamble
= FALSE
;
14947 if (preamble
== WLC_N_PREAMBLE_GF
) {
14948 gf_preamble
= TRUE
;
14951 val
= read_phy_reg(pi
, 0xed);
14953 val
|= RX_GF_MM_AUTO
;
14954 val
&= ~RX_GF_OR_MM
;
14956 val
|= RX_GF_OR_MM
;
14958 write_phy_reg(pi
, 0xed, val
);
14961 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
)
14965 ASSERT(0 == (R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
14967 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14969 val
= read_phy_reg(pi
, 0x01);
14970 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14972 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14974 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14976 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14979 void wlc_phy_pa_override_nphy(phy_info_t
*pi
, bool en
)
14981 uint16 rfctrlintc_override_val
;
14985 pi
->rfctrlIntc1_save
= read_phy_reg(pi
, 0x91);
14986 pi
->rfctrlIntc2_save
= read_phy_reg(pi
, 0x92);
14988 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14989 rfctrlintc_override_val
= 0x1480;
14990 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14991 rfctrlintc_override_val
=
14992 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x600 : 0x480;
14994 rfctrlintc_override_val
=
14995 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
14998 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
14999 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
15002 write_phy_reg(pi
, 0x91, pi
->rfctrlIntc1_save
);
15003 write_phy_reg(pi
, 0x92, pi
->rfctrlIntc2_save
);
15008 void wlc_phy_stf_chain_upd_nphy(phy_info_t
*pi
)
15011 uint16 txrx_chain
=
15012 (NPHY_RfseqCoreActv_TxRxChain0
| NPHY_RfseqCoreActv_TxRxChain1
);
15013 bool CoreActv_override
= FALSE
;
15015 if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN0
) {
15016 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain0
;
15017 CoreActv_override
= TRUE
;
15019 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15020 and_phy_reg(pi
, 0xa0, ~0x20);
15022 } else if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN1
) {
15023 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain1
;
15024 CoreActv_override
= TRUE
;
15026 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15027 or_phy_reg(pi
, 0xa0, 0x20);
15031 mod_phy_reg(pi
, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain
);
15033 if (CoreActv_override
) {
15035 pi
->nphy_perical
= PHY_PERICAL_DISABLE
;
15036 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
15038 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
15039 and_phy_reg(pi
, 0xa1, ~NPHY_RfseqMode_CoreActv_override
);
15043 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t
*pih
, u8 rxcore_bitmask
)
15046 uint16 tbl_buf
[16];
15048 phy_info_t
*pi
= (phy_info_t
*) pih
;
15052 pi
->sh
->phyrxchain
= rxcore_bitmask
;
15058 (0 == (R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
15060 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
15062 if (pi
->phyhang_avoid
)
15063 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
15065 regval
= read_phy_reg(pi
, 0xa2);
15066 regval
&= ~(0xf << 4);
15067 regval
|= ((uint16
) (rxcore_bitmask
& 0x3)) << 4;
15068 write_phy_reg(pi
, 0xa2, regval
);
15070 if ((rxcore_bitmask
& 0x3) != 0x3) {
15072 write_phy_reg(pi
, 0x20e, 1);
15074 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15075 if (pi
->rx2tx_biasentry
== -1) {
15076 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15077 ARRAYSIZE(tbl_buf
), 80,
15080 for (i
= 0; i
< ARRAYSIZE(tbl_buf
); i
++) {
15082 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
) {
15084 pi
->rx2tx_biasentry
= (u8
) i
;
15086 NPHY_REV3_RFSEQ_CMD_NOP
;
15087 wlc_phy_table_write_nphy(pi
,
15093 } else if (tbl_buf
[i
] ==
15094 NPHY_REV3_RFSEQ_CMD_END
) {
15102 write_phy_reg(pi
, 0x20e, 30);
15104 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15105 if (pi
->rx2tx_biasentry
!= -1) {
15106 tbl_opcode
= NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
;
15107 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15108 1, pi
->rx2tx_biasentry
,
15110 pi
->rx2tx_biasentry
= -1;
15115 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
15117 if (pi
->phyhang_avoid
)
15118 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
15121 wlapi_enable_mac(pi
->sh
->physhim
);
15124 u8
wlc_phy_rxcore_getstate_nphy(wlc_phy_t
*pih
)
15126 uint16 regval
, rxen_bits
;
15127 phy_info_t
*pi
= (phy_info_t
*) pih
;
15129 regval
= read_phy_reg(pi
, 0xa2);
15130 rxen_bits
= (regval
>> 4) & 0xf;
15132 return (u8
) rxen_bits
;
15135 bool wlc_phy_n_txpower_ipa_ison(phy_info_t
*pi
)
15137 return PHY_IPA(pi
);
15140 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
)
15142 u8 idx
, idx2
, i
, delta_ind
;
15144 for (idx
= TXP_FIRST_CCK
; idx
<= TXP_LAST_CCK
; idx
++) {
15145 pi
->adj_pwr_tbl_nphy
[idx
] = pi
->tx_power_offset
[idx
];
15148 for (i
= 0; i
< 4; i
++) {
15156 if (CHSPEC_IS40(pi
->radio_chanspec
)
15157 && NPHY_IS_SROM_REINTERPRET
) {
15158 idx
= TXP_FIRST_MCS_40_SISO
;
15160 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15161 TXP_FIRST_OFDM_40_SISO
: TXP_FIRST_OFDM
;
15168 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15169 TXP_FIRST_MCS_40_CDD
: TXP_FIRST_MCS_20_CDD
;
15174 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15175 TXP_FIRST_MCS_40_STBC
: TXP_FIRST_MCS_20_STBC
;
15180 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15181 TXP_FIRST_MCS_40_SDM
: TXP_FIRST_MCS_20_SDM
;
15185 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15186 pi
->tx_power_offset
[idx
];
15187 idx
= idx
+ delta_ind
;
15188 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15189 pi
->tx_power_offset
[idx
];
15190 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15191 pi
->tx_power_offset
[idx
];
15192 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15193 pi
->tx_power_offset
[idx
++];
15195 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15196 pi
->tx_power_offset
[idx
++];
15197 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15198 pi
->tx_power_offset
[idx
];
15199 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15200 pi
->tx_power_offset
[idx
];
15201 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15202 pi
->tx_power_offset
[idx
++];
15204 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15205 pi
->tx_power_offset
[idx
++];
15206 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15207 pi
->tx_power_offset
[idx
];
15208 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15209 pi
->tx_power_offset
[idx
];
15210 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15211 pi
->tx_power_offset
[idx
++];
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 idx
= idx
+ 1 - delta_ind
;
15220 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15221 pi
->tx_power_offset
[idx
];
15223 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15224 pi
->tx_power_offset
[idx
];
15225 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15226 pi
->tx_power_offset
[idx
];
15227 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15228 pi
->tx_power_offset
[idx
];
15229 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15230 pi
->tx_power_offset
[idx
];
15234 void wlc_phy_cal_init_nphy(phy_info_t
*pi
)
15238 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t
*pi
, u8 core
)
15240 if (core
== PHY_CORE_0
) {
15241 write_phy_reg(pi
, 0x38, 0x4);
15242 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15243 write_phy_reg(pi
, 0x37, 0x0060);
15245 write_phy_reg(pi
, 0x37, 0x1080);
15247 } else if (core
== PHY_CORE_1
) {
15248 write_phy_reg(pi
, 0x2ae, 0x4);
15249 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15250 write_phy_reg(pi
, 0x2ad, 0x0060);
15252 write_phy_reg(pi
, 0x2ad, 0x1080);
15257 static void wlc_phy_war_txchain_upd_nphy(phy_info_t
*pi
, u8 txchain
)
15259 u8 txchain0
, txchain1
;
15261 txchain0
= txchain
& 0x1;
15262 txchain1
= (txchain
& 0x2) >> 1;
15264 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
15268 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
15272 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
)
15274 u8 rfseq_rx2tx_events
[] = {
15275 NPHY_RFSEQ_CMD_NOP
,
15276 NPHY_RFSEQ_CMD_RXG_FBW
,
15277 NPHY_RFSEQ_CMD_TR_SWITCH
,
15278 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
15279 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15280 NPHY_RFSEQ_CMD_TX_GAIN
,
15281 NPHY_RFSEQ_CMD_EXT_PA
15283 u8 rfseq_rx2tx_dlys
[] = { 8, 6, 6, 2, 4, 60, 1 };
15284 u8 rfseq_tx2rx_events
[] = {
15285 NPHY_RFSEQ_CMD_NOP
,
15286 NPHY_RFSEQ_CMD_EXT_PA
,
15287 NPHY_RFSEQ_CMD_TX_GAIN
,
15288 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15289 NPHY_RFSEQ_CMD_TR_SWITCH
,
15290 NPHY_RFSEQ_CMD_RXG_FBW
,
15291 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15293 u8 rfseq_tx2rx_dlys
[] = { 8, 6, 2, 4, 4, 6, 1 };
15294 u8 rfseq_tx2rx_events_rev3
[] = {
15295 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15296 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15297 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15298 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15299 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15300 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15301 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15302 NPHY_REV3_RFSEQ_CMD_END
15304 u8 rfseq_tx2rx_dlys_rev3
[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15305 u8 rfseq_rx2tx_events_rev3
[] = {
15306 NPHY_REV3_RFSEQ_CMD_NOP
,
15307 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15308 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15309 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15310 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15311 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15312 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15313 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15314 NPHY_REV3_RFSEQ_CMD_END
15316 u8 rfseq_rx2tx_dlys_rev3
[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15318 u8 rfseq_rx2tx_events_rev3_ipa
[] = {
15319 NPHY_REV3_RFSEQ_CMD_NOP
,
15320 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15321 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15322 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15323 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15324 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15325 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
,
15326 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15327 NPHY_REV3_RFSEQ_CMD_END
15329 u8 rfseq_rx2tx_dlys_rev3_ipa
[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15330 uint16 rfseq_rx2tx_dacbufpu_rev7
[] = { 0x10f, 0x10f };
15332 int16 alpha0
, alpha1
, alpha2
;
15333 int16 beta0
, beta1
, beta2
;
15334 uint32 leg_data_weights
, ht_data_weights
, nss1_data_weights
,
15336 u8 chan_freq_range
= 0;
15337 uint16 dac_control
= 0x0002;
15338 uint16 aux_adc_vmid_rev7_core0
[] = { 0x8e, 0x96, 0x96, 0x96 };
15339 uint16 aux_adc_vmid_rev7_core1
[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15340 uint16 aux_adc_vmid_rev4
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15341 uint16 aux_adc_vmid_rev3
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15342 uint16
*aux_adc_vmid
;
15343 uint16 aux_adc_gain_rev7
[] = { 0x02, 0x02, 0x02, 0x02 };
15344 uint16 aux_adc_gain_rev4
[] = { 0x02, 0x02, 0x02, 0x00 };
15345 uint16 aux_adc_gain_rev3
[] = { 0x02, 0x02, 0x02, 0x00 };
15346 uint16
*aux_adc_gain
;
15347 uint16 sk_adc_vmid
[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15348 uint16 sk_adc_gain
[] = { 0x02, 0x02, 0x02, 0x02 };
15349 int32 min_nvar_val
= 0x18d;
15350 int32 min_nvar_offset_6mbps
= 20;
15354 uint16 afectrl_adc_ctrl1_rev7
= 0x20;
15355 uint16 afectrl_adc_ctrl2_rev7
= 0x0;
15356 uint16 rfseq_rx2tx_lpf_h_hpc_rev7
= 0x77;
15357 uint16 rfseq_tx2rx_lpf_h_hpc_rev7
= 0x77;
15358 uint16 rfseq_pktgn_lpf_h_hpc_rev7
= 0x77;
15359 uint16 rfseq_htpktgn_lpf_hpc_rev7
[] = { 0x77, 0x11, 0x11 };
15360 uint16 rfseq_pktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15361 uint16 rfseq_cckpktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15362 uint16 ipalvlshift_3p3_war_en
= 0;
15363 uint16 rccal_bcap_val
, rccal_scap_val
;
15364 uint16 rccal_tx20_11b_bcap
= 0;
15365 uint16 rccal_tx20_11b_scap
= 0;
15366 uint16 rccal_tx20_11n_bcap
= 0;
15367 uint16 rccal_tx20_11n_scap
= 0;
15368 uint16 rccal_tx40_11n_bcap
= 0;
15369 uint16 rccal_tx40_11n_scap
= 0;
15370 uint16 rx2tx_lpf_rc_lut_tx20_11b
= 0;
15371 uint16 rx2tx_lpf_rc_lut_tx20_11n
= 0;
15372 uint16 rx2tx_lpf_rc_lut_tx40_11n
= 0;
15373 uint16 tx_lpf_bw_ofdm_20mhz
= 0;
15374 uint16 tx_lpf_bw_ofdm_40mhz
= 0;
15375 uint16 tx_lpf_bw_11b
= 0;
15376 uint16 ipa2g_mainbias
, ipa2g_casconv
, ipa2g_biasfilt
;
15377 uint16 txgm_idac_bleed
= 0;
15378 bool rccal_ovrd
= FALSE
;
15382 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
15383 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 0);
15385 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 1);
15388 if (pi
->phyhang_avoid
)
15389 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
15391 if (!ISSIM_ENAB(pi
->sh
->sih
)) {
15392 or_phy_reg(pi
, 0xb1, NPHY_IQFlip_ADC1
| NPHY_IQFlip_ADC2
);
15395 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
15397 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
15398 mod_phy_reg(pi
, 0x221, (0x1 << 4), (1 << 4));
15400 mod_phy_reg(pi
, 0x160, (0x7f << 0), (32 << 0));
15401 mod_phy_reg(pi
, 0x160, (0x7f << 8), (39 << 8));
15402 mod_phy_reg(pi
, 0x161, (0x7f << 0), (46 << 0));
15403 mod_phy_reg(pi
, 0x161, (0x7f << 8), (51 << 8));
15404 mod_phy_reg(pi
, 0x162, (0x7f << 0), (55 << 0));
15405 mod_phy_reg(pi
, 0x162, (0x7f << 8), (58 << 8));
15406 mod_phy_reg(pi
, 0x163, (0x7f << 0), (60 << 0));
15407 mod_phy_reg(pi
, 0x163, (0x7f << 8), (62 << 8));
15408 mod_phy_reg(pi
, 0x164, (0x7f << 0), (62 << 0));
15409 mod_phy_reg(pi
, 0x164, (0x7f << 8), (63 << 8));
15410 mod_phy_reg(pi
, 0x165, (0x7f << 0), (63 << 0));
15411 mod_phy_reg(pi
, 0x165, (0x7f << 8), (64 << 8));
15412 mod_phy_reg(pi
, 0x166, (0x7f << 0), (64 << 0));
15413 mod_phy_reg(pi
, 0x166, (0x7f << 8), (64 << 8));
15414 mod_phy_reg(pi
, 0x167, (0x7f << 0), (64 << 0));
15415 mod_phy_reg(pi
, 0x167, (0x7f << 8), (64 << 8));
15418 if (NREV_LE(pi
->pubpi
.phy_rev
, 8)) {
15419 write_phy_reg(pi
, 0x23f, 0x1b0);
15420 write_phy_reg(pi
, 0x240, 0x1b0);
15423 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
15424 mod_phy_reg(pi
, 0xbd, (0xff << 0), (114 << 0));
15427 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15429 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
15432 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15433 1, 0, 32, &leg_data_weights
);
15434 leg_data_weights
= leg_data_weights
& 0xffffff;
15435 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15436 1, 0, 32, &leg_data_weights
);
15438 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15440 rfseq_rx2tx_dacbufpu_rev7
);
15441 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x16e, 16,
15442 rfseq_rx2tx_dacbufpu_rev7
);
15445 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15446 rfseq_rx2tx_events_rev3_ipa
,
15447 rfseq_rx2tx_dlys_rev3_ipa
,
15449 (rfseq_rx2tx_events_rev3_ipa
) /
15451 (rfseq_rx2tx_events_rev3_ipa
15455 mod_phy_reg(pi
, 0x299, (0x3 << 14), (0x1 << 14));
15456 mod_phy_reg(pi
, 0x29d, (0x3 << 14), (0x1 << 14));
15458 tx_lpf_bw_ofdm_20mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x154);
15459 tx_lpf_bw_ofdm_40mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x159);
15460 tx_lpf_bw_11b
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x152);
15464 if (((pi
->pubpi
.radiorev
== 5)
15465 && (CHSPEC_IS40(pi
->radio_chanspec
) == 1))
15466 || (pi
->pubpi
.radiorev
== 7)
15467 || (pi
->pubpi
.radiorev
== 8)) {
15471 RADIO_2057_RCCAL_BCAP_VAL
);
15474 RADIO_2057_RCCAL_SCAP_VAL
);
15476 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15477 rccal_tx20_11b_scap
= rccal_scap_val
;
15479 if ((pi
->pubpi
.radiorev
== 5) &&
15480 (CHSPEC_IS40(pi
->radio_chanspec
) == 1)) {
15482 rccal_tx20_11n_bcap
= rccal_bcap_val
;
15483 rccal_tx20_11n_scap
= rccal_scap_val
;
15484 rccal_tx40_11n_bcap
= 0xc;
15485 rccal_tx40_11n_scap
= 0xc;
15489 } else if ((pi
->pubpi
.radiorev
== 7)
15490 || (pi
->pubpi
.radiorev
== 8)) {
15492 tx_lpf_bw_ofdm_20mhz
= 4;
15495 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15496 rccal_tx20_11n_bcap
= 0xc;
15497 rccal_tx20_11n_scap
= 0xc;
15498 rccal_tx40_11n_bcap
= 0xa;
15499 rccal_tx40_11n_scap
= 0xa;
15501 rccal_tx20_11n_bcap
= 0x14;
15502 rccal_tx20_11n_scap
= 0x14;
15503 rccal_tx40_11n_bcap
= 0xf;
15504 rccal_tx40_11n_scap
= 0xf;
15513 if (pi
->pubpi
.radiorev
== 5) {
15515 tx_lpf_bw_ofdm_20mhz
= 1;
15516 tx_lpf_bw_ofdm_40mhz
= 3;
15520 RADIO_2057_RCCAL_BCAP_VAL
);
15523 RADIO_2057_RCCAL_SCAP_VAL
);
15525 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15526 rccal_tx20_11b_scap
= rccal_scap_val
;
15528 rccal_tx20_11n_bcap
= 0x13;
15529 rccal_tx20_11n_scap
= 0x11;
15530 rccal_tx40_11n_bcap
= 0x13;
15531 rccal_tx40_11n_scap
= 0x11;
15539 rx2tx_lpf_rc_lut_tx20_11b
= (rccal_tx20_11b_bcap
<< 8) |
15540 (rccal_tx20_11b_scap
<< 3) | tx_lpf_bw_11b
;
15541 rx2tx_lpf_rc_lut_tx20_11n
= (rccal_tx20_11n_bcap
<< 8) |
15542 (rccal_tx20_11n_scap
<< 3) | tx_lpf_bw_ofdm_20mhz
;
15543 rx2tx_lpf_rc_lut_tx40_11n
= (rccal_tx40_11n_bcap
<< 8) |
15544 (rccal_tx40_11n_scap
<< 3) | tx_lpf_bw_ofdm_40mhz
;
15546 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15547 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15549 0x152 + coreNum
* 0x10,
15551 &rx2tx_lpf_rc_lut_tx20_11b
);
15552 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15554 0x153 + coreNum
* 0x10,
15556 &rx2tx_lpf_rc_lut_tx20_11n
);
15557 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15559 0x154 + coreNum
* 0x10,
15561 &rx2tx_lpf_rc_lut_tx20_11n
);
15562 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15564 0x155 + coreNum
* 0x10,
15566 &rx2tx_lpf_rc_lut_tx40_11n
);
15567 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15569 0x156 + coreNum
* 0x10,
15571 &rx2tx_lpf_rc_lut_tx40_11n
);
15572 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15574 0x157 + coreNum
* 0x10,
15576 &rx2tx_lpf_rc_lut_tx40_11n
);
15577 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15579 0x158 + coreNum
* 0x10,
15581 &rx2tx_lpf_rc_lut_tx40_11n
);
15582 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15584 0x159 + coreNum
* 0x10,
15586 &rx2tx_lpf_rc_lut_tx40_11n
);
15589 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
15591 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
15594 if (!NORADIO_ENAB(pi
->pubpi
)) {
15595 write_phy_reg(pi
, 0x32f, 0x3);
15598 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
15599 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
15601 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
15604 if ((pi
->pubpi
.radiorev
== 3) || (pi
->pubpi
.radiorev
== 4) ||
15605 (pi
->pubpi
.radiorev
== 6)) {
15606 if ((pi
->sh
->sromrev
>= 8)
15607 && (pi
->sh
->boardflags2
& BFL2_IPALVLSHIFT_3P3
))
15608 ipalvlshift_3p3_war_en
= 1;
15610 if (ipalvlshift_3p3_war_en
) {
15611 write_radio_reg(pi
, RADIO_2057_GPAIO_CONFIG
,
15613 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL1
,
15615 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL0
, 0x0);
15617 RADIO_2057_RXTXBIAS_CONFIG_CORE0
,
15620 RADIO_2057_RXTXBIAS_CONFIG_CORE1
,
15623 ipa2g_mainbias
= 0x1f;
15625 ipa2g_casconv
= 0x6f;
15627 ipa2g_biasfilt
= 0xaa;
15630 ipa2g_mainbias
= 0x2b;
15632 ipa2g_casconv
= 0x7f;
15634 ipa2g_biasfilt
= 0xee;
15637 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15638 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15639 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15640 coreNum
, IPA2G_IMAIN
,
15642 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15643 coreNum
, IPA2G_CASCONV
,
15645 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15654 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15655 if ((pi
->pubpi
.radiorev
== 3)
15656 || (pi
->pubpi
.radiorev
== 4)
15657 || (pi
->pubpi
.radiorev
== 6)) {
15659 txgm_idac_bleed
= 0x7f;
15662 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15663 if (txgm_idac_bleed
!= 0)
15664 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15670 if (pi
->pubpi
.radiorev
== 5) {
15672 for (coreNum
= 0; coreNum
<= 1;
15674 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15678 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15682 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15686 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15690 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15692 PAD_BIAS_FILTER_BWS
,
15696 } else if ((pi
->pubpi
.radiorev
== 7)
15697 || (pi
->pubpi
.radiorev
== 8)) {
15699 if (CHSPEC_IS40(pi
->radio_chanspec
) ==
15701 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15705 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15710 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15714 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15723 CHAN5G_FREQ(CHSPEC_CHANNEL
15724 (pi
->radio_chanspec
));
15725 if (((freq
>= 5180) && (freq
<= 5230))
15726 || ((freq
>= 5745) && (freq
<= 5805))) {
15727 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15728 0, IPA5G_BIAS_FILTER
,
15730 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15731 1, IPA5G_BIAS_FILTER
,
15737 if (pi
->pubpi
.radiorev
!= 5) {
15738 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15739 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15741 TXMIX2G_TUNE_BOOST_PU
,
15743 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15745 TXGM_IDAC_BLEED
, 0x70);
15750 if (pi
->pubpi
.radiorev
== 4) {
15751 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15753 &afectrl_adc_ctrl1_rev7
);
15754 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15756 &afectrl_adc_ctrl1_rev7
);
15758 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15759 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15760 AFE_VCM_CAL_MASTER
, 0x0);
15761 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15762 AFE_SET_VCM_I
, 0x3f);
15763 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15764 AFE_SET_VCM_Q
, 0x3f);
15767 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
15768 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
15769 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
15770 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
15772 mod_phy_reg(pi
, 0xa6, (0x1 << 0), 0);
15773 mod_phy_reg(pi
, 0x8f, (0x1 << 0), (0x1 << 0));
15774 mod_phy_reg(pi
, 0xa7, (0x1 << 0), 0);
15775 mod_phy_reg(pi
, 0xa5, (0x1 << 0), (0x1 << 0));
15777 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15779 &afectrl_adc_ctrl2_rev7
);
15780 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15782 &afectrl_adc_ctrl2_rev7
);
15784 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
15785 mod_phy_reg(pi
, 0x8f, (0x1 << 2), 0);
15786 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
15787 mod_phy_reg(pi
, 0xa5, (0x1 << 2), 0);
15790 write_phy_reg(pi
, 0x6a, 0x2);
15792 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 256, 32,
15793 &min_nvar_offset_6mbps
);
15795 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x138, 16,
15796 &rfseq_pktgn_lpf_hpc_rev7
);
15798 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x141, 16,
15799 &rfseq_pktgn_lpf_h_hpc_rev7
);
15801 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 3, 0x133, 16,
15802 &rfseq_htpktgn_lpf_hpc_rev7
);
15804 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x146, 16,
15805 &rfseq_cckpktgn_lpf_hpc_rev7
);
15807 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x123, 16,
15808 &rfseq_tx2rx_lpf_h_hpc_rev7
);
15810 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x12A, 16,
15811 &rfseq_rx2tx_lpf_h_hpc_rev7
);
15813 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15814 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15815 32, &min_nvar_val
);
15816 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15817 127, 32, &min_nvar_val
);
15819 min_nvar_val
= noise_var_tbl_rev7
[3];
15820 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15821 32, &min_nvar_val
);
15823 min_nvar_val
= noise_var_tbl_rev7
[127];
15824 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15825 127, 32, &min_nvar_val
);
15828 wlc_phy_workarounds_nphy_gainctrl(pi
);
15831 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
15832 pdetrange
: pi
->srom_fem2g
.pdetrange
;
15834 if (pdetrange
== 0) {
15836 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
15837 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15838 aux_adc_vmid_rev7_core0
[3] = 0x70;
15839 aux_adc_vmid_rev7_core1
[3] = 0x70;
15840 aux_adc_gain_rev7
[3] = 2;
15842 aux_adc_vmid_rev7_core0
[3] = 0x80;
15843 aux_adc_vmid_rev7_core1
[3] = 0x80;
15844 aux_adc_gain_rev7
[3] = 3;
15846 } else if (pdetrange
== 1) {
15847 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15848 aux_adc_vmid_rev7_core0
[3] = 0x7c;
15849 aux_adc_vmid_rev7_core1
[3] = 0x7c;
15850 aux_adc_gain_rev7
[3] = 2;
15852 aux_adc_vmid_rev7_core0
[3] = 0x8c;
15853 aux_adc_vmid_rev7_core1
[3] = 0x8c;
15854 aux_adc_gain_rev7
[3] = 1;
15856 } else if (pdetrange
== 2) {
15857 if (pi
->pubpi
.radioid
== BCM2057_ID
) {
15858 if ((pi
->pubpi
.radiorev
== 5)
15859 || (pi
->pubpi
.radiorev
== 7)
15860 || (pi
->pubpi
.radiorev
== 8)) {
15861 if (chan_freq_range
==
15862 WL_CHAN_FREQ_RANGE_2G
) {
15863 aux_adc_vmid_rev7_core0
[3] =
15865 aux_adc_vmid_rev7_core1
[3] =
15867 aux_adc_gain_rev7
[3] = 0;
15869 aux_adc_vmid_rev7_core0
[3] =
15871 aux_adc_vmid_rev7_core1
[3] =
15873 aux_adc_gain_rev7
[3] = 0;
15878 } else if (pdetrange
== 3) {
15879 if (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
) {
15880 aux_adc_vmid_rev7_core0
[3] = 0x89;
15881 aux_adc_vmid_rev7_core1
[3] = 0x89;
15882 aux_adc_gain_rev7
[3] = 0;
15885 } else if (pdetrange
== 5) {
15887 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15888 aux_adc_vmid_rev7_core0
[3] = 0x80;
15889 aux_adc_vmid_rev7_core1
[3] = 0x80;
15890 aux_adc_gain_rev7
[3] = 3;
15892 aux_adc_vmid_rev7_core0
[3] = 0x70;
15893 aux_adc_vmid_rev7_core1
[3] = 0x70;
15894 aux_adc_gain_rev7
[3] = 2;
15898 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x08, 16,
15899 &aux_adc_vmid_rev7_core0
);
15900 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x18, 16,
15901 &aux_adc_vmid_rev7_core1
);
15902 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x0c, 16,
15903 &aux_adc_gain_rev7
);
15904 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x1c, 16,
15905 &aux_adc_gain_rev7
);
15907 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15909 write_phy_reg(pi
, 0x23f, 0x1f8);
15910 write_phy_reg(pi
, 0x240, 0x1f8);
15912 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15913 1, 0, 32, &leg_data_weights
);
15914 leg_data_weights
= leg_data_weights
& 0xffffff;
15915 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15916 1, 0, 32, &leg_data_weights
);
15924 write_phy_reg(pi
, 0x145, alpha0
);
15925 write_phy_reg(pi
, 0x146, alpha1
);
15926 write_phy_reg(pi
, 0x147, alpha2
);
15927 write_phy_reg(pi
, 0x148, beta0
);
15928 write_phy_reg(pi
, 0x149, beta1
);
15929 write_phy_reg(pi
, 0x14a, beta2
);
15931 write_phy_reg(pi
, 0x38, 0xC);
15932 write_phy_reg(pi
, 0x2ae, 0xC);
15934 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
,
15935 rfseq_tx2rx_events_rev3
,
15936 rfseq_tx2rx_dlys_rev3
,
15937 sizeof(rfseq_tx2rx_events_rev3
) /
15938 sizeof(rfseq_tx2rx_events_rev3
[0]));
15941 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15942 rfseq_rx2tx_events_rev3_ipa
,
15943 rfseq_rx2tx_dlys_rev3_ipa
,
15945 (rfseq_rx2tx_events_rev3_ipa
) /
15947 (rfseq_rx2tx_events_rev3_ipa
15951 if ((pi
->sh
->hw_phyrxchain
!= 0x3) &&
15952 (pi
->sh
->hw_phyrxchain
!= pi
->sh
->hw_phytxchain
)) {
15955 rfseq_rx2tx_dlys_rev3
[5] = 59;
15956 rfseq_rx2tx_dlys_rev3
[6] = 1;
15957 rfseq_rx2tx_events_rev3
[7] =
15958 NPHY_REV3_RFSEQ_CMD_END
;
15961 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15962 rfseq_rx2tx_events_rev3
,
15963 rfseq_rx2tx_dlys_rev3
,
15964 sizeof(rfseq_rx2tx_events_rev3
) /
15965 sizeof(rfseq_rx2tx_events_rev3
15969 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15970 write_phy_reg(pi
, 0x6a, 0x2);
15972 write_phy_reg(pi
, 0x6a, 0x9c40);
15975 mod_phy_reg(pi
, 0x294, (0xf << 8), (7 << 8));
15977 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15978 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15979 32, &min_nvar_val
);
15980 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15981 127, 32, &min_nvar_val
);
15983 min_nvar_val
= noise_var_tbl_rev3
[3];
15984 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15985 32, &min_nvar_val
);
15987 min_nvar_val
= noise_var_tbl_rev3
[127];
15988 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15989 127, 32, &min_nvar_val
);
15992 wlc_phy_workarounds_nphy_gainctrl(pi
);
15994 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15996 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
16000 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
16001 pdetrange
: pi
->srom_fem2g
.pdetrange
;
16003 if (pdetrange
== 0) {
16004 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
16005 aux_adc_vmid
= aux_adc_vmid_rev4
;
16006 aux_adc_gain
= aux_adc_gain_rev4
;
16008 aux_adc_vmid
= aux_adc_vmid_rev3
;
16009 aux_adc_gain
= aux_adc_gain_rev3
;
16012 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16013 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16014 switch (chan_freq_range
) {
16015 case WL_CHAN_FREQ_RANGE_5GL
:
16016 aux_adc_vmid
[3] = 0x89;
16017 aux_adc_gain
[3] = 0;
16019 case WL_CHAN_FREQ_RANGE_5GM
:
16020 aux_adc_vmid
[3] = 0x89;
16021 aux_adc_gain
[3] = 0;
16023 case WL_CHAN_FREQ_RANGE_5GH
:
16024 aux_adc_vmid
[3] = 0x89;
16025 aux_adc_gain
[3] = 0;
16031 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16032 0x08, 16, aux_adc_vmid
);
16033 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16034 0x18, 16, aux_adc_vmid
);
16035 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16036 0x0c, 16, aux_adc_gain
);
16037 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16038 0x1c, 16, aux_adc_gain
);
16039 } else if (pdetrange
== 1) {
16040 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16041 0x08, 16, sk_adc_vmid
);
16042 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16043 0x18, 16, sk_adc_vmid
);
16044 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16045 0x0c, 16, sk_adc_gain
);
16046 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16047 0x1c, 16, sk_adc_gain
);
16048 } else if (pdetrange
== 2) {
16050 uint16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16051 uint16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x04 };
16053 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16055 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16056 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16057 bcm_adc_vmid
[3] = 0x8e;
16058 bcm_adc_gain
[3] = 0x03;
16060 bcm_adc_vmid
[3] = 0x94;
16061 bcm_adc_gain
[3] = 0x03;
16063 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16064 bcm_adc_vmid
[3] = 0x84;
16065 bcm_adc_gain
[3] = 0x02;
16068 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16069 0x08, 16, bcm_adc_vmid
);
16070 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16071 0x18, 16, bcm_adc_vmid
);
16072 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16073 0x0c, 16, bcm_adc_gain
);
16074 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16075 0x1c, 16, bcm_adc_gain
);
16076 } else if (pdetrange
== 3) {
16078 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16079 if ((NREV_GE(pi
->pubpi
.phy_rev
, 4))
16080 && (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
)) {
16082 uint16 auxadc_vmid
[] = {
16083 0xa2, 0xb4, 0xb4, 0x270 };
16084 uint16 auxadc_gain
[] = {
16085 0x02, 0x02, 0x02, 0x00 };
16087 wlc_phy_table_write_nphy(pi
,
16088 NPHY_TBL_ID_AFECTRL
, 4,
16089 0x08, 16, auxadc_vmid
);
16090 wlc_phy_table_write_nphy(pi
,
16091 NPHY_TBL_ID_AFECTRL
, 4,
16092 0x18, 16, auxadc_vmid
);
16093 wlc_phy_table_write_nphy(pi
,
16094 NPHY_TBL_ID_AFECTRL
, 4,
16095 0x0c, 16, auxadc_gain
);
16096 wlc_phy_table_write_nphy(pi
,
16097 NPHY_TBL_ID_AFECTRL
, 4,
16098 0x1c, 16, auxadc_gain
);
16100 } else if ((pdetrange
== 4) || (pdetrange
== 5)) {
16101 uint16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16102 uint16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x0 };
16103 uint16 Vmid
[2], Av
[2];
16106 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16107 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16108 Vmid
[0] = (pdetrange
== 4) ? 0x8e : 0x89;
16109 Vmid
[1] = (pdetrange
== 4) ? 0x96 : 0x89;
16110 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16111 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16113 Vmid
[0] = (pdetrange
== 4) ? 0x89 : 0x74;
16114 Vmid
[1] = (pdetrange
== 4) ? 0x8b : 0x70;
16115 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16116 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16119 bcm_adc_vmid
[3] = Vmid
[0];
16120 bcm_adc_gain
[3] = Av
[0];
16121 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16122 0x08, 16, bcm_adc_vmid
);
16123 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16124 0x0c, 16, bcm_adc_gain
);
16126 bcm_adc_vmid
[3] = Vmid
[1];
16127 bcm_adc_gain
[3] = Av
[1];
16128 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16129 0x18, 16, bcm_adc_vmid
);
16130 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16131 0x1c, 16, bcm_adc_gain
);
16136 write_radio_reg(pi
,
16137 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX0
),
16139 write_radio_reg(pi
,
16140 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX1
),
16143 write_radio_reg(pi
,
16144 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX0
),
16146 write_radio_reg(pi
,
16147 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX1
),
16150 write_radio_reg(pi
,
16151 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX0
),
16153 write_radio_reg(pi
,
16154 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX1
),
16157 write_radio_reg(pi
,
16158 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX0
),
16160 write_radio_reg(pi
,
16161 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX1
),
16164 write_radio_reg(pi
,
16165 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX0
),
16167 write_radio_reg(pi
,
16168 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX1
),
16171 write_radio_reg(pi
,
16172 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX0
),
16174 write_radio_reg(pi
,
16175 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX1
),
16179 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
16180 triso
: pi
->srom_fem2g
.triso
;
16182 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
16183 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
16186 wlc_phy_war_txchain_upd_nphy(pi
, pi
->sh
->hw_phytxchain
);
16188 if (((pi
->sh
->boardflags2
& BFL2_APLL_WAR
) &&
16189 (CHSPEC_IS5G(pi
->radio_chanspec
))) ||
16190 (((pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) ||
16191 (pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
)) &&
16192 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
16193 nss1_data_weights
= 0x00088888;
16194 ht_data_weights
= 0x00088888;
16195 stbc_data_weights
= 0x00088888;
16197 nss1_data_weights
= 0x88888888;
16198 ht_data_weights
= 0x88888888;
16199 stbc_data_weights
= 0x88888888;
16201 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16202 1, 1, 32, &nss1_data_weights
);
16203 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16204 1, 2, 32, &ht_data_weights
);
16205 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16206 1, 3, 32, &stbc_data_weights
);
16208 if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16209 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
16210 write_radio_reg(pi
,
16211 RADIO_2056_TX_GMBB_IDAC
|
16212 RADIO_2056_TX0
, 0x70);
16213 write_radio_reg(pi
,
16214 RADIO_2056_TX_GMBB_IDAC
|
16215 RADIO_2056_TX1
, 0x70);
16219 if (!pi
->edcrs_threshold_lock
) {
16220 write_phy_reg(pi
, 0x224, 0x3eb);
16221 write_phy_reg(pi
, 0x225, 0x3eb);
16222 write_phy_reg(pi
, 0x226, 0x341);
16223 write_phy_reg(pi
, 0x227, 0x341);
16224 write_phy_reg(pi
, 0x228, 0x42b);
16225 write_phy_reg(pi
, 0x229, 0x42b);
16226 write_phy_reg(pi
, 0x22a, 0x381);
16227 write_phy_reg(pi
, 0x22b, 0x381);
16228 write_phy_reg(pi
, 0x22c, 0x42b);
16229 write_phy_reg(pi
, 0x22d, 0x42b);
16230 write_phy_reg(pi
, 0x22e, 0x381);
16231 write_phy_reg(pi
, 0x22f, 0x381);
16234 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16236 if (pi
->sh
->boardflags2
& BFL2_SINGLEANT_CCK
) {
16237 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF4
,
16239 MHF4_BPHY_TXCORE0
, WLC_BAND_ALL
);
16244 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
||
16245 (pi
->sh
->boardtype
== 0x8b)) {
16247 u8 war_dlys
[] = { 1, 6, 6, 2, 4, 20, 1 };
16248 for (i
= 0; i
< ARRAYSIZE(rfseq_rx2tx_dlys
); i
++)
16249 rfseq_rx2tx_dlys
[i
] = war_dlys
[i
];
16252 if (CHSPEC_IS5G(pi
->radio_chanspec
) && pi
->phy_5g_pwrgain
) {
16253 and_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0xf7);
16254 and_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0xf7);
16256 or_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0x8);
16257 or_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0x8);
16261 wlc_phy_table_write_nphy(pi
, 8, 1, 0, 16, ®val
);
16262 wlc_phy_table_write_nphy(pi
, 8, 1, 0x10, 16, ®val
);
16264 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16266 wlc_phy_table_write_nphy(pi
, 8, 1, 0x02, 16, ®val
);
16267 wlc_phy_table_write_nphy(pi
, 8, 1, 0x12, 16, ®val
);
16270 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16272 wlc_phy_table_write_nphy(pi
, 8, 1, 0x08, 16, ®val
);
16273 wlc_phy_table_write_nphy(pi
, 8, 1, 0x18, 16, ®val
);
16276 wlc_phy_table_write_nphy(pi
, 8, 1, 0x07, 16, ®val
);
16277 wlc_phy_table_write_nphy(pi
, 8, 1, 0x17, 16, ®val
);
16280 wlc_phy_table_write_nphy(pi
, 8, 1, 0x06, 16, ®val
);
16281 wlc_phy_table_write_nphy(pi
, 8, 1, 0x16, 16, ®val
);
16284 write_phy_reg(pi
, 0xf8, 0x02d8);
16285 write_phy_reg(pi
, 0xf9, 0x0301);
16286 write_phy_reg(pi
, 0xfa, 0x02d8);
16287 write_phy_reg(pi
, 0xfb, 0x0301);
16289 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
, rfseq_rx2tx_events
,
16291 sizeof(rfseq_rx2tx_events
) /
16292 sizeof(rfseq_rx2tx_events
[0]));
16294 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
, rfseq_tx2rx_events
,
16296 sizeof(rfseq_tx2rx_events
) /
16297 sizeof(rfseq_tx2rx_events
[0]));
16299 wlc_phy_workarounds_nphy_gainctrl(pi
);
16301 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16303 if (read_phy_reg(pi
, 0xa0) & NPHY_MLenable
)
16304 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF3
,
16305 MHF3_NPHY_MLADV_WAR
,
16306 MHF3_NPHY_MLADV_WAR
,
16309 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16310 write_phy_reg(pi
, 0x1e3, 0x0);
16311 write_phy_reg(pi
, 0x1e4, 0x0);
16314 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
16315 mod_phy_reg(pi
, 0x90, (0x1 << 7), 0);
16323 write_phy_reg(pi
, 0x145, alpha0
);
16324 write_phy_reg(pi
, 0x146, alpha1
);
16325 write_phy_reg(pi
, 0x147, alpha2
);
16326 write_phy_reg(pi
, 0x148, beta0
);
16327 write_phy_reg(pi
, 0x149, beta1
);
16328 write_phy_reg(pi
, 0x14a, beta2
);
16330 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16331 mod_phy_reg(pi
, 0x142, (0xf << 12), 0);
16333 write_phy_reg(pi
, 0x192, 0xb5);
16334 write_phy_reg(pi
, 0x193, 0xa4);
16335 write_phy_reg(pi
, 0x194, 0x0);
16338 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16339 mod_phy_reg(pi
, 0x221,
16340 NPHY_FORCESIG_DECODEGATEDCLKS
,
16341 NPHY_FORCESIG_DECODEGATEDCLKS
);
16345 if (pi
->phyhang_avoid
)
16346 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
16349 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
)
16351 uint16 w1th
, hpf_code
, currband
;
16353 u8 rfseq_updategainu_events
[] = {
16354 NPHY_RFSEQ_CMD_RX_GAIN
,
16355 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
16356 NPHY_RFSEQ_CMD_SET_HPF_BW
16358 u8 rfseq_updategainu_dlys
[] = { 10, 30, 1 };
16359 s8 lna1G_gain_db
[] = { 7, 11, 16, 23 };
16360 s8 lna1G_gain_db_rev4
[] = { 8, 12, 17, 25 };
16361 s8 lna1G_gain_db_rev5
[] = { 9, 13, 18, 26 };
16362 s8 lna1G_gain_db_rev6
[] = { 8, 13, 18, 25 };
16363 s8 lna1G_gain_db_rev6_224B0
[] = { 10, 14, 19, 27 };
16364 s8 lna1A_gain_db
[] = { 7, 11, 17, 23 };
16365 s8 lna1A_gain_db_rev4
[] = { 8, 12, 18, 23 };
16366 s8 lna1A_gain_db_rev5
[] = { 6, 10, 16, 21 };
16367 s8 lna1A_gain_db_rev6
[] = { 6, 10, 16, 21 };
16368 s8
*lna1_gain_db
= NULL
;
16369 s8 lna2G_gain_db
[] = { -5, 6, 10, 14 };
16370 s8 lna2G_gain_db_rev5
[] = { -3, 7, 11, 16 };
16371 s8 lna2G_gain_db_rev6
[] = { -5, 6, 10, 14 };
16372 s8 lna2G_gain_db_rev6_224B0
[] = { -5, 6, 10, 15 };
16373 s8 lna2A_gain_db
[] = { -6, 2, 6, 10 };
16374 s8 lna2A_gain_db_rev4
[] = { -5, 2, 6, 10 };
16375 s8 lna2A_gain_db_rev5
[] = { -7, 0, 4, 8 };
16376 s8 lna2A_gain_db_rev6
[] = { -7, 0, 4, 8 };
16377 s8
*lna2_gain_db
= NULL
;
16378 s8 tiaG_gain_db
[] = {
16379 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16380 s8 tiaA_gain_db
[] = {
16381 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16382 s8 tiaA_gain_db_rev4
[] = {
16383 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16384 s8 tiaA_gain_db_rev5
[] = {
16385 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16386 s8 tiaA_gain_db_rev6
[] = {
16387 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16389 s8 tiaG_gainbits
[] = {
16390 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16391 s8 tiaA_gainbits
[] = {
16392 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16393 s8 tiaA_gainbits_rev4
[] = {
16394 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16395 s8 tiaA_gainbits_rev5
[] = {
16396 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16397 s8 tiaA_gainbits_rev6
[] = {
16398 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16400 s8 lpf_gain_db
[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16401 s8 lpf_gainbits
[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16402 uint16 rfseqG_init_gain
[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16403 uint16 rfseqG_init_gain_rev4
[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16404 uint16 rfseqG_init_gain_rev5
[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16405 uint16 rfseqG_init_gain_rev5_elna
[] = {
16406 0x013f, 0x013f, 0x013f, 0x013f };
16407 uint16 rfseqG_init_gain_rev6
[] = { 0x513f, 0x513f };
16408 uint16 rfseqG_init_gain_rev6_224B0
[] = { 0x413f, 0x413f };
16409 uint16 rfseqG_init_gain_rev6_elna
[] = { 0x113f, 0x113f };
16410 uint16 rfseqA_init_gain
[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16411 uint16 rfseqA_init_gain_rev4
[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16412 uint16 rfseqA_init_gain_rev4_elna
[] = {
16413 0x314f, 0x314f, 0x314f, 0x314f };
16414 uint16 rfseqA_init_gain_rev5
[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16415 uint16 rfseqA_init_gain_rev6
[] = { 0x714f, 0x714f };
16416 uint16
*rfseq_init_gain
;
16417 uint16 initG_gaincode
= 0x627e;
16418 uint16 initG_gaincode_rev4
= 0x527e;
16419 uint16 initG_gaincode_rev5
= 0x427e;
16420 uint16 initG_gaincode_rev5_elna
= 0x027e;
16421 uint16 initG_gaincode_rev6
= 0x527e;
16422 uint16 initG_gaincode_rev6_224B0
= 0x427e;
16423 uint16 initG_gaincode_rev6_elna
= 0x127e;
16424 uint16 initA_gaincode
= 0x52de;
16425 uint16 initA_gaincode_rev4
= 0x629e;
16426 uint16 initA_gaincode_rev4_elna
= 0x329e;
16427 uint16 initA_gaincode_rev5
= 0x729e;
16428 uint16 initA_gaincode_rev6
= 0x729e;
16429 uint16 init_gaincode
;
16430 uint16 clip1hiG_gaincode
= 0x107e;
16431 uint16 clip1hiG_gaincode_rev4
= 0x007e;
16432 uint16 clip1hiG_gaincode_rev5
= 0x1076;
16433 uint16 clip1hiG_gaincode_rev6
= 0x007e;
16434 uint16 clip1hiA_gaincode
= 0x00de;
16435 uint16 clip1hiA_gaincode_rev4
= 0x029e;
16436 uint16 clip1hiA_gaincode_rev5
= 0x029e;
16437 uint16 clip1hiA_gaincode_rev6
= 0x029e;
16438 uint16 clip1hi_gaincode
;
16439 uint16 clip1mdG_gaincode
= 0x0066;
16440 uint16 clip1mdA_gaincode
= 0x00ca;
16441 uint16 clip1mdA_gaincode_rev4
= 0x1084;
16442 uint16 clip1mdA_gaincode_rev5
= 0x2084;
16443 uint16 clip1mdA_gaincode_rev6
= 0x2084;
16444 uint16 clip1md_gaincode
= 0;
16445 uint16 clip1loG_gaincode
= 0x0074;
16446 uint16 clip1loG_gaincode_rev5
[] = {
16447 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16449 uint16 clip1loG_gaincode_rev6
[] = {
16450 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16452 uint16 clip1loG_gaincode_rev6_224B0
= 0x1074;
16453 uint16 clip1loA_gaincode
= 0x00cc;
16454 uint16 clip1loA_gaincode_rev4
= 0x0086;
16455 uint16 clip1loA_gaincode_rev5
= 0x2086;
16456 uint16 clip1loA_gaincode_rev6
= 0x2086;
16457 uint16 clip1lo_gaincode
;
16458 u8 crsminG_th
= 0x18;
16459 u8 crsminG_th_rev5
= 0x18;
16460 u8 crsminG_th_rev6
= 0x18;
16461 u8 crsminA_th
= 0x1e;
16462 u8 crsminA_th_rev4
= 0x24;
16463 u8 crsminA_th_rev5
= 0x24;
16464 u8 crsminA_th_rev6
= 0x24;
16466 u8 crsminlG_th
= 0x18;
16467 u8 crsminlG_th_rev5
= 0x18;
16468 u8 crsminlG_th_rev6
= 0x18;
16469 u8 crsminlA_th
= 0x1e;
16470 u8 crsminlA_th_rev4
= 0x24;
16471 u8 crsminlA_th_rev5
= 0x24;
16472 u8 crsminlA_th_rev6
= 0x24;
16474 u8 crsminuG_th
= 0x18;
16475 u8 crsminuG_th_rev5
= 0x18;
16476 u8 crsminuG_th_rev6
= 0x18;
16477 u8 crsminuA_th
= 0x1e;
16478 u8 crsminuA_th_rev4
= 0x24;
16479 u8 crsminuA_th_rev5
= 0x24;
16480 u8 crsminuA_th_rev6
= 0x24;
16481 u8 crsminuA_th_rev6_224B0
= 0x2d;
16483 uint16 nbclipG_th
= 0x20d;
16484 uint16 nbclipG_th_rev4
= 0x1a1;
16485 uint16 nbclipG_th_rev5
= 0x1d0;
16486 uint16 nbclipG_th_rev6
= 0x1d0;
16487 uint16 nbclipA_th
= 0x1a1;
16488 uint16 nbclipA_th_rev4
= 0x107;
16489 uint16 nbclipA_th_rev5
= 0x0a9;
16490 uint16 nbclipA_th_rev6
= 0x0f0;
16491 uint16 nbclip_th
= 0;
16493 u8 w1clipG_th_rev5
= 9;
16494 u8 w1clipG_th_rev6
= 5;
16495 u8 w1clipA_th
= 25, w1clip_th
;
16496 u8 rssi_gain_default
= 0x50;
16497 u8 rssiG_gain_rev6_224B0
= 0x50;
16498 u8 rssiA_gain_rev5
= 0x90;
16499 u8 rssiA_gain_rev6
= 0x90;
16504 triso
= (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.triso
:
16505 pi
->srom_fem2g
.triso
;
16507 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
16508 if (pi
->pubpi
.radiorev
== 5) {
16510 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi
);
16511 } else if (pi
->pubpi
.radiorev
== 7) {
16512 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16514 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x44 << 0));
16515 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x44 << 0));
16517 } else if ((pi
->pubpi
.radiorev
== 3)
16518 || (pi
->pubpi
.radiorev
== 8)) {
16519 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16521 if (pi
->pubpi
.radiorev
== 8) {
16522 mod_phy_reg(pi
, 0x283,
16523 (0xff << 0), (0x44 << 0));
16524 mod_phy_reg(pi
, 0x280,
16525 (0xff << 0), (0x44 << 0));
16528 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16530 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
16532 mod_phy_reg(pi
, 0xa0, (0x1 << 6), (1 << 6));
16534 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16535 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16538 read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
16539 if (currband
== 0) {
16540 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16541 if (pi
->pubpi
.radiorev
== 11) {
16542 lna1_gain_db
= lna1G_gain_db_rev6_224B0
;
16543 lna2_gain_db
= lna2G_gain_db_rev6_224B0
;
16545 rfseqG_init_gain_rev6_224B0
;
16547 initG_gaincode_rev6_224B0
;
16549 clip1hiG_gaincode_rev6
;
16551 clip1loG_gaincode_rev6_224B0
;
16552 nbclip_th
= nbclipG_th_rev6
;
16553 w1clip_th
= w1clipG_th_rev6
;
16554 crsmin_th
= crsminG_th_rev6
;
16555 crsminl_th
= crsminlG_th_rev6
;
16556 crsminu_th
= crsminuG_th_rev6
;
16557 rssi_gain
= rssiG_gain_rev6_224B0
;
16559 lna1_gain_db
= lna1G_gain_db_rev6
;
16560 lna2_gain_db
= lna2G_gain_db_rev6
;
16561 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16564 rfseqG_init_gain_rev6_elna
;
16566 initG_gaincode_rev6_elna
;
16569 rfseqG_init_gain_rev6
;
16571 initG_gaincode_rev6
;
16574 clip1hiG_gaincode_rev6
;
16578 clip1loG_gaincode_rev6
[0];
16582 clip1loG_gaincode_rev6
[1];
16586 clip1loG_gaincode_rev6
[2];
16592 clip1loG_gaincode_rev6
[3];
16596 clip1loG_gaincode_rev6
[4];
16600 clip1loG_gaincode_rev6
[5];
16604 clip1loG_gaincode_rev6
[6];
16608 clip1loG_gaincode_rev6
[7];
16611 nbclip_th
= nbclipG_th_rev6
;
16612 w1clip_th
= w1clipG_th_rev6
;
16613 crsmin_th
= crsminG_th_rev6
;
16614 crsminl_th
= crsminlG_th_rev6
;
16615 crsminu_th
= crsminuG_th_rev6
;
16616 rssi_gain
= rssi_gain_default
;
16618 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16619 lna1_gain_db
= lna1G_gain_db_rev5
;
16620 lna2_gain_db
= lna2G_gain_db_rev5
;
16621 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16624 rfseqG_init_gain_rev5_elna
;
16626 initG_gaincode_rev5_elna
;
16628 rfseq_init_gain
= rfseqG_init_gain_rev5
;
16629 init_gaincode
= initG_gaincode_rev5
;
16631 clip1hi_gaincode
= clip1hiG_gaincode_rev5
;
16635 clip1loG_gaincode_rev5
[0];
16639 clip1loG_gaincode_rev5
[1];
16643 clip1loG_gaincode_rev5
[2];
16648 clip1loG_gaincode_rev5
[3];
16652 clip1loG_gaincode_rev5
[4];
16656 clip1loG_gaincode_rev5
[5];
16660 clip1loG_gaincode_rev5
[6];
16664 clip1loG_gaincode_rev5
[7];
16668 clip1loG_gaincode_rev5
[3];
16671 nbclip_th
= nbclipG_th_rev5
;
16672 w1clip_th
= w1clipG_th_rev5
;
16673 crsmin_th
= crsminG_th_rev5
;
16674 crsminl_th
= crsminlG_th_rev5
;
16675 crsminu_th
= crsminuG_th_rev5
;
16676 rssi_gain
= rssi_gain_default
;
16677 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16678 lna1_gain_db
= lna1G_gain_db_rev4
;
16679 lna2_gain_db
= lna2G_gain_db
;
16680 rfseq_init_gain
= rfseqG_init_gain_rev4
;
16681 init_gaincode
= initG_gaincode_rev4
;
16682 clip1hi_gaincode
= clip1hiG_gaincode_rev4
;
16683 clip1lo_gaincode
= clip1loG_gaincode
;
16684 nbclip_th
= nbclipG_th_rev4
;
16685 w1clip_th
= w1clipG_th
;
16686 crsmin_th
= crsminG_th
;
16687 crsminl_th
= crsminlG_th
;
16688 crsminu_th
= crsminuG_th
;
16689 rssi_gain
= rssi_gain_default
;
16691 lna1_gain_db
= lna1G_gain_db
;
16692 lna2_gain_db
= lna2G_gain_db
;
16693 rfseq_init_gain
= rfseqG_init_gain
;
16694 init_gaincode
= initG_gaincode
;
16695 clip1hi_gaincode
= clip1hiG_gaincode
;
16696 clip1lo_gaincode
= clip1loG_gaincode
;
16697 nbclip_th
= nbclipG_th
;
16698 w1clip_th
= w1clipG_th
;
16699 crsmin_th
= crsminG_th
;
16700 crsminl_th
= crsminlG_th
;
16701 crsminu_th
= crsminuG_th
;
16702 rssi_gain
= rssi_gain_default
;
16704 tia_gain_db
= tiaG_gain_db
;
16705 tia_gainbits
= tiaG_gainbits
;
16706 clip1md_gaincode
= clip1mdG_gaincode
;
16708 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16709 lna1_gain_db
= lna1A_gain_db_rev6
;
16710 lna2_gain_db
= lna2A_gain_db_rev6
;
16711 tia_gain_db
= tiaA_gain_db_rev6
;
16712 tia_gainbits
= tiaA_gainbits_rev6
;
16713 rfseq_init_gain
= rfseqA_init_gain_rev6
;
16714 init_gaincode
= initA_gaincode_rev6
;
16715 clip1hi_gaincode
= clip1hiA_gaincode_rev6
;
16716 clip1md_gaincode
= clip1mdA_gaincode_rev6
;
16717 clip1lo_gaincode
= clip1loA_gaincode_rev6
;
16718 crsmin_th
= crsminA_th_rev6
;
16719 crsminl_th
= crsminlA_th_rev6
;
16720 if ((pi
->pubpi
.radiorev
== 11) &&
16721 (CHSPEC_IS40(pi
->radio_chanspec
) == 0)) {
16722 crsminu_th
= crsminuA_th_rev6_224B0
;
16724 crsminu_th
= crsminuA_th_rev6
;
16726 nbclip_th
= nbclipA_th_rev6
;
16727 rssi_gain
= rssiA_gain_rev6
;
16728 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16729 lna1_gain_db
= lna1A_gain_db_rev5
;
16730 lna2_gain_db
= lna2A_gain_db_rev5
;
16731 tia_gain_db
= tiaA_gain_db_rev5
;
16732 tia_gainbits
= tiaA_gainbits_rev5
;
16733 rfseq_init_gain
= rfseqA_init_gain_rev5
;
16734 init_gaincode
= initA_gaincode_rev5
;
16735 clip1hi_gaincode
= clip1hiA_gaincode_rev5
;
16736 clip1md_gaincode
= clip1mdA_gaincode_rev5
;
16737 clip1lo_gaincode
= clip1loA_gaincode_rev5
;
16738 crsmin_th
= crsminA_th_rev5
;
16739 crsminl_th
= crsminlA_th_rev5
;
16740 crsminu_th
= crsminuA_th_rev5
;
16741 nbclip_th
= nbclipA_th_rev5
;
16742 rssi_gain
= rssiA_gain_rev5
;
16743 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16744 lna1_gain_db
= lna1A_gain_db_rev4
;
16745 lna2_gain_db
= lna2A_gain_db_rev4
;
16746 tia_gain_db
= tiaA_gain_db_rev4
;
16747 tia_gainbits
= tiaA_gainbits_rev4
;
16748 if (pi
->sh
->boardflags
& BFL_EXTLNA_5GHz
) {
16751 rfseqA_init_gain_rev4_elna
;
16753 initA_gaincode_rev4_elna
;
16755 rfseq_init_gain
= rfseqA_init_gain_rev4
;
16756 init_gaincode
= initA_gaincode_rev4
;
16758 clip1hi_gaincode
= clip1hiA_gaincode_rev4
;
16759 clip1md_gaincode
= clip1mdA_gaincode_rev4
;
16760 clip1lo_gaincode
= clip1loA_gaincode_rev4
;
16761 crsmin_th
= crsminA_th_rev4
;
16762 crsminl_th
= crsminlA_th_rev4
;
16763 crsminu_th
= crsminuA_th_rev4
;
16764 nbclip_th
= nbclipA_th_rev4
;
16765 rssi_gain
= rssi_gain_default
;
16767 lna1_gain_db
= lna1A_gain_db
;
16768 lna2_gain_db
= lna2A_gain_db
;
16769 tia_gain_db
= tiaA_gain_db
;
16770 tia_gainbits
= tiaA_gainbits
;
16771 rfseq_init_gain
= rfseqA_init_gain
;
16772 init_gaincode
= initA_gaincode
;
16773 clip1hi_gaincode
= clip1hiA_gaincode
;
16774 clip1md_gaincode
= clip1mdA_gaincode
;
16775 clip1lo_gaincode
= clip1loA_gaincode
;
16776 crsmin_th
= crsminA_th
;
16777 crsminl_th
= crsminlA_th
;
16778 crsminu_th
= crsminuA_th
;
16779 nbclip_th
= nbclipA_th
;
16780 rssi_gain
= rssi_gain_default
;
16782 w1clip_th
= w1clipA_th
;
16785 write_radio_reg(pi
,
16786 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16787 RADIO_2056_RX0
), 0x17);
16788 write_radio_reg(pi
,
16789 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16790 RADIO_2056_RX1
), 0x17);
16792 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX0
),
16794 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX1
),
16797 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX0
),
16799 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX1
),
16802 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX0
),
16804 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX1
),
16807 write_radio_reg(pi
,
16808 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16809 RADIO_2056_RX0
), 0x17);
16810 write_radio_reg(pi
,
16811 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16812 RADIO_2056_RX1
), 0x17);
16814 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX0
),
16816 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX1
),
16819 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8,
16821 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8,
16824 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
16826 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
16829 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20,
16831 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20,
16834 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20,
16836 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20,
16839 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 6, 0x40,
16841 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 6, 0x40,
16843 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 6, 0x40,
16845 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 6, 0x40,
16848 write_phy_reg(pi
, 0x20, init_gaincode
);
16849 write_phy_reg(pi
, 0x2a7, init_gaincode
);
16851 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
16852 pi
->pubpi
.phy_corenum
, 0x106, 16,
16855 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
16856 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
16858 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
16859 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
16861 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
16862 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
16864 mod_phy_reg(pi
, 0x27d, (0xff << 0), (crsmin_th
<< 0));
16865 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
16866 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
16868 write_phy_reg(pi
, 0x2b, nbclip_th
);
16869 write_phy_reg(pi
, 0x41, nbclip_th
);
16871 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1clip_th
<< 0));
16872 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1clip_th
<< 0));
16874 write_phy_reg(pi
, 0x150, 0x809c);
16878 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16879 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16881 write_phy_reg(pi
, 0x2b, 0x84);
16882 write_phy_reg(pi
, 0x41, 0x84);
16884 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16885 write_phy_reg(pi
, 0x6b, 0x2b);
16886 write_phy_reg(pi
, 0x6c, 0x2b);
16887 write_phy_reg(pi
, 0x6d, 0x9);
16888 write_phy_reg(pi
, 0x6e, 0x9);
16891 w1th
= NPHY_RSSICAL_W1_TARGET
- 4;
16892 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1th
<< 0));
16893 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1th
<< 0));
16895 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16896 mod_phy_reg(pi
, 0x1c, (0x1f << 0), (0x1 << 0));
16897 mod_phy_reg(pi
, 0x32, (0x1f << 0), (0x1 << 0));
16899 mod_phy_reg(pi
, 0x1d, (0x1f << 0), (0x1 << 0));
16900 mod_phy_reg(pi
, 0x33, (0x1f << 0), (0x1 << 0));
16903 write_phy_reg(pi
, 0x150, 0x809c);
16905 if (pi
->nphy_gain_boost
)
16906 if ((CHSPEC_IS2G(pi
->radio_chanspec
)) &&
16907 (CHSPEC_IS40(pi
->radio_chanspec
)))
16911 else if (CHSPEC_IS40(pi
->radio_chanspec
))
16916 mod_phy_reg(pi
, 0x20, (0x1f << 7), (hpf_code
<< 7));
16917 mod_phy_reg(pi
, 0x36, (0x1f << 7), (hpf_code
<< 7));
16919 for (ctr
= 0; ctr
< 4; ctr
++) {
16920 regval
[ctr
] = (hpf_code
<< 8) | 0x7c;
16922 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16924 wlc_phy_adjust_lnagaintbl_nphy(pi
);
16926 if (pi
->nphy_elna_gain_config
) {
16931 wlc_phy_table_write_nphy(pi
, 2, 4, 8, 16, regval
);
16932 wlc_phy_table_write_nphy(pi
, 3, 4, 8, 16, regval
);
16934 for (ctr
= 0; ctr
< 4; ctr
++) {
16935 regval
[ctr
] = (hpf_code
<< 8) | 0x74;
16937 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16940 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16941 for (ctr
= 0; ctr
< 21; ctr
++) {
16942 regval
[ctr
] = 3 * ctr
;
16944 wlc_phy_table_write_nphy(pi
, 0, 21, 32, 16, regval
);
16945 wlc_phy_table_write_nphy(pi
, 1, 21, 32, 16, regval
);
16947 for (ctr
= 0; ctr
< 21; ctr
++) {
16948 regval
[ctr
] = (uint16
) ctr
;
16950 wlc_phy_table_write_nphy(pi
, 2, 21, 32, 16, regval
);
16951 wlc_phy_table_write_nphy(pi
, 3, 21, 32, 16, regval
);
16954 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_UPDATEGAINU
,
16955 rfseq_updategainu_events
,
16956 rfseq_updategainu_dlys
,
16957 sizeof(rfseq_updategainu_events
) /
16958 sizeof(rfseq_updategainu_events
[0]));
16960 mod_phy_reg(pi
, 0x153, (0xff << 8), (90 << 8));
16962 if (CHSPEC_IS2G(pi
->radio_chanspec
))
16964 (NPHY_TO_BPHY_OFF
+ BPHY_OPTIONAL_MODES
),
16969 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
)
16971 s8 lna1_gain_db
[] = { 8, 13, 17, 22 };
16972 s8 lna2_gain_db
[] = { -2, 7, 11, 15 };
16973 s8 tia_gain_db
[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16974 s8 tia_gainbits
[] = {
16975 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16977 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16978 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16980 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
16982 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3c << 0));
16983 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3c << 0));
16985 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x8, 8,
16987 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x8, 8,
16990 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10, 8,
16992 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10, 8,
16995 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
16997 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
17000 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
17002 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
17005 write_phy_reg(pi
, 0x37, 0x74);
17006 write_phy_reg(pi
, 0x2ad, 0x74);
17007 write_phy_reg(pi
, 0x38, 0x18);
17008 write_phy_reg(pi
, 0x2ae, 0x18);
17010 write_phy_reg(pi
, 0x2b, 0xe8);
17011 write_phy_reg(pi
, 0x41, 0xe8);
17013 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17015 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x12 << 0));
17016 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x12 << 0));
17019 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x10 << 0));
17020 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x10 << 0));
17024 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
)
17027 s8 lna1G_gain_db_rev7
[] = { 9, 14, 19, 24 };
17028 s8
*lna1_gain_db
= NULL
;
17029 s8
*lna1_gain_db_2
= NULL
;
17030 s8
*lna2_gain_db
= NULL
;
17031 s8 tiaA_gain_db_rev7
[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17033 s8 tiaA_gainbits_rev7
[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17035 uint16 rfseqA_init_gain_rev7
[] = { 0x624f, 0x624f };
17036 uint16
*rfseq_init_gain
;
17037 uint16 init_gaincode
;
17038 uint16 clip1hi_gaincode
;
17039 uint16 clip1md_gaincode
= 0;
17040 uint16 clip1md_gaincode_B
;
17041 uint16 clip1lo_gaincode
;
17042 uint16 clip1lo_gaincode_B
;
17045 uint16 nbclip_th
= 0;
17048 s8 nvar_baseline_offset0
= 0, nvar_baseline_offset1
= 0;
17049 u8 chg_nbclip_th
= 0;
17051 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
17052 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
17054 currband
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
17055 if (currband
== 0) {
17057 lna1_gain_db
= lna1G_gain_db_rev7
;
17059 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17061 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17064 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x40 << 0));
17066 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
17067 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3e << 0));
17068 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3e << 0));
17071 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
17073 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17074 mod_phy_reg(pi
, 0x300, (0x3f << 0), (13 << 0));
17075 mod_phy_reg(pi
, 0x301, (0x3f << 0), (13 << 0));
17079 init_gaincode
= 0x9e;
17080 clip1hi_gaincode
= 0x9e;
17081 clip1md_gaincode_B
= 0x24;
17082 clip1lo_gaincode
= 0x8a;
17083 clip1lo_gaincode_B
= 8;
17084 rfseq_init_gain
= rfseqA_init_gain_rev7
;
17086 tia_gain_db
= tiaA_gain_db_rev7
;
17087 tia_gainbits
= tiaA_gainbits_rev7
;
17089 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
17090 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17093 clip1md_gaincode
= 0x82;
17095 if ((freq
<= 5080) || (freq
== 5825)) {
17097 s8 lna1A_gain_db_rev7
[] = { 11, 16, 20, 24 };
17098 s8 lna1A_gain_db_2_rev7
[] = {
17100 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17103 lna1_gain_db
= lna1A_gain_db_rev7
;
17104 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17105 lna2_gain_db
= lna2A_gain_db_rev7
;
17106 } else if ((freq
>= 5500) && (freq
<= 5700)) {
17108 s8 lna1A_gain_db_rev7
[] = { 11, 17, 21, 25 };
17109 s8 lna1A_gain_db_2_rev7
[] = {
17111 s8 lna2A_gain_db_rev7
[] = { 1, 8, 12, 16 };
17114 clip1md_gaincode_B
= 0x14;
17117 lna1_gain_db
= lna1A_gain_db_rev7
;
17118 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17119 lna2_gain_db
= lna2A_gain_db_rev7
;
17122 s8 lna1A_gain_db_rev7
[] = { 12, 18, 22, 26 };
17123 s8 lna1A_gain_db_2_rev7
[] = {
17125 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17128 lna1_gain_db
= lna1A_gain_db_rev7
;
17129 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17130 lna2_gain_db
= lna2A_gain_db_rev7
;
17133 if (freq
<= 4920) {
17134 nvar_baseline_offset0
= 5;
17135 nvar_baseline_offset1
= 5;
17136 } else if ((freq
> 4920) && (freq
<= 5320)) {
17137 nvar_baseline_offset0
= 3;
17138 nvar_baseline_offset1
= 5;
17139 } else if ((freq
> 5320) && (freq
<= 5700)) {
17140 nvar_baseline_offset0
= 3;
17141 nvar_baseline_offset1
= 2;
17143 nvar_baseline_offset0
= 4;
17144 nvar_baseline_offset1
= 0;
17152 if ((freq
>= 4920) && (freq
<= 5320)) {
17153 nvar_baseline_offset0
= 4;
17154 nvar_baseline_offset1
= 5;
17155 } else if ((freq
> 5320) && (freq
<= 5550)) {
17156 nvar_baseline_offset0
= 4;
17157 nvar_baseline_offset1
= 2;
17159 nvar_baseline_offset0
= 5;
17160 nvar_baseline_offset1
= 3;
17164 write_phy_reg(pi
, 0x20, init_gaincode
);
17165 write_phy_reg(pi
, 0x2a7, init_gaincode
);
17167 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
17168 pi
->pubpi
.phy_corenum
, 0x106, 16,
17171 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
17172 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
17174 write_phy_reg(pi
, 0x36, clip1md_gaincode_B
);
17175 write_phy_reg(pi
, 0x2ac, clip1md_gaincode_B
);
17177 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
17178 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
17179 write_phy_reg(pi
, 0x38, clip1lo_gaincode_B
);
17180 write_phy_reg(pi
, 0x2ae, clip1lo_gaincode_B
);
17182 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
17184 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
17187 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
17189 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
17192 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
17194 if (chg_nbclip_th
== 1) {
17195 write_phy_reg(pi
, 0x2b, nbclip_th
);
17196 write_phy_reg(pi
, 0x41, nbclip_th
);
17199 mod_phy_reg(pi
, 0x300, (0x3f << 0), (w1clip_th
<< 0));
17200 mod_phy_reg(pi
, 0x301, (0x3f << 0), (w1clip_th
<< 0));
17202 mod_phy_reg(pi
, 0x2e4,
17203 (0x3f << 0), (nvar_baseline_offset0
<< 0));
17205 mod_phy_reg(pi
, 0x2e4,
17206 (0x3f << 6), (nvar_baseline_offset1
<< 6));
17208 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17210 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17212 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17215 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
17217 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
17220 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
17221 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
17223 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
17230 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
)
17234 int16 gain_delta
[2];
17236 uint16 minmax_gain
[2];
17239 if (pi
->phyhang_avoid
)
17240 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
17242 if (pi
->nphy_gain_boost
) {
17243 if ((CHSPEC_IS2G(pi
->radio_chanspec
))) {
17249 curr_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17252 PHY_HW_ROUND(((nphy_lnagain_est0
[0] *
17254 nphy_lnagain_est0
[1]), 13);
17257 PHY_HW_ROUND(((nphy_lnagain_est1
[0] *
17259 nphy_lnagain_est1
[1]), 13);
17267 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
17268 if (pi
->nphy_elna_gain_config
) {
17270 regval
[0] = nphy_def_lnagains
[2] + gain_delta
[core
];
17271 regval
[1] = nphy_def_lnagains
[3] + gain_delta
[core
];
17272 regval
[2] = nphy_def_lnagains
[3] + gain_delta
[core
];
17273 regval
[3] = nphy_def_lnagains
[3] + gain_delta
[core
];
17275 for (ctr
= 0; ctr
< 4; ctr
++) {
17277 nphy_def_lnagains
[ctr
] + gain_delta
[core
];
17280 wlc_phy_table_write_nphy(pi
, core
, 4, 8, 16, regval
);
17282 minmax_gain
[core
] =
17283 (uint16
) (nphy_def_lnagains
[2] + gain_delta
[core
] + 4);
17286 mod_phy_reg(pi
, 0x1e, (0xff << 0), (minmax_gain
[0] << 0));
17287 mod_phy_reg(pi
, 0x34, (0xff << 0), (minmax_gain
[1] << 0));
17289 if (pi
->phyhang_avoid
)
17290 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
17293 void wlc_phy_switch_radio_nphy(phy_info_t
*pi
, bool on
)
17296 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17297 if (!pi
->radio_is_on
) {
17298 wlc_phy_radio_preinit_205x(pi
);
17299 wlc_phy_radio_init_2057(pi
);
17300 wlc_phy_radio_postinit_2057(pi
);
17303 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17304 pi
->radio_chanspec
);
17305 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17306 wlc_phy_radio_preinit_205x(pi
);
17307 wlc_phy_radio_init_2056(pi
);
17308 wlc_phy_radio_postinit_2056(pi
);
17310 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17311 pi
->radio_chanspec
);
17313 wlc_phy_radio_preinit_2055(pi
);
17314 wlc_phy_radio_init_2055(pi
);
17315 wlc_phy_radio_postinit_2055(pi
);
17318 pi
->radio_is_on
= TRUE
;
17322 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
17323 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
17324 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17325 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x0);
17327 write_radio_reg(pi
,
17328 RADIO_2056_TX_PADA_BOOST_TUNE
|
17329 RADIO_2056_TX0
, 0);
17330 write_radio_reg(pi
,
17331 RADIO_2056_TX_PADG_BOOST_TUNE
|
17332 RADIO_2056_TX0
, 0);
17333 write_radio_reg(pi
,
17334 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17335 RADIO_2056_TX0
, 0);
17336 write_radio_reg(pi
,
17337 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17338 RADIO_2056_TX0
, 0);
17340 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17341 RADIO_2056_TX0
, 0xf0, 0);
17342 write_radio_reg(pi
,
17343 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17344 RADIO_2056_TX0
, 0);
17346 write_radio_reg(pi
,
17347 RADIO_2056_TX_PADA_BOOST_TUNE
|
17348 RADIO_2056_TX1
, 0);
17349 write_radio_reg(pi
,
17350 RADIO_2056_TX_PADG_BOOST_TUNE
|
17351 RADIO_2056_TX1
, 0);
17352 write_radio_reg(pi
,
17353 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17354 RADIO_2056_TX1
, 0);
17355 write_radio_reg(pi
,
17356 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17357 RADIO_2056_TX1
, 0);
17359 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17360 RADIO_2056_TX1
, 0xf0, 0);
17361 write_radio_reg(pi
,
17362 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17363 RADIO_2056_TX1
, 0);
17365 pi
->radio_is_on
= FALSE
;
17368 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
17369 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17370 pi
->radio_is_on
= FALSE
;
17376 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
)
17379 and_phy_reg(pi
, 0x78, ~RFCC_POR_FORCE
);
17380 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
| RFCC_OE_POR_FORCE
);
17382 or_phy_reg(pi
, 0x78, RFCC_POR_FORCE
);
17385 static void wlc_phy_radio_init_2055(phy_info_t
*pi
)
17387 wlc_phy_init_radio_regs(pi
, regs_2055
, RADIO_DEFAULT_CORE
);
17390 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
)
17393 and_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
,
17394 ~(RADIO_2055_JTAGCTRL_MASK
| RADIO_2055_JTAGSYNC_MASK
));
17396 if (((pi
->sh
->sromrev
>= 4)
17397 && !(pi
->sh
->boardflags2
& BFL2_RXBB_INT_REG_DIS
))
17398 || ((pi
->sh
->sromrev
< 4))) {
17399 and_radio_reg(pi
, RADIO_2055_CORE1_RXBB_REGULATOR
, 0x7F);
17400 and_radio_reg(pi
, RADIO_2055_CORE2_RXBB_REGULATOR
, 0x7F);
17403 mod_radio_reg(pi
, RADIO_2055_RRCCAL_N_OPT_SEL
, 0x3F, 0x2C);
17404 write_radio_reg(pi
, RADIO_2055_CAL_MISC
, 0x3C);
17406 and_radio_reg(pi
, RADIO_2055_CAL_MISC
,
17407 ~(RADIO_2055_RRCAL_START
| RADIO_2055_RRCAL_RST_N
));
17409 or_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
, RADIO_2055_CAL_LPO_ENABLE
);
17411 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_RST_N
);
17415 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_START
);
17417 SPINWAIT(((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17418 RADIO_2055_RCAL_DONE
) != RADIO_2055_RCAL_DONE
), 2000);
17420 ASSERT((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17421 RADIO_2055_RCAL_DONE
) == RADIO_2055_RCAL_DONE
);
17423 and_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
,
17424 ~(RADIO_2055_CAL_LPO_ENABLE
));
17426 wlc_phy_chanspec_set((wlc_phy_t
*) pi
, pi
->radio_chanspec
);
17428 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_LPF
, 9);
17429 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_LPF
, 9);
17431 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS
, 0x83);
17432 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS
, 0x83);
17434 mod_radio_reg(pi
, RADIO_2055_CORE1_LNA_GAINBST
,
17435 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17436 mod_radio_reg(pi
, RADIO_2055_CORE2_LNA_GAINBST
,
17437 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17438 if (pi
->nphy_gain_boost
) {
17439 and_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17440 ~(RADIO_2055_GAINBST_DISABLE
));
17441 and_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17442 ~(RADIO_2055_GAINBST_DISABLE
));
17444 or_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17445 RADIO_2055_GAINBST_DISABLE
);
17446 or_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17447 RADIO_2055_GAINBST_DISABLE
);
17453 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
)
17456 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17457 and_phy_reg(pi
, 0x78, RFCC_OE_POR_FORCE
);
17459 or_phy_reg(pi
, 0x78, ~RFCC_OE_POR_FORCE
);
17460 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
);
17464 static void wlc_phy_radio_init_2056(phy_info_t
*pi
)
17466 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17467 radio_regs_t
*regs_TX_2056_ptr
= NULL
;
17468 radio_regs_t
*regs_RX_2056_ptr
= NULL
;
17470 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17471 regs_SYN_2056_ptr
= regs_SYN_2056
;
17472 regs_TX_2056_ptr
= regs_TX_2056
;
17473 regs_RX_2056_ptr
= regs_RX_2056
;
17474 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17475 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17476 regs_TX_2056_ptr
= regs_TX_2056_A1
;
17477 regs_RX_2056_ptr
= regs_RX_2056_A1
;
17479 switch (pi
->pubpi
.radiorev
) {
17481 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17482 regs_TX_2056_ptr
= regs_TX_2056_rev5
;
17483 regs_RX_2056_ptr
= regs_RX_2056_rev5
;
17487 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17488 regs_TX_2056_ptr
= regs_TX_2056_rev6
;
17489 regs_RX_2056_ptr
= regs_RX_2056_rev6
;
17494 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17495 regs_TX_2056_ptr
= regs_TX_2056_rev7
;
17496 regs_RX_2056_ptr
= regs_RX_2056_rev7
;
17500 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17501 regs_TX_2056_ptr
= regs_TX_2056_rev8
;
17502 regs_RX_2056_ptr
= regs_RX_2056_rev8
;
17506 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17507 regs_TX_2056_ptr
= regs_TX_2056_rev11
;
17508 regs_RX_2056_ptr
= regs_RX_2056_rev11
;
17517 wlc_phy_init_radio_regs(pi
, regs_SYN_2056_ptr
, (uint16
) RADIO_2056_SYN
);
17519 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (uint16
) RADIO_2056_TX0
);
17521 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (uint16
) RADIO_2056_TX1
);
17523 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (uint16
) RADIO_2056_RX0
);
17525 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (uint16
) RADIO_2056_RX1
);
17528 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
)
17530 mod_radio_reg(pi
, RADIO_2056_SYN_COM_CTRL
, 0xb, 0xb);
17532 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x2);
17533 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x2);
17535 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x0);
17537 if ((pi
->sh
->boardflags2
& BFL2_LEGACY
)
17538 || (pi
->sh
->boardflags2
& BFL2_XTALBUFOUTEN
)) {
17540 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xf4, 0x0);
17543 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xfc, 0x0);
17546 mod_radio_reg(pi
, RADIO_2056_SYN_RCCAL_CTRL0
, 0x1, 0x0);
17548 if (pi
->phy_init_por
) {
17549 wlc_phy_radio205x_rcal(pi
);
17553 static void wlc_phy_radio_init_2057(phy_info_t
*pi
)
17555 radio_20xx_regs_t
*regs_2057_ptr
= NULL
;
17557 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17559 regs_2057_ptr
= regs_2057_rev4
;
17560 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17561 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17562 switch (pi
->pubpi
.radiorev
) {
17565 if (pi
->pubpi
.radiover
== 0x0) {
17567 regs_2057_ptr
= regs_2057_rev5
;
17569 } else if (pi
->pubpi
.radiover
== 0x1) {
17571 regs_2057_ptr
= regs_2057_rev5v1
;
17579 regs_2057_ptr
= regs_2057_rev7
;
17584 regs_2057_ptr
= regs_2057_rev8
;
17595 wlc_phy_init_radio_regs_allbands(pi
, regs_2057_ptr
);
17598 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
)
17601 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x1, 0x1);
17603 if (CHIPID(pi
->sh
->chip
) == !BCM6362_CHIP_ID
) {
17605 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x2, 0x2);
17608 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x78);
17609 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x80);
17611 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x0);
17612 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x0);
17614 if (pi
->phy_init_por
) {
17615 wlc_phy_radio205x_rcal(pi
);
17616 wlc_phy_radio2057_rccal(pi
);
17619 mod_radio_reg(pi
, RADIO_2057_RFPLL_MASTER
, 0x8, 0x0);
17623 wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
17624 chan_info_nphy_radio2057_t
**t0
,
17625 chan_info_nphy_radio205x_t
**t1
,
17626 chan_info_nphy_radio2057_rev5_t
**t2
,
17627 chan_info_nphy_2055_t
**t3
)
17630 chan_info_nphy_radio2057_t
*chan_info_tbl_p_0
= NULL
;
17631 chan_info_nphy_radio205x_t
*chan_info_tbl_p_1
= NULL
;
17632 chan_info_nphy_radio2057_rev5_t
*chan_info_tbl_p_2
= NULL
;
17633 uint32 tbl_len
= 0;
17637 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17639 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17641 chan_info_tbl_p_0
= chan_info_nphyrev7_2057_rev4
;
17642 tbl_len
= ARRAYSIZE(chan_info_nphyrev7_2057_rev4
);
17644 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17645 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17646 switch (pi
->pubpi
.radiorev
) {
17650 if (pi
->pubpi
.radiover
== 0x0) {
17652 chan_info_tbl_p_2
=
17653 chan_info_nphyrev8_2057_rev5
;
17656 (chan_info_nphyrev8_2057_rev5
);
17658 } else if (pi
->pubpi
.radiover
== 0x1) {
17660 chan_info_tbl_p_2
=
17661 chan_info_nphyrev9_2057_rev5v1
;
17664 (chan_info_nphyrev9_2057_rev5v1
);
17670 chan_info_tbl_p_0
=
17671 chan_info_nphyrev8_2057_rev7
;
17673 ARRAYSIZE(chan_info_nphyrev8_2057_rev7
);
17677 chan_info_tbl_p_0
=
17678 chan_info_nphyrev8_2057_rev8
;
17680 ARRAYSIZE(chan_info_nphyrev8_2057_rev8
);
17684 if (NORADIO_ENAB(pi
->pubpi
)) {
17689 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 16)) {
17691 chan_info_tbl_p_0
= chan_info_nphyrev8_2057_rev8
;
17692 tbl_len
= ARRAYSIZE(chan_info_nphyrev8_2057_rev8
);
17697 for (i
= 0; i
< tbl_len
; i
++) {
17698 if (pi
->pubpi
.radiorev
== 5) {
17700 if (chan_info_tbl_p_2
[i
].chan
== channel
)
17704 if (chan_info_tbl_p_0
[i
].chan
== channel
)
17709 if (i
>= tbl_len
) {
17710 ASSERT(i
< tbl_len
);
17713 if (pi
->pubpi
.radiorev
== 5) {
17714 *t2
= &chan_info_tbl_p_2
[i
];
17715 freq
= chan_info_tbl_p_2
[i
].freq
;
17717 *t0
= &chan_info_tbl_p_0
[i
];
17718 freq
= chan_info_tbl_p_0
[i
].freq
;
17721 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17722 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17723 chan_info_tbl_p_1
= chan_info_nphyrev3_2056
;
17724 tbl_len
= ARRAYSIZE(chan_info_nphyrev3_2056
);
17725 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17726 chan_info_tbl_p_1
= chan_info_nphyrev4_2056_A1
;
17727 tbl_len
= ARRAYSIZE(chan_info_nphyrev4_2056_A1
);
17728 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)
17729 || NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
17730 switch (pi
->pubpi
.radiorev
) {
17732 chan_info_tbl_p_1
= chan_info_nphyrev5_2056v5
;
17733 tbl_len
= ARRAYSIZE(chan_info_nphyrev5_2056v5
);
17736 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v6
;
17737 tbl_len
= ARRAYSIZE(chan_info_nphyrev6_2056v6
);
17741 chan_info_tbl_p_1
= chan_info_nphyrev5n6_2056v7
;
17743 ARRAYSIZE(chan_info_nphyrev5n6_2056v7
);
17746 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v8
;
17747 tbl_len
= ARRAYSIZE(chan_info_nphyrev6_2056v8
);
17750 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v11
;
17751 tbl_len
= ARRAYSIZE(chan_info_nphyrev6_2056v11
);
17754 if (NORADIO_ENAB(pi
->pubpi
)) {
17761 for (i
= 0; i
< tbl_len
; i
++) {
17762 if (chan_info_tbl_p_1
[i
].chan
== channel
)
17766 if (i
>= tbl_len
) {
17767 ASSERT(i
< tbl_len
);
17770 *t1
= &chan_info_tbl_p_1
[i
];
17771 freq
= chan_info_tbl_p_1
[i
].freq
;
17774 for (i
= 0; i
< ARRAYSIZE(chan_info_nphy_2055
); i
++)
17775 if (chan_info_nphy_2055
[i
].chan
== channel
)
17778 if (i
>= ARRAYSIZE(chan_info_nphy_2055
)) {
17779 ASSERT(i
< ARRAYSIZE(chan_info_nphy_2055
));
17782 *t3
= &chan_info_nphy_2055
[i
];
17783 freq
= chan_info_nphy_2055
[i
].freq
;
17790 *f
= WL_CHAN_FREQ_RANGE_2G
;
17794 u8
wlc_phy_get_chan_freq_range_nphy(phy_info_t
*pi
, uint channel
)
17797 chan_info_nphy_radio2057_t
*t0
= NULL
;
17798 chan_info_nphy_radio205x_t
*t1
= NULL
;
17799 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
17800 chan_info_nphy_2055_t
*t3
= NULL
;
17802 if (NORADIO_ENAB(pi
->pubpi
))
17803 return WL_CHAN_FREQ_RANGE_2G
;
17806 channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17808 wlc_phy_chan2freq_nphy(pi
, channel
, &freq
, &t0
, &t1
, &t2
, &t3
);
17810 if (CHSPEC_IS2G(pi
->radio_chanspec
))
17811 return WL_CHAN_FREQ_RANGE_2G
;
17813 if ((freq
>= BASE_LOW_5G_CHAN
) && (freq
< BASE_MID_5G_CHAN
)) {
17814 return WL_CHAN_FREQ_RANGE_5GL
;
17815 } else if ((freq
>= BASE_MID_5G_CHAN
) && (freq
< BASE_HIGH_5G_CHAN
)) {
17816 return WL_CHAN_FREQ_RANGE_5GM
;
17818 return WL_CHAN_FREQ_RANGE_5GH
;
17823 wlc_phy_chanspec_radio2055_setup(phy_info_t
*pi
, chan_info_nphy_2055_t
*ci
)
17826 write_radio_reg(pi
, RADIO_2055_PLL_REF
, ci
->RF_pll_ref
);
17827 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD0
, ci
->RF_rf_pll_mod0
);
17828 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD1
, ci
->RF_rf_pll_mod1
);
17829 write_radio_reg(pi
, RADIO_2055_VCO_CAP_TAIL
, ci
->RF_vco_cap_tail
);
17831 WLC_PHY_WAR_PR51571(pi
);
17833 write_radio_reg(pi
, RADIO_2055_VCO_CAL1
, ci
->RF_vco_cal1
);
17834 write_radio_reg(pi
, RADIO_2055_VCO_CAL2
, ci
->RF_vco_cal2
);
17835 write_radio_reg(pi
, RADIO_2055_PLL_LF_C1
, ci
->RF_pll_lf_c1
);
17836 write_radio_reg(pi
, RADIO_2055_PLL_LF_R1
, ci
->RF_pll_lf_r1
);
17838 WLC_PHY_WAR_PR51571(pi
);
17840 write_radio_reg(pi
, RADIO_2055_PLL_LF_C2
, ci
->RF_pll_lf_c2
);
17841 write_radio_reg(pi
, RADIO_2055_LGBUF_CEN_BUF
, ci
->RF_lgbuf_cen_buf
);
17842 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE1
, ci
->RF_lgen_tune1
);
17843 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE2
, ci
->RF_lgen_tune2
);
17845 WLC_PHY_WAR_PR51571(pi
);
17847 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_A_TUNE
,
17848 ci
->RF_core1_lgbuf_a_tune
);
17849 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_G_TUNE
,
17850 ci
->RF_core1_lgbuf_g_tune
);
17851 write_radio_reg(pi
, RADIO_2055_CORE1_RXRF_REG1
, ci
->RF_core1_rxrf_reg1
);
17852 write_radio_reg(pi
, RADIO_2055_CORE1_TX_PGA_PAD_TN
,
17853 ci
->RF_core1_tx_pga_pad_tn
);
17855 WLC_PHY_WAR_PR51571(pi
);
17857 write_radio_reg(pi
, RADIO_2055_CORE1_TX_MX_BGTRIM
,
17858 ci
->RF_core1_tx_mx_bgtrim
);
17859 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_A_TUNE
,
17860 ci
->RF_core2_lgbuf_a_tune
);
17861 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_G_TUNE
,
17862 ci
->RF_core2_lgbuf_g_tune
);
17863 write_radio_reg(pi
, RADIO_2055_CORE2_RXRF_REG1
, ci
->RF_core2_rxrf_reg1
);
17865 WLC_PHY_WAR_PR51571(pi
);
17867 write_radio_reg(pi
, RADIO_2055_CORE2_TX_PGA_PAD_TN
,
17868 ci
->RF_core2_tx_pga_pad_tn
);
17869 write_radio_reg(pi
, RADIO_2055_CORE2_TX_MX_BGTRIM
,
17870 ci
->RF_core2_tx_mx_bgtrim
);
17874 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x05);
17875 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x45);
17877 WLC_PHY_WAR_PR51571(pi
);
17879 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x65);
17885 wlc_phy_chanspec_radio2056_setup(phy_info_t
*pi
,
17886 const chan_info_nphy_radio205x_t
*ci
)
17888 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17890 write_radio_reg(pi
,
17891 RADIO_2056_SYN_PLL_VCOCAL1
| RADIO_2056_SYN
,
17892 ci
->RF_SYN_pll_vcocal1
);
17893 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL2
| RADIO_2056_SYN
,
17894 ci
->RF_SYN_pll_vcocal2
);
17895 write_radio_reg(pi
, RADIO_2056_SYN_PLL_REFDIV
| RADIO_2056_SYN
,
17896 ci
->RF_SYN_pll_refdiv
);
17897 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD2
| RADIO_2056_SYN
,
17898 ci
->RF_SYN_pll_mmd2
);
17899 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD1
| RADIO_2056_SYN
,
17900 ci
->RF_SYN_pll_mmd1
);
17901 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
17902 ci
->RF_SYN_pll_loopfilter1
);
17903 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
17904 ci
->RF_SYN_pll_loopfilter2
);
17905 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER3
| RADIO_2056_SYN
,
17906 ci
->RF_SYN_pll_loopfilter3
);
17907 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
17908 ci
->RF_SYN_pll_loopfilter4
);
17909 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER5
| RADIO_2056_SYN
,
17910 ci
->RF_SYN_pll_loopfilter5
);
17911 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR27
| RADIO_2056_SYN
,
17912 ci
->RF_SYN_reserved_addr27
);
17913 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR28
| RADIO_2056_SYN
,
17914 ci
->RF_SYN_reserved_addr28
);
17915 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR29
| RADIO_2056_SYN
,
17916 ci
->RF_SYN_reserved_addr29
);
17917 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_VCOBUF1
| RADIO_2056_SYN
,
17918 ci
->RF_SYN_logen_VCOBUF1
);
17919 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_MIXER2
| RADIO_2056_SYN
,
17920 ci
->RF_SYN_logen_MIXER2
);
17921 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF3
| RADIO_2056_SYN
,
17922 ci
->RF_SYN_logen_BUF3
);
17923 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF4
| RADIO_2056_SYN
,
17924 ci
->RF_SYN_logen_BUF4
);
17926 write_radio_reg(pi
,
17927 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX0
,
17928 ci
->RF_RX0_lnaa_tune
);
17929 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX0
,
17930 ci
->RF_RX0_lnag_tune
);
17931 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX0
,
17932 ci
->RF_TX0_intpaa_boost_tune
);
17933 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX0
,
17934 ci
->RF_TX0_intpag_boost_tune
);
17935 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX0
,
17936 ci
->RF_TX0_pada_boost_tune
);
17937 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX0
,
17938 ci
->RF_TX0_padg_boost_tune
);
17939 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX0
,
17940 ci
->RF_TX0_pgaa_boost_tune
);
17941 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX0
,
17942 ci
->RF_TX0_pgag_boost_tune
);
17943 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX0
,
17944 ci
->RF_TX0_mixa_boost_tune
);
17945 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX0
,
17946 ci
->RF_TX0_mixg_boost_tune
);
17948 write_radio_reg(pi
,
17949 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX1
,
17950 ci
->RF_RX1_lnaa_tune
);
17951 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX1
,
17952 ci
->RF_RX1_lnag_tune
);
17953 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX1
,
17954 ci
->RF_TX1_intpaa_boost_tune
);
17955 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX1
,
17956 ci
->RF_TX1_intpag_boost_tune
);
17957 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX1
,
17958 ci
->RF_TX1_pada_boost_tune
);
17959 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX1
,
17960 ci
->RF_TX1_padg_boost_tune
);
17961 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX1
,
17962 ci
->RF_TX1_pgaa_boost_tune
);
17963 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX1
,
17964 ci
->RF_TX1_pgag_boost_tune
);
17965 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX1
,
17966 ci
->RF_TX1_mixa_boost_tune
);
17967 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX1
,
17968 ci
->RF_TX1_mixg_boost_tune
);
17970 if (NREV_IS(pi
->pubpi
.phy_rev
, 3))
17971 regs_SYN_2056_ptr
= regs_SYN_2056
;
17972 else if (NREV_IS(pi
->pubpi
.phy_rev
, 4))
17973 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17975 switch (pi
->pubpi
.radiorev
) {
17977 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17980 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17984 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17987 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17990 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17994 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
17995 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
17997 (uint16
) regs_SYN_2056_ptr
[0x49 - 2].init_g
);
17999 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
18001 (uint16
) regs_SYN_2056_ptr
[0x49 - 2].init_a
);
18004 if (pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) {
18005 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18006 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
18007 RADIO_2056_SYN
, 0x1f);
18008 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
18009 RADIO_2056_SYN
, 0x1f);
18011 if ((CHIPID(pi
->sh
->chip
) == BCM4716_CHIP_ID
) ||
18012 (CHIPID(pi
->sh
->chip
) == BCM47162_CHIP_ID
)) {
18014 write_radio_reg(pi
,
18015 RADIO_2056_SYN_PLL_LOOPFILTER4
|
18016 RADIO_2056_SYN
, 0x14);
18017 write_radio_reg(pi
,
18018 RADIO_2056_SYN_PLL_CP2
|
18019 RADIO_2056_SYN
, 0x00);
18021 write_radio_reg(pi
,
18022 RADIO_2056_SYN_PLL_LOOPFILTER4
|
18023 RADIO_2056_SYN
, 0xb);
18024 write_radio_reg(pi
,
18025 RADIO_2056_SYN_PLL_CP2
|
18026 RADIO_2056_SYN
, 0x14);
18031 if ((pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
) &&
18032 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
18033 write_radio_reg(pi
,
18034 RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
18036 write_radio_reg(pi
,
18037 RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
18039 write_radio_reg(pi
,
18040 RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
18042 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
| RADIO_2056_SYN
,
18046 if (pi
->sh
->boardflags2
& BFL2_APLL_WAR
) {
18047 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
18048 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
18049 RADIO_2056_SYN
, 0x1f);
18050 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
18051 RADIO_2056_SYN
, 0x1f);
18052 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
|
18053 RADIO_2056_SYN
, 0x5);
18054 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
18055 RADIO_2056_SYN
, 0xc);
18059 if (PHY_IPA(pi
) && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18060 uint16 pag_boost_tune
;
18061 uint16 padg_boost_tune
;
18062 uint16 pgag_boost_tune
;
18063 uint16 mixg_boost_tune
;
18064 uint16 bias
, cascbias
;
18067 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18069 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
18071 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18074 if ((CHIPID(pi
->sh
->chip
) == BCM4716_CHIP_ID
) ||
18075 (CHIPID(pi
->sh
->chip
) ==
18076 BCM47162_CHIP_ID
)) {
18079 pag_boost_tune
= 0x5;
18080 pgag_boost_tune
= 0x33;
18081 padg_boost_tune
= 0x77;
18082 mixg_boost_tune
= 0x55;
18087 if ((CHIPID(pi
->sh
->chip
) ==
18089 || (CHIPID(pi
->sh
->chip
) ==
18091 || (CHIPID(pi
->sh
->chip
) ==
18092 BCM43421_CHIP_ID
)) {
18093 if (pi
->sh
->chippkg
==
18094 BCM43224_FAB_SMIC
) {
18100 pag_boost_tune
= 0x4;
18101 pgag_boost_tune
= 0x03;
18102 padg_boost_tune
= 0x77;
18103 mixg_boost_tune
= 0x65;
18106 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18107 INTPAG_IMAIN_STAT
, bias
);
18108 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18109 INTPAG_IAUX_STAT
, bias
);
18110 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18111 INTPAG_CASCBIAS
, cascbias
);
18113 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18116 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18119 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18122 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18127 bias
= IS40MHZ(pi
) ? 0x40 : 0x20;
18129 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18130 INTPAG_IMAIN_STAT
, bias
);
18131 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18132 INTPAG_IAUX_STAT
, bias
);
18133 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18134 INTPAG_CASCBIAS
, 0x30);
18136 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, PA_SPARE1
,
18141 if (PHY_IPA(pi
) && NREV_IS(pi
->pubpi
.phy_rev
, 6)
18142 && CHSPEC_IS5G(pi
->radio_chanspec
)) {
18143 uint16 paa_boost_tune
;
18144 uint16 pada_boost_tune
;
18145 uint16 pgaa_boost_tune
;
18146 uint16 mixa_boost_tune
;
18147 uint16 freq
, pabias
, cascbias
;
18150 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
18154 paa_boost_tune
= 0xa;
18155 pada_boost_tune
= 0x77;
18156 pgaa_boost_tune
= 0xf;
18157 mixa_boost_tune
= 0xf;
18158 } else if (freq
< 5340) {
18160 paa_boost_tune
= 0x8;
18161 pada_boost_tune
= 0x77;
18162 pgaa_boost_tune
= 0xfb;
18163 mixa_boost_tune
= 0xf;
18164 } else if (freq
< 5650) {
18166 paa_boost_tune
= 0x0;
18167 pada_boost_tune
= 0x77;
18168 pgaa_boost_tune
= 0xb;
18169 mixa_boost_tune
= 0xf;
18172 paa_boost_tune
= 0x0;
18173 pada_boost_tune
= 0x77;
18174 if (freq
!= 5825) {
18175 pgaa_boost_tune
= -(int)(freq
- 18) / 36 + 168;
18177 pgaa_boost_tune
= 6;
18179 mixa_boost_tune
= 0xf;
18182 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18183 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18184 INTPAA_BOOST_TUNE
, paa_boost_tune
);
18185 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18186 PADA_BOOST_TUNE
, pada_boost_tune
);
18187 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18188 PGAA_BOOST_TUNE
, pgaa_boost_tune
);
18189 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18190 MIXA_BOOST_TUNE
, mixa_boost_tune
);
18192 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18194 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18197 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18198 PADA_CASCBIAS
, 0x3);
18202 if ((CHIPID(pi
->sh
->chip
) == BCM43224_CHIP_ID
) ||
18203 (CHIPID(pi
->sh
->chip
) == BCM43225_CHIP_ID
) ||
18204 (CHIPID(pi
->sh
->chip
) == BCM43421_CHIP_ID
)) {
18205 if (pi
->sh
->chippkg
== BCM43224_FAB_SMIC
) {
18210 pabias
= (pi
->phy_pabias
== 0) ? 0x30 : pi
->phy_pabias
;
18212 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18213 INTPAA_IAUX_STAT
, pabias
);
18214 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18215 INTPAA_IMAIN_STAT
, pabias
);
18216 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18217 INTPAA_CASCBIAS
, cascbias
);
18223 wlc_phy_radio205x_vcocal_nphy(pi
);
18226 void wlc_phy_radio205x_vcocal_nphy(phy_info_t
*pi
)
18228 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18229 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x0);
18230 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04, 0x0);
18231 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04,
18233 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x01);
18234 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18235 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL12
, 0x0);
18236 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18237 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x18);
18238 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18239 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x39);
18245 #define MAX_205x_RCAL_WAITLOOPS 10000
18247 static uint16
wlc_phy_radio205x_rcal(phy_info_t
*pi
)
18249 uint16 rcal_reg
= 0;
18252 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18254 if (pi
->pubpi
.radiorev
== 5) {
18256 and_phy_reg(pi
, 0x342, ~(0x1 << 1));
18260 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x1);
18261 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18264 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x1);
18268 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x3, 0x3);
18270 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18271 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
);
18272 if (rcal_reg
& 0x1) {
18278 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18280 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x2, 0x0);
18282 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
) & 0x3e;
18284 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x0);
18285 if (pi
->pubpi
.radiorev
== 5) {
18287 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x0);
18288 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18292 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18294 mod_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x3c,
18296 mod_radio_reg(pi
, RADIO_2057_BANDGAP_RCAL_TRIM
, 0xf0,
18300 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
18305 RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
);
18306 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18310 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18314 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18317 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18318 rcal_reg
= read_radio_reg(pi
,
18319 RADIO_2056_SYN_RCAL_CODE_OUT
|
18321 if (rcal_reg
& 0x80) {
18327 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18329 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18334 RADIO_2056_SYN_RCAL_CODE_OUT
|
18337 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18340 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18343 return rcal_reg
& 0x1f;
18345 return rcal_reg
& 0x3e;
18349 wlc_phy_chanspec_radio2057_setup(phy_info_t
*pi
,
18350 const chan_info_nphy_radio2057_t
*ci
,
18351 const chan_info_nphy_radio2057_rev5_t
*ci2
)
18354 uint16 txmix2g_tune_boost_pu
= 0;
18355 uint16 pad2g_tune_pus
= 0;
18357 if (pi
->pubpi
.radiorev
== 5) {
18359 write_radio_reg(pi
,
18360 RADIO_2057_VCOCAL_COUNTVAL0
,
18361 ci2
->RF_vcocal_countval0
);
18362 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18363 ci2
->RF_vcocal_countval1
);
18364 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18365 ci2
->RF_rfpll_refmaster_sparextalsize
);
18366 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18367 ci2
->RF_rfpll_loopfilter_r1
);
18368 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18369 ci2
->RF_rfpll_loopfilter_c2
);
18370 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18371 ci2
->RF_rfpll_loopfilter_c1
);
18372 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
,
18373 ci2
->RF_cp_kpd_idac
);
18374 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci2
->RF_rfpll_mmd0
);
18375 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci2
->RF_rfpll_mmd1
);
18376 write_radio_reg(pi
,
18377 RADIO_2057_VCOBUF_TUNE
, ci2
->RF_vcobuf_tune
);
18378 write_radio_reg(pi
,
18379 RADIO_2057_LOGEN_MX2G_TUNE
,
18380 ci2
->RF_logen_mx2g_tune
);
18381 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18382 ci2
->RF_logen_indbuf2g_tune
);
18384 write_radio_reg(pi
,
18385 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18386 ci2
->RF_txmix2g_tune_boost_pu_core0
);
18387 write_radio_reg(pi
,
18388 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18389 ci2
->RF_pad2g_tune_pus_core0
);
18390 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18391 ci2
->RF_lna2g_tune_core0
);
18393 write_radio_reg(pi
,
18394 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18395 ci2
->RF_txmix2g_tune_boost_pu_core1
);
18396 write_radio_reg(pi
,
18397 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18398 ci2
->RF_pad2g_tune_pus_core1
);
18399 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18400 ci2
->RF_lna2g_tune_core1
);
18404 write_radio_reg(pi
,
18405 RADIO_2057_VCOCAL_COUNTVAL0
,
18406 ci
->RF_vcocal_countval0
);
18407 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18408 ci
->RF_vcocal_countval1
);
18409 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18410 ci
->RF_rfpll_refmaster_sparextalsize
);
18411 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18412 ci
->RF_rfpll_loopfilter_r1
);
18413 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18414 ci
->RF_rfpll_loopfilter_c2
);
18415 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18416 ci
->RF_rfpll_loopfilter_c1
);
18417 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, ci
->RF_cp_kpd_idac
);
18418 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci
->RF_rfpll_mmd0
);
18419 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci
->RF_rfpll_mmd1
);
18420 write_radio_reg(pi
, RADIO_2057_VCOBUF_TUNE
, ci
->RF_vcobuf_tune
);
18421 write_radio_reg(pi
,
18422 RADIO_2057_LOGEN_MX2G_TUNE
,
18423 ci
->RF_logen_mx2g_tune
);
18424 write_radio_reg(pi
, RADIO_2057_LOGEN_MX5G_TUNE
,
18425 ci
->RF_logen_mx5g_tune
);
18426 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18427 ci
->RF_logen_indbuf2g_tune
);
18428 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF5G_TUNE
,
18429 ci
->RF_logen_indbuf5g_tune
);
18431 write_radio_reg(pi
,
18432 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18433 ci
->RF_txmix2g_tune_boost_pu_core0
);
18434 write_radio_reg(pi
,
18435 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18436 ci
->RF_pad2g_tune_pus_core0
);
18437 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE0
,
18438 ci
->RF_pga_boost_tune_core0
);
18439 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0
,
18440 ci
->RF_txmix5g_boost_tune_core0
);
18441 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0
,
18442 ci
->RF_pad5g_tune_misc_pus_core0
);
18443 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18444 ci
->RF_lna2g_tune_core0
);
18445 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE0
,
18446 ci
->RF_lna5g_tune_core0
);
18448 write_radio_reg(pi
,
18449 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18450 ci
->RF_txmix2g_tune_boost_pu_core1
);
18451 write_radio_reg(pi
,
18452 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18453 ci
->RF_pad2g_tune_pus_core1
);
18454 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE1
,
18455 ci
->RF_pga_boost_tune_core1
);
18456 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1
,
18457 ci
->RF_txmix5g_boost_tune_core1
);
18458 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1
,
18459 ci
->RF_pad5g_tune_misc_pus_core1
);
18460 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18461 ci
->RF_lna2g_tune_core1
);
18462 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE1
,
18463 ci
->RF_lna5g_tune_core1
);
18466 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18468 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18469 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18471 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18472 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18474 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18477 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18479 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18480 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18482 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18485 } else if ((pi
->pubpi
.radiorev
== 5) || (pi
->pubpi
.radiorev
== 7) ||
18486 (pi
->pubpi
.radiorev
== 8)) {
18488 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18489 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18491 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x30);
18492 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18494 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18497 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18499 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18500 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18502 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18508 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18510 if (pi
->pubpi
.radiorev
== 3) {
18511 txmix2g_tune_boost_pu
= 0x6b;
18514 if (pi
->pubpi
.radiorev
== 5)
18515 pad2g_tune_pus
= 0x73;
18518 if (pi
->pubpi
.radiorev
!= 5) {
18519 pad2g_tune_pus
= 0x3;
18521 txmix2g_tune_boost_pu
= 0x61;
18525 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
18527 if (txmix2g_tune_boost_pu
!= 0)
18528 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18529 TXMIX2G_TUNE_BOOST_PU
,
18530 txmix2g_tune_boost_pu
);
18532 if (pad2g_tune_pus
!= 0)
18533 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18541 wlc_phy_radio205x_vcocal_nphy(pi
);
18544 static uint16
wlc_phy_radio2057_rccal(phy_info_t
*pi
)
18546 uint16 rccal_valid
;
18548 bool chip43226_6362A0
;
18550 chip43226_6362A0
= ((pi
->pubpi
.radiorev
== 3)
18551 || (pi
->pubpi
.radiorev
== 4)
18552 || (pi
->pubpi
.radiorev
== 6));
18555 if (chip43226_6362A0
) {
18556 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x61);
18557 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xc0);
18559 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x61);
18561 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xe9);
18563 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18564 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18566 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18567 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18568 if (rccal_valid
& 0x2) {
18574 ASSERT(rccal_valid
& 0x2);
18576 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18579 if (chip43226_6362A0
) {
18580 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x69);
18581 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18583 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x69);
18585 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xd5);
18587 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18588 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18590 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18591 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18592 if (rccal_valid
& 0x2) {
18598 ASSERT(rccal_valid
& 0x2);
18600 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18603 if (chip43226_6362A0
) {
18604 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x73);
18606 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x28);
18607 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18609 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x73);
18610 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18611 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0x99);
18613 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18615 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18616 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18617 if (rccal_valid
& 0x2) {
18623 ASSERT(rccal_valid
& 0x2);
18625 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18627 return rccal_valid
;
18631 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
, uint16 reduction_factr
)
18633 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18634 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18635 CHSPEC_IS40(pi
->radio_chanspec
)) {
18636 if (!pi
->nphy_anarxlpf_adjusted
) {
18637 write_radio_reg(pi
,
18638 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18640 ((pi
->nphy_rccal_value
+
18641 reduction_factr
) | 0x80));
18643 pi
->nphy_anarxlpf_adjusted
= TRUE
;
18646 if (pi
->nphy_anarxlpf_adjusted
) {
18647 write_radio_reg(pi
,
18648 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18650 (pi
->nphy_rccal_value
| 0x80));
18652 pi
->nphy_anarxlpf_adjusted
= FALSE
;
18659 wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *tone_id_buf
,
18660 uint32
*noise_var_buf
)
18667 radio_chanspec
) ? NPHY_NOISEVAR_TBLLEN40
:
18668 NPHY_NOISEVAR_TBLLEN20
;
18670 if (pi
->nphy_noisevars_adjusted
) {
18671 for (i
= 0; i
< pi
->nphy_saved_noisevars
.bufcount
; i
++) {
18672 tone_id
= pi
->nphy_saved_noisevars
.tone_id
[i
];
18673 offset
= (tone_id
>= 0) ?
18674 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18675 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18678 nphy_saved_noisevars
.
18679 min_noise_vars
[i
]);
18682 pi
->nphy_saved_noisevars
.bufcount
= 0;
18683 pi
->nphy_noisevars_adjusted
= FALSE
;
18686 if ((noise_var_buf
!= NULL
) && (tone_id_buf
!= NULL
)) {
18687 pi
->nphy_saved_noisevars
.bufcount
= 0;
18689 for (i
= 0; i
< ntones
; i
++) {
18690 tone_id
= tone_id_buf
[i
];
18691 offset
= (tone_id
>= 0) ?
18692 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18693 pi
->nphy_saved_noisevars
.tone_id
[i
] = tone_id
;
18694 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18696 &pi
->nphy_saved_noisevars
.
18697 min_noise_vars
[i
]);
18698 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18700 (void *)&noise_var_buf
[i
]);
18701 pi
->nphy_saved_noisevars
.bufcount
++;
18704 pi
->nphy_noisevars_adjusted
= TRUE
;
18708 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
)
18712 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18713 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18714 CHSPEC_IS40(pi
->radio_chanspec
)) {
18715 if (!pi
->nphy_crsminpwr_adjusted
) {
18716 regval
= read_phy_reg(pi
, 0x27d);
18717 pi
->nphy_crsminpwr
[0] = regval
& 0xff;
18719 regval
|= (uint16
) minpwr
;
18720 write_phy_reg(pi
, 0x27d, regval
);
18722 regval
= read_phy_reg(pi
, 0x280);
18723 pi
->nphy_crsminpwr
[1] = regval
& 0xff;
18725 regval
|= (uint16
) minpwr
;
18726 write_phy_reg(pi
, 0x280, regval
);
18728 regval
= read_phy_reg(pi
, 0x283);
18729 pi
->nphy_crsminpwr
[2] = regval
& 0xff;
18731 regval
|= (uint16
) minpwr
;
18732 write_phy_reg(pi
, 0x283, regval
);
18734 pi
->nphy_crsminpwr_adjusted
= TRUE
;
18737 if (pi
->nphy_crsminpwr_adjusted
) {
18738 regval
= read_phy_reg(pi
, 0x27d);
18740 regval
|= pi
->nphy_crsminpwr
[0];
18741 write_phy_reg(pi
, 0x27d, regval
);
18743 regval
= read_phy_reg(pi
, 0x280);
18745 regval
|= pi
->nphy_crsminpwr
[1];
18746 write_phy_reg(pi
, 0x280, regval
);
18748 regval
= read_phy_reg(pi
, 0x283);
18750 regval
|= pi
->nphy_crsminpwr
[2];
18751 write_phy_reg(pi
, 0x283, regval
);
18753 pi
->nphy_crsminpwr_adjusted
= FALSE
;
18759 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
)
18763 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18764 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18771 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18777 write_phy_reg(pi
, 0xe8,
18780 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18784 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18790 write_phy_reg(pi
, 0xe9,
18793 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18798 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
)
18800 uint16 cur_channel
= 0;
18801 int nphy_adj_tone_id_buf
[] = { 57, 58 };
18802 uint32 nphy_adj_noise_var_buf
[] = { 0x3ff, 0x3ff };
18803 bool isAdjustNoiseVar
= FALSE
;
18804 uint numTonesAdjust
= 0;
18805 uint32 tempval
= 0;
18807 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18808 if (pi
->phyhang_avoid
)
18809 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
18811 cur_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
18813 if (pi
->nphy_gband_spurwar_en
) {
18815 wlc_phy_adjust_rx_analpfbw_nphy(pi
,
18816 NPHY_ANARXLPFBW_REDUCTIONFACT
);
18818 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18819 if ((cur_channel
== 11)
18820 && CHSPEC_IS40(pi
->radio_chanspec
)) {
18822 wlc_phy_adjust_min_noisevar_nphy(pi
, 2,
18823 nphy_adj_tone_id_buf
,
18824 nphy_adj_noise_var_buf
);
18827 wlc_phy_adjust_min_noisevar_nphy(pi
, 0,
18832 wlc_phy_adjust_crsminpwr_nphy(pi
,
18833 NPHY_ADJUSTED_MINCRSPOWER
);
18836 if ((pi
->nphy_gband_spurwar2_en
)
18837 && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18839 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18840 switch (cur_channel
) {
18842 nphy_adj_tone_id_buf
[0] = 57;
18843 nphy_adj_tone_id_buf
[1] = 58;
18844 nphy_adj_noise_var_buf
[0] = 0x22f;
18845 nphy_adj_noise_var_buf
[1] = 0x25f;
18846 isAdjustNoiseVar
= TRUE
;
18849 nphy_adj_tone_id_buf
[0] = 41;
18850 nphy_adj_tone_id_buf
[1] = 42;
18851 nphy_adj_noise_var_buf
[0] = 0x22f;
18852 nphy_adj_noise_var_buf
[1] = 0x25f;
18853 isAdjustNoiseVar
= TRUE
;
18856 nphy_adj_tone_id_buf
[0] = 25;
18857 nphy_adj_tone_id_buf
[1] = 26;
18858 nphy_adj_noise_var_buf
[0] = 0x24f;
18859 nphy_adj_noise_var_buf
[1] = 0x25f;
18860 isAdjustNoiseVar
= TRUE
;
18863 nphy_adj_tone_id_buf
[0] = 9;
18864 nphy_adj_tone_id_buf
[1] = 10;
18865 nphy_adj_noise_var_buf
[0] = 0x22f;
18866 nphy_adj_noise_var_buf
[1] = 0x24f;
18867 isAdjustNoiseVar
= TRUE
;
18870 nphy_adj_tone_id_buf
[0] = 121;
18871 nphy_adj_tone_id_buf
[1] = 122;
18872 nphy_adj_noise_var_buf
[0] = 0x18f;
18873 nphy_adj_noise_var_buf
[1] = 0x24f;
18874 isAdjustNoiseVar
= TRUE
;
18877 nphy_adj_tone_id_buf
[0] = 105;
18878 nphy_adj_tone_id_buf
[1] = 106;
18879 nphy_adj_noise_var_buf
[0] = 0x22f;
18880 nphy_adj_noise_var_buf
[1] = 0x25f;
18881 isAdjustNoiseVar
= TRUE
;
18884 nphy_adj_tone_id_buf
[0] = 89;
18885 nphy_adj_tone_id_buf
[1] = 90;
18886 nphy_adj_noise_var_buf
[0] = 0x22f;
18887 nphy_adj_noise_var_buf
[1] = 0x24f;
18888 isAdjustNoiseVar
= TRUE
;
18891 nphy_adj_tone_id_buf
[0] = 73;
18892 nphy_adj_tone_id_buf
[1] = 74;
18893 nphy_adj_noise_var_buf
[0] = 0x22f;
18894 nphy_adj_noise_var_buf
[1] = 0x24f;
18895 isAdjustNoiseVar
= TRUE
;
18898 isAdjustNoiseVar
= FALSE
;
18903 if (isAdjustNoiseVar
) {
18904 numTonesAdjust
= sizeof(nphy_adj_tone_id_buf
) /
18905 sizeof(nphy_adj_tone_id_buf
[0]);
18907 wlc_phy_adjust_min_noisevar_nphy(pi
,
18909 nphy_adj_tone_id_buf
,
18910 nphy_adj_noise_var_buf
);
18916 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18921 if ((pi
->nphy_aband_spurwar_en
) &&
18922 (CHSPEC_IS5G(pi
->radio_chanspec
))) {
18923 switch (cur_channel
) {
18925 nphy_adj_tone_id_buf
[0] = 32;
18926 nphy_adj_noise_var_buf
[0] = 0x25f;
18931 if ((CHIPID(pi
->sh
->chip
) == BCM4716_CHIP_ID
) &&
18932 (pi
->sh
->chippkg
== BCM4717_PKG_ID
)) {
18933 nphy_adj_tone_id_buf
[0] = 32;
18934 nphy_adj_noise_var_buf
[0] = 0x21f;
18936 nphy_adj_tone_id_buf
[0] = 0;
18937 nphy_adj_noise_var_buf
[0] = 0x0;
18941 nphy_adj_tone_id_buf
[0] = 32;
18942 nphy_adj_noise_var_buf
[0] = 0x21f;
18945 nphy_adj_tone_id_buf
[0] = 16;
18946 nphy_adj_noise_var_buf
[0] = 0x23f;
18950 nphy_adj_tone_id_buf
[0] = 48;
18951 nphy_adj_noise_var_buf
[0] = 0x23f;
18954 nphy_adj_tone_id_buf
[0] = 0;
18955 nphy_adj_noise_var_buf
[0] = 0x0;
18959 if (nphy_adj_tone_id_buf
[0]
18960 && nphy_adj_noise_var_buf
[0]) {
18961 wlc_phy_adjust_min_noisevar_nphy(pi
, 1,
18962 nphy_adj_tone_id_buf
,
18963 nphy_adj_noise_var_buf
);
18965 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18970 if (pi
->phyhang_avoid
)
18971 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
18976 wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chanspec
,
18977 const nphy_sfo_cfg_t
*ci
)
18981 val
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
18982 if (CHSPEC_IS5G(chanspec
) && !val
) {
18984 val
= R_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
);
18985 W_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
,
18986 (val
| MAC_PHY_FORCE_CLK
));
18988 or_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
18989 (BBCFG_RESETCCA
| BBCFG_RESETRX
));
18991 W_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
, val
);
18993 or_phy_reg(pi
, 0x09, NPHY_BandControl_currentBand
);
18994 } else if (!CHSPEC_IS5G(chanspec
) && val
) {
18996 and_phy_reg(pi
, 0x09, ~NPHY_BandControl_currentBand
);
18998 val
= R_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
);
18999 W_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
,
19000 (val
| MAC_PHY_FORCE_CLK
));
19002 and_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
19003 (uint16
) (~(BBCFG_RESETCCA
| BBCFG_RESETRX
)));
19005 W_REG(pi
->sh
->osh
, &pi
->regs
->psm_phy_hdr_param
, val
);
19008 write_phy_reg(pi
, 0x1ce, ci
->PHY_BW1a
);
19009 write_phy_reg(pi
, 0x1cf, ci
->PHY_BW2
);
19010 write_phy_reg(pi
, 0x1d0, ci
->PHY_BW3
);
19012 write_phy_reg(pi
, 0x1d1, ci
->PHY_BW4
);
19013 write_phy_reg(pi
, 0x1d2, ci
->PHY_BW5
);
19014 write_phy_reg(pi
, 0x1d3, ci
->PHY_BW6
);
19016 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
19017 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
, 0);
19019 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, 0x800);
19021 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
,
19022 NPHY_ClassifierCtrl_ofdm_en
);
19024 if (CHSPEC_IS2G(chanspec
))
19025 and_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, ~0x840);
19028 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
19029 wlc_phy_txpwr_fixpower_nphy(pi
);
19032 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
19034 wlc_phy_adjust_lnagaintbl_nphy(pi
);
19037 wlc_phy_txlpfbw_nphy(pi
);
19039 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
19040 && (pi
->phy_spuravoid
!= SPURAVOID_DISABLE
)) {
19043 val
= CHSPEC_CHANNEL(chanspec
);
19044 if (!CHSPEC_IS40(pi
->radio_chanspec
)) {
19045 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19046 if ((val
== 13) || (val
== 14) || (val
== 153)) {
19051 if (((val
>= 5) && (val
<= 8)) || (val
== 13)
19057 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19063 if (pi
->nphy_aband_spurwar_en
&&
19064 ((val
== 38) || (val
== 102)
19065 || (val
== 118))) {
19066 if ((CHIPID(pi
->sh
->chip
) ==
19068 && (pi
->sh
->chippkg
==
19078 if (pi
->phy_spuravoid
== SPURAVOID_FORCEON
)
19081 if ((CHIPID(pi
->sh
->chip
) == BCM4716_CHIP_ID
) ||
19082 (CHIPID(pi
->sh
->chip
) == BCM47162_CHIP_ID
)) {
19083 si_pmu_spuravoid(pi
->sh
->sih
, pi
->sh
->osh
, spuravoid
);
19085 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, FALSE
);
19086 si_pmu_spuravoid(pi
->sh
->sih
, pi
->sh
->osh
, spuravoid
);
19087 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, TRUE
);
19090 if ((CHIPID(pi
->sh
->chip
) == BCM43224_CHIP_ID
) ||
19091 (CHIPID(pi
->sh
->chip
) == BCM43225_CHIP_ID
) ||
19092 (CHIPID(pi
->sh
->chip
) == BCM43421_CHIP_ID
)) {
19094 if (spuravoid
== 1) {
19096 W_REG(pi
->sh
->osh
, &pi
->regs
->tsf_clk_frac_l
,
19098 W_REG(pi
->sh
->osh
, &pi
->regs
->tsf_clk_frac_h
,
19102 W_REG(pi
->sh
->osh
, &pi
->regs
->tsf_clk_frac_l
,
19104 W_REG(pi
->sh
->osh
, &pi
->regs
->tsf_clk_frac_h
,
19109 if (!((CHIPID(pi
->sh
->chip
) == BCM4716_CHIP_ID
) ||
19110 (CHIPID(pi
->sh
->chip
) == BCM47162_CHIP_ID
))) {
19111 wlapi_bmac_core_phypll_reset(pi
->sh
->physhim
);
19114 mod_phy_reg(pi
, 0x01, (0x1 << 15),
19115 ((spuravoid
> 0) ? (0x1 << 15) : 0));
19117 wlc_phy_resetcca_nphy(pi
);
19119 pi
->phy_isspuravoid
= (spuravoid
> 0);
19122 if (NREV_LT(pi
->pubpi
.phy_rev
, 7))
19123 write_phy_reg(pi
, 0x17e, 0x3830);
19125 wlc_phy_spurwar_nphy(pi
);
19128 void wlc_phy_chanspec_set_nphy(phy_info_t
*pi
, chanspec_t chanspec
)
19131 chan_info_nphy_radio2057_t
*t0
= NULL
;
19132 chan_info_nphy_radio205x_t
*t1
= NULL
;
19133 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
19134 chan_info_nphy_2055_t
*t3
= NULL
;
19136 if (NORADIO_ENAB(pi
->pubpi
)) {
19140 if (!wlc_phy_chan2freq_nphy
19141 (pi
, CHSPEC_CHANNEL(chanspec
), &freq
, &t0
, &t1
, &t2
, &t3
))
19144 wlc_phy_chanspec_radio_set((wlc_phy_t
*) pi
, chanspec
);
19146 if (CHSPEC_BW(chanspec
) != pi
->bw
)
19147 wlapi_bmac_bw_set(pi
->sh
->physhim
, CHSPEC_BW(chanspec
));
19149 if (CHSPEC_IS40(chanspec
)) {
19150 if (CHSPEC_SB_UPPER(chanspec
)) {
19151 or_phy_reg(pi
, 0xa0, BPHY_BAND_SEL_UP20
);
19152 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19153 or_phy_reg(pi
, 0x310, PRIM_SEL_UP20
);
19156 and_phy_reg(pi
, 0xa0, ~BPHY_BAND_SEL_UP20
);
19157 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19158 and_phy_reg(pi
, 0x310,
19159 (~PRIM_SEL_UP20
& 0xffff));
19164 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19165 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19167 if ((pi
->pubpi
.radiorev
<= 4)
19168 || (pi
->pubpi
.radiorev
== 6)) {
19169 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE0
,
19171 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19173 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE1
,
19175 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19179 wlc_phy_chanspec_radio2057_setup(pi
, t0
, t2
);
19180 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19181 (pi
->pubpi
.radiorev
==
19182 5) ? (const nphy_sfo_cfg_t
19185 : (const nphy_sfo_cfg_t
*)
19191 RADIO_2056_SYN_COM_CTRL
| RADIO_2056_SYN
,
19193 (CHSPEC_IS5G(chanspec
) ? (0x1 << 2) : 0));
19194 wlc_phy_chanspec_radio2056_setup(pi
, t1
);
19196 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19197 (const nphy_sfo_cfg_t
*)
19203 mod_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
, 0x70,
19204 (CHSPEC_IS5G(chanspec
) ? (0x02 << 4)
19207 wlc_phy_chanspec_radio2055_setup(pi
, t3
);
19208 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19209 (const nphy_sfo_cfg_t
*)&(t3
->
19215 static void wlc_phy_savecal_nphy(phy_info_t
*pi
)
19219 uint16
*txcal_radio_regs
= NULL
;
19221 if (pi
->phyhang_avoid
)
19222 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
19224 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19226 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19227 &pi
->calibration_cache
.
19230 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19232 pi
->calibration_cache
.txcal_radio_regs_2G
;
19233 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19235 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19237 RADIO_2056_TX_LOFT_FINE_I
|
19239 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19241 RADIO_2056_TX_LOFT_FINE_Q
|
19243 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19245 RADIO_2056_TX_LOFT_FINE_I
|
19247 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19249 RADIO_2056_TX_LOFT_FINE_Q
|
19252 pi
->calibration_cache
.txcal_radio_regs_2G
[4] =
19254 RADIO_2056_TX_LOFT_COARSE_I
|
19256 pi
->calibration_cache
.txcal_radio_regs_2G
[5] =
19258 RADIO_2056_TX_LOFT_COARSE_Q
|
19260 pi
->calibration_cache
.txcal_radio_regs_2G
[6] =
19262 RADIO_2056_TX_LOFT_COARSE_I
|
19264 pi
->calibration_cache
.txcal_radio_regs_2G
[7] =
19266 RADIO_2056_TX_LOFT_COARSE_Q
|
19269 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19270 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19271 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19272 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19273 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19274 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19275 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19276 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19279 pi
->nphy_iqcal_chanspec_2G
= pi
->radio_chanspec
;
19280 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19283 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19284 &pi
->calibration_cache
.
19287 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19289 pi
->calibration_cache
.txcal_radio_regs_5G
;
19290 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19292 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19294 RADIO_2056_TX_LOFT_FINE_I
|
19296 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19298 RADIO_2056_TX_LOFT_FINE_Q
|
19300 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19302 RADIO_2056_TX_LOFT_FINE_I
|
19304 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19306 RADIO_2056_TX_LOFT_FINE_Q
|
19309 pi
->calibration_cache
.txcal_radio_regs_5G
[4] =
19311 RADIO_2056_TX_LOFT_COARSE_I
|
19313 pi
->calibration_cache
.txcal_radio_regs_5G
[5] =
19315 RADIO_2056_TX_LOFT_COARSE_Q
|
19317 pi
->calibration_cache
.txcal_radio_regs_5G
[6] =
19319 RADIO_2056_TX_LOFT_COARSE_I
|
19321 pi
->calibration_cache
.txcal_radio_regs_5G
[7] =
19323 RADIO_2056_TX_LOFT_COARSE_Q
|
19326 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19327 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19328 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19329 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19330 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19331 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19332 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19333 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19336 pi
->nphy_iqcal_chanspec_5G
= pi
->radio_chanspec
;
19337 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19339 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19340 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19342 txcal_radio_regs
[2 * coreNum
] =
19343 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19345 txcal_radio_regs
[2 * coreNum
+ 1] =
19346 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19349 txcal_radio_regs
[2 * coreNum
+ 4] =
19350 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19352 txcal_radio_regs
[2 * coreNum
+ 5] =
19353 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19358 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 8, 80, 16, tbl_ptr
);
19360 if (pi
->phyhang_avoid
)
19361 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
19364 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
)
19367 uint16 txcal_coeffs_bphy
[4];
19370 uint16
*txcal_radio_regs
= NULL
;
19372 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19373 if (pi
->nphy_iqcal_chanspec_2G
== 0)
19376 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19377 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_2G
[5];
19379 if (pi
->nphy_iqcal_chanspec_5G
== 0)
19382 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19383 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_5G
[5];
19386 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80, 16,
19389 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19390 txcal_coeffs_bphy
[0] = tbl_ptr
[0];
19391 txcal_coeffs_bphy
[1] = tbl_ptr
[1];
19392 txcal_coeffs_bphy
[2] = tbl_ptr
[2];
19393 txcal_coeffs_bphy
[3] = tbl_ptr
[3];
19395 txcal_coeffs_bphy
[0] = 0;
19396 txcal_coeffs_bphy
[1] = 0;
19397 txcal_coeffs_bphy
[2] = 0;
19398 txcal_coeffs_bphy
[3] = 0;
19401 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88, 16,
19402 txcal_coeffs_bphy
);
19404 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85, 16, loft_comp
);
19406 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93, 16, loft_comp
);
19408 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
19409 wlc_phy_tx_iq_war_nphy(pi
);
19411 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19412 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19414 pi
->calibration_cache
.txcal_radio_regs_2G
;
19415 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19417 write_radio_reg(pi
,
19418 RADIO_2056_TX_LOFT_FINE_I
|
19420 pi
->calibration_cache
.
19421 txcal_radio_regs_2G
[0]);
19422 write_radio_reg(pi
,
19423 RADIO_2056_TX_LOFT_FINE_Q
|
19425 pi
->calibration_cache
.
19426 txcal_radio_regs_2G
[1]);
19427 write_radio_reg(pi
,
19428 RADIO_2056_TX_LOFT_FINE_I
|
19430 pi
->calibration_cache
.
19431 txcal_radio_regs_2G
[2]);
19432 write_radio_reg(pi
,
19433 RADIO_2056_TX_LOFT_FINE_Q
|
19435 pi
->calibration_cache
.
19436 txcal_radio_regs_2G
[3]);
19438 write_radio_reg(pi
,
19439 RADIO_2056_TX_LOFT_COARSE_I
|
19441 pi
->calibration_cache
.
19442 txcal_radio_regs_2G
[4]);
19443 write_radio_reg(pi
,
19444 RADIO_2056_TX_LOFT_COARSE_Q
|
19446 pi
->calibration_cache
.
19447 txcal_radio_regs_2G
[5]);
19448 write_radio_reg(pi
,
19449 RADIO_2056_TX_LOFT_COARSE_I
|
19451 pi
->calibration_cache
.
19452 txcal_radio_regs_2G
[6]);
19453 write_radio_reg(pi
,
19454 RADIO_2056_TX_LOFT_COARSE_Q
|
19456 pi
->calibration_cache
.
19457 txcal_radio_regs_2G
[7]);
19459 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19460 pi
->calibration_cache
.
19461 txcal_radio_regs_2G
[0]);
19462 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19463 pi
->calibration_cache
.
19464 txcal_radio_regs_2G
[1]);
19465 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19466 pi
->calibration_cache
.
19467 txcal_radio_regs_2G
[2]);
19468 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19469 pi
->calibration_cache
.
19470 txcal_radio_regs_2G
[3]);
19473 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19474 &pi
->calibration_cache
.
19477 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19479 pi
->calibration_cache
.txcal_radio_regs_5G
;
19480 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19482 write_radio_reg(pi
,
19483 RADIO_2056_TX_LOFT_FINE_I
|
19485 pi
->calibration_cache
.
19486 txcal_radio_regs_5G
[0]);
19487 write_radio_reg(pi
,
19488 RADIO_2056_TX_LOFT_FINE_Q
|
19490 pi
->calibration_cache
.
19491 txcal_radio_regs_5G
[1]);
19492 write_radio_reg(pi
,
19493 RADIO_2056_TX_LOFT_FINE_I
|
19495 pi
->calibration_cache
.
19496 txcal_radio_regs_5G
[2]);
19497 write_radio_reg(pi
,
19498 RADIO_2056_TX_LOFT_FINE_Q
|
19500 pi
->calibration_cache
.
19501 txcal_radio_regs_5G
[3]);
19503 write_radio_reg(pi
,
19504 RADIO_2056_TX_LOFT_COARSE_I
|
19506 pi
->calibration_cache
.
19507 txcal_radio_regs_5G
[4]);
19508 write_radio_reg(pi
,
19509 RADIO_2056_TX_LOFT_COARSE_Q
|
19511 pi
->calibration_cache
.
19512 txcal_radio_regs_5G
[5]);
19513 write_radio_reg(pi
,
19514 RADIO_2056_TX_LOFT_COARSE_I
|
19516 pi
->calibration_cache
.
19517 txcal_radio_regs_5G
[6]);
19518 write_radio_reg(pi
,
19519 RADIO_2056_TX_LOFT_COARSE_Q
|
19521 pi
->calibration_cache
.
19522 txcal_radio_regs_5G
[7]);
19524 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19525 pi
->calibration_cache
.
19526 txcal_radio_regs_5G
[0]);
19527 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19528 pi
->calibration_cache
.
19529 txcal_radio_regs_5G
[1]);
19530 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19531 pi
->calibration_cache
.
19532 txcal_radio_regs_5G
[2]);
19533 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19534 pi
->calibration_cache
.
19535 txcal_radio_regs_5G
[3]);
19538 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19539 &pi
->calibration_cache
.
19543 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19544 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19546 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19548 txcal_radio_regs
[2 * coreNum
]);
19549 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19551 txcal_radio_regs
[2 * coreNum
+ 1]);
19553 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19555 txcal_radio_regs
[2 * coreNum
+ 4]);
19556 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19558 txcal_radio_regs
[2 * coreNum
+ 5]);
19563 void wlc_phy_antsel_init(wlc_phy_t
*ppi
, bool lut_init
)
19565 phy_info_t
*pi
= (phy_info_t
*) ppi
;
19566 uint16 mask
= 0xfc00;
19569 if (NREV_GE(pi
->pubpi
.phy_rev
, 7))
19572 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19573 uint16 v0
= 0x211, v1
= 0x222, v2
= 0x144, v3
= 0x188;
19575 if (lut_init
== FALSE
)
19578 if (pi
->srom_fem2g
.antswctrllut
== 0) {
19579 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19581 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19583 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19585 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19591 if (pi
->srom_fem5g
.antswctrllut
== 0) {
19592 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19594 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19596 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19598 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19605 write_phy_reg(pi
, 0xc8, 0x0);
19606 write_phy_reg(pi
, 0xc9, 0x0);
19608 si_gpiocontrol(pi
->sh
->sih
, mask
, mask
, GPIO_DRV_PRIORITY
);
19610 mc
= R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
);
19611 mc
&= ~MCTL_GPOUT_SEL_MASK
;
19612 W_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
, mc
);
19614 OR_REG(pi
->sh
->osh
, &pi
->regs
->psm_gpio_oe
, mask
);
19616 AND_REG(pi
->sh
->osh
, &pi
->regs
->psm_gpio_out
, ~mask
);
19619 write_phy_reg(pi
, 0xf8, 0x02d8);
19620 write_phy_reg(pi
, 0xf9, 0x0301);
19621 write_phy_reg(pi
, 0xfa, 0x02d8);
19622 write_phy_reg(pi
, 0xfb, 0x0301);
19627 uint16
wlc_phy_classifier_nphy(phy_info_t
*pi
, uint16 mask
, uint16 val
)
19629 uint16 curr_ctl
, new_ctl
;
19630 bool suspended
= FALSE
;
19632 if (D11REV_IS(pi
->sh
->corerev
, 16)) {
19634 (R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
) & MCTL_EN_MAC
) ?
19637 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
19640 curr_ctl
= read_phy_reg(pi
, 0xb0) & (0x7 << 0);
19642 new_ctl
= (curr_ctl
& (~mask
)) | (val
& mask
);
19644 mod_phy_reg(pi
, 0xb0, (0x7 << 0), new_ctl
);
19646 if (D11REV_IS(pi
->sh
->corerev
, 16) && !suspended
)
19647 wlapi_enable_mac(pi
->sh
->physhim
);
19652 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, uint16
*vals
)
19656 vals
[0] = read_phy_reg(pi
, 0x2c);
19657 vals
[1] = read_phy_reg(pi
, 0x42);
19659 write_phy_reg(pi
, 0x2c, vals
[0]);
19660 write_phy_reg(pi
, 0x42, vals
[1]);
19664 void wlc_phy_force_rfseq_nphy(phy_info_t
*pi
, u8 cmd
)
19666 uint16 trigger_mask
, status_mask
;
19667 uint16 orig_RfseqCoreActv
;
19670 case NPHY_RFSEQ_RX2TX
:
19671 trigger_mask
= NPHY_RfseqTrigger_rx2tx
;
19672 status_mask
= NPHY_RfseqStatus_rx2tx
;
19674 case NPHY_RFSEQ_TX2RX
:
19675 trigger_mask
= NPHY_RfseqTrigger_tx2rx
;
19676 status_mask
= NPHY_RfseqStatus_tx2rx
;
19678 case NPHY_RFSEQ_RESET2RX
:
19679 trigger_mask
= NPHY_RfseqTrigger_reset2rx
;
19680 status_mask
= NPHY_RfseqStatus_reset2rx
;
19682 case NPHY_RFSEQ_UPDATEGAINH
:
19683 trigger_mask
= NPHY_RfseqTrigger_updategainh
;
19684 status_mask
= NPHY_RfseqStatus_updategainh
;
19686 case NPHY_RFSEQ_UPDATEGAINL
:
19687 trigger_mask
= NPHY_RfseqTrigger_updategainl
;
19688 status_mask
= NPHY_RfseqStatus_updategainl
;
19690 case NPHY_RFSEQ_UPDATEGAINU
:
19691 trigger_mask
= NPHY_RfseqTrigger_updategainu
;
19692 status_mask
= NPHY_RfseqStatus_updategainu
;
19698 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
19699 or_phy_reg(pi
, 0xa1,
19700 (NPHY_RfseqMode_CoreActv_override
|
19701 NPHY_RfseqMode_Trigger_override
));
19702 or_phy_reg(pi
, 0xa3, trigger_mask
);
19703 SPINWAIT((read_phy_reg(pi
, 0xa4) & status_mask
), 200000);
19704 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
19706 ASSERT((read_phy_reg(pi
, 0xa4) & status_mask
) == 0);
19710 wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*events
, u8
*dlys
,
19713 uint32 t1_offset
, t2_offset
;
19716 NREV_GE(pi
->pubpi
.phy_rev
,
19717 3) ? NPHY_REV3_RFSEQ_CMD_END
: NPHY_RFSEQ_CMD_END
;
19722 if (pi
->phyhang_avoid
)
19723 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
19725 t1_offset
= cmd
<< 4;
19726 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t1_offset
, 8,
19728 t2_offset
= t1_offset
+ 0x080;
19729 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t2_offset
, 8,
19732 for (ctr
= len
; ctr
< 16; ctr
++) {
19733 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19734 t1_offset
+ ctr
, 8, &end_event
);
19735 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19736 t2_offset
+ ctr
, 8, &end_dly
);
19739 if (pi
->phyhang_avoid
)
19740 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
19743 static uint16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, uint16 offset
)
19745 uint16 lpf_bw_ctl_val
= 0;
19746 uint16 rx2tx_lpf_rc_lut_offset
= 0;
19749 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
19750 rx2tx_lpf_rc_lut_offset
= 0x159;
19752 rx2tx_lpf_rc_lut_offset
= 0x154;
19755 rx2tx_lpf_rc_lut_offset
= offset
;
19757 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19758 (uint32
) rx2tx_lpf_rc_lut_offset
, 16,
19761 lpf_bw_ctl_val
= lpf_bw_ctl_val
& 0x7;
19763 return lpf_bw_ctl_val
;
19767 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, uint16 field
, uint16 value
,
19768 u8 core_mask
, u8 off
, u8 override_id
)
19771 uint16 addr
= 0, en_addr
= 0, val_addr
= 0, en_mask
= 0, val_mask
= 0;
19774 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19776 for (core_num
= 0; core_num
< 2; core_num
++) {
19777 if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID0
) {
19781 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19782 val_addr
= (core_num
== 0) ? 0x7a :
19784 val_mask
= (0x1 << 1);
19788 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19789 val_addr
= (core_num
== 0) ? 0x7a :
19791 val_mask
= (0x1 << 2);
19795 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19796 val_addr
= (core_num
== 0) ? 0x7a :
19798 val_mask
= (0x1 << 4);
19802 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19803 val_addr
= (core_num
== 0) ? 0x7a :
19805 val_mask
= (0x1 << 5);
19809 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19810 val_addr
= (core_num
== 0) ? 0x7a :
19812 val_mask
= (0x1 << 6);
19816 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19817 val_addr
= (core_num
== 0) ? 0x7a :
19819 val_mask
= (0x1 << 7);
19823 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19824 val_addr
= (core_num
== 0) ? 0xf8 :
19826 val_mask
= (0x7 << 4);
19830 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19831 val_addr
= (core_num
== 0) ? 0x7b :
19833 val_mask
= (0xffff << 0);
19837 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19838 val_addr
= (core_num
== 0) ? 0x7c :
19840 val_mask
= (0xffff << 0);
19844 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19845 val_addr
= (core_num
== 0) ? 0x348 :
19847 val_mask
= (0xff << 0);
19851 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19852 val_addr
= (core_num
== 0) ? 0x348 :
19854 val_mask
= (0xf << 0);
19861 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID1
) {
19865 en_addr
= (core_num
== 0) ? 0x342 :
19867 val_addr
= (core_num
== 0) ? 0x340 :
19869 val_mask
= (0x1 << 1);
19873 en_addr
= (core_num
== 0) ? 0x342 :
19875 val_addr
= (core_num
== 0) ? 0x340 :
19877 val_mask
= (0x1 << 3);
19881 en_addr
= (core_num
== 0) ? 0x342 :
19883 val_addr
= (core_num
== 0) ? 0x340 :
19885 val_mask
= (0x1 << 5);
19889 en_addr
= (core_num
== 0) ? 0x342 :
19891 val_addr
= (core_num
== 0) ? 0x340 :
19893 val_mask
= (0x1 << 4);
19898 en_addr
= (core_num
== 0) ? 0x342 :
19900 val_addr
= (core_num
== 0) ? 0x340 :
19902 val_mask
= (0x1 << 2);
19907 en_addr
= (core_num
== 0) ? 0x342 :
19909 val_addr
= (core_num
== 0) ? 0x340 :
19911 val_mask
= (0x7 << 8);
19915 en_addr
= (core_num
== 0) ? 0x342 :
19917 val_addr
= (core_num
== 0) ? 0x340 :
19919 val_mask
= (0x1 << 14);
19923 en_addr
= (core_num
== 0) ? 0x342 :
19925 val_addr
= (core_num
== 0) ? 0x340 :
19927 val_mask
= (0x1 << 13);
19931 en_addr
= (core_num
== 0) ? 0x342 :
19933 val_addr
= (core_num
== 0) ? 0x340 :
19935 val_mask
= (0x1 << 12);
19939 en_addr
= (core_num
== 0) ? 0x342 :
19941 val_addr
= (core_num
== 0) ? 0x340 :
19943 val_mask
= (0x1 << 11);
19947 en_addr
= (core_num
== 0) ? 0x342 :
19949 val_addr
= (core_num
== 0) ? 0x340 :
19951 val_mask
= (0x1 << 6);
19955 en_addr
= (core_num
== 0) ? 0x342 :
19957 val_addr
= (core_num
== 0) ? 0x340 :
19959 val_mask
= (0x1 << 0);
19966 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID2
) {
19970 en_addr
= (core_num
== 0) ? 0x346 :
19972 val_addr
= (core_num
== 0) ? 0x344 :
19974 val_mask
= (0x1 << 3);
19978 en_addr
= (core_num
== 0) ? 0x346 :
19980 val_addr
= (core_num
== 0) ? 0x344 :
19982 val_mask
= (0x1 << 1);
19986 en_addr
= (core_num
== 0) ? 0x346 :
19988 val_addr
= (core_num
== 0) ? 0x344 :
19990 val_mask
= (0x1 << 0);
19994 en_addr
= (core_num
== 0) ? 0x346 :
19996 val_addr
= (core_num
== 0) ? 0x344 :
19998 val_mask
= (0x1 << 2);
20002 en_addr
= (core_num
== 0) ? 0x346 :
20004 val_addr
= (core_num
== 0) ? 0x344 :
20006 val_mask
= (0x1 << 4);
20016 and_phy_reg(pi
, en_addr
, ~en_mask
);
20017 and_phy_reg(pi
, val_addr
, ~val_mask
);
20020 if ((core_mask
== 0)
20021 || (core_mask
& (1 << core_num
))) {
20022 or_phy_reg(pi
, en_addr
, en_mask
);
20024 if (addr
!= 0xffff) {
20025 mod_phy_reg(pi
, val_addr
,
20037 wlc_phy_rfctrl_override_nphy(phy_info_t
*pi
, uint16 field
, uint16 value
,
20038 u8 core_mask
, u8 off
)
20041 uint16 addr
= 0, mask
= 0, en_addr
= 0, val_addr
= 0, en_mask
=
20043 u8 shift
= 0, val_shift
= 0;
20045 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
20048 for (core_num
= 0; core_num
< 2; core_num
++) {
20052 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20053 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20054 val_mask
= (0x1 << 0);
20058 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20059 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20060 val_mask
= (0x1 << 1);
20064 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20065 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20066 val_mask
= (0x1 << 2);
20070 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20071 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20072 val_mask
= (0x1 << 4);
20076 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20077 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20078 val_mask
= (0x1 << 5);
20082 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20083 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20084 val_mask
= (0x1 << 6);
20088 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20089 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20090 val_mask
= (0x1 << 7);
20094 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20095 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20096 val_mask
= (0x7 << 8);
20100 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20101 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20102 val_mask
= (0x7 << 13);
20107 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20108 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20109 val_mask
= (0x7 << 0);
20114 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20115 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20116 val_mask
= (0x7 << 4);
20121 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20122 val_addr
= (core_num
== 0) ? 0x7b : 0x7e;
20123 val_mask
= (0xffff << 0);
20127 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20128 val_addr
= (core_num
== 0) ? 0x7c : 0x7f;
20129 val_mask
= (0xffff << 0);
20133 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20134 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20135 val_mask
= (0x3 << 6);
20139 en_addr
= (core_num
== 0) ? 0xe5 : 0xe6;
20140 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20141 val_mask
= (0x1 << 15);
20150 and_phy_reg(pi
, en_addr
, ~en_mask
);
20151 and_phy_reg(pi
, val_addr
, ~val_mask
);
20154 if ((core_mask
== 0)
20155 || (core_mask
& (1 << core_num
))) {
20156 or_phy_reg(pi
, en_addr
, en_mask
);
20158 if (addr
!= 0xffff) {
20159 mod_phy_reg(pi
, val_addr
,
20170 and_phy_reg(pi
, 0xec, ~field
);
20173 or_phy_reg(pi
, 0xec, field
);
20176 for (core_num
= 0; core_num
< 2; core_num
++) {
20195 addr
= (core_num
== 0) ? 0x7a : 0x7d;
20198 addr
= (core_num
== 0) ? 0x7b : 0x7e;
20201 addr
= (core_num
== 0) ? 0x7c : 0x7f;
20225 mask
= (0xf << 12);
20270 if ((addr
!= 0xffff) && (core_mask
& (1 << core_num
))) {
20271 mod_phy_reg(pi
, addr
, mask
, (value
<< shift
));
20275 or_phy_reg(pi
, 0xec, (0x1 << 0));
20276 or_phy_reg(pi
, 0x78, (0x1 << 0));
20278 and_phy_reg(pi
, 0xec, ~(0x1 << 0));
20283 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t
*pi
, uint16 cmd
, uint16 value
,
20284 u8 core_mask
, u8 off
)
20286 uint16 rfmxgain
= 0, lpfgain
= 0;
20289 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20292 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
:
20293 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
20294 value
, core_mask
, off
,
20295 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20296 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), value
,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), value
,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20303 case NPHY_REV7_RfctrlOverride_cmd_rx_pu
:
20304 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20305 value
, core_mask
, off
,
20306 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20307 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20309 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20310 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20312 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20313 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20315 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20316 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0,
20318 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20320 case NPHY_REV7_RfctrlOverride_cmd_tx_pu
:
20321 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20322 value
, core_mask
, off
,
20323 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20324 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20326 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20327 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20329 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20330 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), value
,
20332 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20333 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1,
20335 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20337 case NPHY_REV7_RfctrlOverride_cmd_rxgain
:
20338 rfmxgain
= value
& 0x000ff;
20339 lpfgain
= value
& 0x0ff00;
20340 lpfgain
= lpfgain
>> 8;
20342 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
20343 rfmxgain
, core_mask
,
20345 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20346 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x3 << 13),
20347 lpfgain
, core_mask
,
20349 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20351 case NPHY_REV7_RfctrlOverride_cmd_txgain
:
20352 tgain
= value
& 0x7fff;
20353 lpfgain
= value
& 0x8000;
20354 lpfgain
= lpfgain
>> 14;
20356 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
20357 tgain
, core_mask
, off
,
20358 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20359 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 13),
20360 lpfgain
, core_mask
,
20362 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20369 wlc_phy_scale_offset_rssi_nphy(phy_info_t
*pi
, uint16 scale
, s8 offset
,
20370 u8 coresel
, u8 rail
, u8 rssi_type
)
20372 uint16 valuetostuff
;
20374 offset
= (offset
> NPHY_RSSICAL_MAXREAD
) ?
20375 NPHY_RSSICAL_MAXREAD
: offset
;
20376 offset
= (offset
< (-NPHY_RSSICAL_MAXREAD
- 1)) ?
20377 -NPHY_RSSICAL_MAXREAD
- 1 : offset
;
20379 valuetostuff
= ((scale
& 0x3f) << 8) | (offset
& 0x3f);
20381 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20382 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20383 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20384 write_phy_reg(pi
, 0x1a6, valuetostuff
);
20386 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20387 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20388 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20389 write_phy_reg(pi
, 0x1ac, valuetostuff
);
20391 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20392 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20393 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20394 write_phy_reg(pi
, 0x1b2, valuetostuff
);
20396 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20397 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20398 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20399 write_phy_reg(pi
, 0x1b8, valuetostuff
);
20402 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20403 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20404 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20405 write_phy_reg(pi
, 0x1a4, valuetostuff
);
20407 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20408 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20409 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20410 write_phy_reg(pi
, 0x1aa, valuetostuff
);
20412 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20413 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20414 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20415 write_phy_reg(pi
, 0x1b0, valuetostuff
);
20417 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20418 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20419 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20420 write_phy_reg(pi
, 0x1b6, valuetostuff
);
20423 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20424 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20425 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20426 write_phy_reg(pi
, 0x1a5, valuetostuff
);
20428 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20429 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20430 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20431 write_phy_reg(pi
, 0x1ab, valuetostuff
);
20433 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20434 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20435 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20436 write_phy_reg(pi
, 0x1b1, valuetostuff
);
20438 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20439 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20440 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20441 write_phy_reg(pi
, 0x1b7, valuetostuff
);
20444 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20445 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20446 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20447 write_phy_reg(pi
, 0x1a7, valuetostuff
);
20449 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20450 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20451 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20452 write_phy_reg(pi
, 0x1ad, valuetostuff
);
20454 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20455 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20456 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20457 write_phy_reg(pi
, 0x1b3, valuetostuff
);
20459 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20460 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20461 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20462 write_phy_reg(pi
, 0x1b9, valuetostuff
);
20465 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20466 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20467 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20468 write_phy_reg(pi
, 0x1a8, valuetostuff
);
20470 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20471 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20472 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20473 write_phy_reg(pi
, 0x1ae, valuetostuff
);
20475 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20476 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20477 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20478 write_phy_reg(pi
, 0x1b4, valuetostuff
);
20480 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20481 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20482 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20483 write_phy_reg(pi
, 0x1ba, valuetostuff
);
20486 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20487 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20488 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20489 write_phy_reg(pi
, 0x1a9, valuetostuff
);
20491 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20492 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20493 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20494 write_phy_reg(pi
, 0x1b5, valuetostuff
);
20497 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20498 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20499 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20500 write_phy_reg(pi
, 0x1af, valuetostuff
);
20502 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20503 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20504 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20505 write_phy_reg(pi
, 0x1bb, valuetostuff
);
20509 void wlc_phy_rssisel_nphy(phy_info_t
*pi
, u8 core_code
, u8 rssi_type
)
20512 uint16 afectrlovr_rssi_val
, rfctrlcmd_rxen_val
, rfctrlcmd_coresel_val
,
20514 uint16 rfctrlovr_rssi_val
, rfctrlovr_rxen_val
, rfctrlovr_coresel_val
,
20515 rfctrlovr_trigger_val
;
20516 uint16 afectrlovr_rssi_mask
, rfctrlcmd_mask
, rfctrlovr_mask
;
20517 uint16 rfctrlcmd_val
, rfctrlovr_val
;
20520 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20521 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20522 mod_phy_reg(pi
, 0x8f, (0x1 << 9), 0);
20523 mod_phy_reg(pi
, 0xa5, (0x1 << 9), 0);
20525 mod_phy_reg(pi
, 0xa6, (0x3 << 8), 0);
20526 mod_phy_reg(pi
, 0xa7, (0x3 << 8), 0);
20528 mod_phy_reg(pi
, 0xe5, (0x1 << 5), 0);
20529 mod_phy_reg(pi
, 0xe6, (0x1 << 5), 0);
20531 mask
= (0x1 << 2) |
20532 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20533 mod_phy_reg(pi
, 0xf9, mask
, 0);
20534 mod_phy_reg(pi
, 0xfb, mask
, 0);
20537 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
20538 if (core_code
== RADIO_MIMO_CORESEL_CORE1
20539 && core
== PHY_CORE_1
)
20541 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
20542 && core
== PHY_CORE_0
)
20545 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20546 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20548 if (rssi_type
== NPHY_RSSI_SEL_W1
||
20549 rssi_type
== NPHY_RSSI_SEL_W2
||
20550 rssi_type
== NPHY_RSSI_SEL_NB
) {
20554 PHY_CORE_0
) ? 0xa6 : 0xa7,
20557 mask
= (0x1 << 2) |
20559 (0x1 << 4) | (0x1 << 5);
20562 PHY_CORE_0
) ? 0xf9 : 0xfb,
20565 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20567 (pi
->radio_chanspec
)) {
20574 } else if (rssi_type
==
20575 NPHY_RSSI_SEL_W2
) {
20584 PHY_CORE_0
) ? 0xf9 : 0xfb,
20589 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20590 0xe5 : 0xe6, mask
, val
);
20592 if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20599 : 0xa7, mask
, val
);
20600 mask
= (0x3 << 10);
20605 : 0xa7, mask
, val
);
20606 } else if (rssi_type
==
20607 NPHY_RSSI_SEL_IQ
) {
20614 : 0xa7, mask
, val
);
20615 mask
= (0x3 << 10);
20620 : 0xa7, mask
, val
);
20628 : 0xa7, mask
, val
);
20629 mask
= (0x3 << 10);
20634 : 0xa7, mask
, val
);
20638 (pi
->pubpi
.phy_rev
,
20646 RADIO_2057_TX0_TX_SSI_MUX
20648 RADIO_2057_TX1_TX_SSI_MUX
),
20657 RADIO_2056_TX_TX_SSI_MUX
20674 (pi
->pubpi
.phy_rev
,
20681 RADIO_2057_TX0_TX_SSI_MUX
20683 RADIO_2057_TX1_TX_SSI_MUX
),
20691 RADIO_2057_IQTEST_SEL_PU
,
20697 RADIO_2056_TX_TX_SSI_MUX
20709 afectrlovr_rssi_val
= 1 << 9;
20713 : 0xa5, (0x1 << 9),
20714 afectrlovr_rssi_val
);
20721 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20722 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20723 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20726 } else if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20729 } else if (rssi_type
== NPHY_RSSI_SEL_IQ
) {
20736 mask
= ((0x3 << 12) | (0x3 << 14));
20737 val
= (val
<< 12) | (val
<< 14);
20738 mod_phy_reg(pi
, 0xa6, mask
, val
);
20739 mod_phy_reg(pi
, 0xa7, mask
, val
);
20741 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20742 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20743 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20744 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20747 if (rssi_type
== NPHY_RSSI_SEL_W2
) {
20750 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
20755 mod_phy_reg(pi
, 0x7a, mask
, val
);
20756 mod_phy_reg(pi
, 0x7d, mask
, val
);
20759 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20760 afectrlovr_rssi_val
= 0;
20761 rfctrlcmd_rxen_val
= 0;
20762 rfctrlcmd_coresel_val
= 0;
20763 rfctrlovr_rssi_val
= 0;
20764 rfctrlovr_rxen_val
= 0;
20765 rfctrlovr_coresel_val
= 0;
20766 rfctrlovr_trigger_val
= 0;
20769 afectrlovr_rssi_val
= 1;
20770 rfctrlcmd_rxen_val
= 1;
20771 rfctrlcmd_coresel_val
= core_code
;
20772 rfctrlovr_rssi_val
= 1;
20773 rfctrlovr_rxen_val
= 1;
20774 rfctrlovr_coresel_val
= 1;
20775 rfctrlovr_trigger_val
= 1;
20779 afectrlovr_rssi_mask
= ((0x1 << 12) | (0x1 << 13));
20780 afectrlovr_rssi_val
= (afectrlovr_rssi_val
<<
20781 12) | (afectrlovr_rssi_val
<< 13);
20782 mod_phy_reg(pi
, 0xa5, afectrlovr_rssi_mask
,
20783 afectrlovr_rssi_val
);
20785 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20786 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20787 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20788 rfctrlcmd_mask
= ((0x1 << 8) | (0x7 << 3));
20789 rfctrlcmd_val
= (rfctrlcmd_rxen_val
<< 8) |
20790 (rfctrlcmd_coresel_val
<< 3);
20792 rfctrlovr_mask
= ((0x1 << 5) |
20794 (0x1 << 1) | (0x1 << 0));
20795 rfctrlovr_val
= (rfctrlovr_rssi_val
<<
20797 (rfctrlovr_rxen_val
<< 12) |
20798 (rfctrlovr_coresel_val
<< 1) |
20799 (rfctrlovr_trigger_val
<< 0);
20801 mod_phy_reg(pi
, 0x78, rfctrlcmd_mask
, rfctrlcmd_val
);
20802 mod_phy_reg(pi
, 0xec, rfctrlovr_mask
, rfctrlovr_val
);
20804 mod_phy_reg(pi
, 0x78, (0x1 << 0), (startseq
<< 0));
20807 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
20813 wlc_phy_poll_rssi_nphy(phy_info_t
*pi
, u8 rssi_type
, int32
*rssi_buf
,
20816 int16 rssi0
, rssi1
;
20817 uint16 afectrlCore1_save
= 0;
20818 uint16 afectrlCore2_save
= 0;
20819 uint16 afectrlOverride1_save
= 0;
20820 uint16 afectrlOverride2_save
= 0;
20821 uint16 rfctrlOverrideAux0_save
= 0;
20822 uint16 rfctrlOverrideAux1_save
= 0;
20823 uint16 rfctrlMiscReg1_save
= 0;
20824 uint16 rfctrlMiscReg2_save
= 0;
20825 uint16 rfctrlcmd_save
= 0;
20826 uint16 rfctrloverride_save
= 0;
20827 uint16 rfctrlrssiothers1_save
= 0;
20828 uint16 rfctrlrssiothers2_save
= 0;
20830 u8 ctr
= 0, samp
= 0;
20831 int32 rssi_out_val
;
20832 uint16 gpiosel_orig
;
20834 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20835 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20836 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20837 rfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
20838 rfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
20839 afectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
20840 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20841 rfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
20842 rfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
20844 afectrlOverride1_save
= read_phy_reg(pi
, 0xa5);
20845 rfctrlcmd_save
= read_phy_reg(pi
, 0x78);
20846 rfctrloverride_save
= read_phy_reg(pi
, 0xec);
20847 rfctrlrssiothers1_save
= read_phy_reg(pi
, 0x7a);
20848 rfctrlrssiothers2_save
= read_phy_reg(pi
, 0x7d);
20851 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
20853 gpiosel_orig
= read_phy_reg(pi
, 0xca);
20854 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20855 write_phy_reg(pi
, 0xca, 5);
20858 for (ctr
= 0; ctr
< 4; ctr
++) {
20862 for (samp
= 0; samp
< nsamps
; samp
++) {
20863 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20864 rssi0
= read_phy_reg(pi
, 0x1c9);
20865 rssi1
= read_phy_reg(pi
, 0x1ca);
20867 rssi0
= read_phy_reg(pi
, 0x219);
20868 rssi1
= read_phy_reg(pi
, 0x21a);
20872 tmp_buf
[ctr
++] = ((s8
) ((rssi0
& 0x3f) << 2)) >> 2;
20873 tmp_buf
[ctr
++] = ((s8
) (((rssi0
>> 8) & 0x3f) << 2)) >> 2;
20874 tmp_buf
[ctr
++] = ((s8
) ((rssi1
& 0x3f) << 2)) >> 2;
20875 tmp_buf
[ctr
++] = ((s8
) (((rssi1
>> 8) & 0x3f) << 2)) >> 2;
20877 for (ctr
= 0; ctr
< 4; ctr
++) {
20878 rssi_buf
[ctr
] += tmp_buf
[ctr
];
20883 rssi_out_val
= rssi_buf
[3] & 0xff;
20884 rssi_out_val
|= (rssi_buf
[2] & 0xff) << 8;
20885 rssi_out_val
|= (rssi_buf
[1] & 0xff) << 16;
20886 rssi_out_val
|= (rssi_buf
[0] & 0xff) << 24;
20888 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20889 write_phy_reg(pi
, 0xca, gpiosel_orig
);
20892 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
20893 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
20894 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20895 write_phy_reg(pi
, 0xf9, rfctrlMiscReg1_save
);
20896 write_phy_reg(pi
, 0xfb, rfctrlMiscReg2_save
);
20897 write_phy_reg(pi
, 0x8f, afectrlOverride1_save
);
20898 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
20899 write_phy_reg(pi
, 0xe5, rfctrlOverrideAux0_save
);
20900 write_phy_reg(pi
, 0xe6, rfctrlOverrideAux1_save
);
20902 write_phy_reg(pi
, 0xa5, afectrlOverride1_save
);
20903 write_phy_reg(pi
, 0x78, rfctrlcmd_save
);
20904 write_phy_reg(pi
, 0xec, rfctrloverride_save
);
20905 write_phy_reg(pi
, 0x7a, rfctrlrssiothers1_save
);
20906 write_phy_reg(pi
, 0x7d, rfctrlrssiothers2_save
);
20909 return rssi_out_val
;
20912 int16
wlc_phy_tempsense_nphy(phy_info_t
*pi
)
20914 uint16 core1_txrf_iqcal1_save
, core1_txrf_iqcal2_save
;
20915 uint16 core2_txrf_iqcal1_save
, core2_txrf_iqcal2_save
;
20916 uint16 pwrdet_rxtx_core1_save
;
20917 uint16 pwrdet_rxtx_core2_save
;
20918 uint16 afectrlCore1_save
;
20919 uint16 afectrlCore2_save
;
20920 uint16 afectrlOverride_save
;
20921 uint16 afectrlOverride2_save
;
20922 uint16 pd_pll_ts_save
;
20923 uint16 gpioSel_save
;
20924 int32 radio_temp
[4];
20925 int32 radio_temp2
[4];
20926 uint16 syn_tempprocsense_save
;
20929 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20930 uint16 auxADC_Vmid
, auxADC_Av
, auxADC_Vmid_save
, auxADC_Av_save
;
20931 uint16 auxADC_rssi_ctrlL_save
, auxADC_rssi_ctrlH_save
;
20932 uint16 auxADC_rssi_ctrlL
, auxADC_rssi_ctrlH
;
20934 uint16 RfctrlOverride5_save
, RfctrlOverride6_save
;
20935 uint16 RfctrlMiscReg5_save
, RfctrlMiscReg6_save
;
20936 uint16 RSSIMultCoef0QPowerDet_save
;
20937 uint16 tempsense_Rcal
;
20939 syn_tempprocsense_save
=
20940 read_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
);
20942 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20943 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20944 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
20945 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20946 RSSIMultCoef0QPowerDet_save
= read_phy_reg(pi
, 0x1ae);
20947 RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
20948 RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
20949 RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
20950 RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
20952 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
20953 &auxADC_Vmid_save
);
20954 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
20956 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20957 &auxADC_rssi_ctrlL_save
);
20958 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20959 &auxADC_rssi_ctrlH_save
);
20961 write_phy_reg(pi
, 0x1ae, 0x0);
20963 auxADC_rssi_ctrlL
= 0x0;
20964 auxADC_rssi_ctrlH
= 0x20;
20965 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20966 &auxADC_rssi_ctrlL
);
20967 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20968 &auxADC_rssi_ctrlH
);
20970 tempsense_Rcal
= syn_tempprocsense_save
& 0x1c;
20972 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
20973 tempsense_Rcal
| 0x01);
20975 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
20977 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20978 mod_phy_reg(pi
, 0xa6, (0x1 << 7), 0);
20979 mod_phy_reg(pi
, 0xa7, (0x1 << 7), 0);
20980 mod_phy_reg(pi
, 0x8f, (0x1 << 7), (0x1 << 7));
20981 mod_phy_reg(pi
, 0xa5, (0x1 << 7), (0x1 << 7));
20983 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
20984 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
20985 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
20986 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
20988 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
20989 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
20990 mod_phy_reg(pi
, 0xa6, (0x1 << 3), 0);
20991 mod_phy_reg(pi
, 0xa7, (0x1 << 3), 0);
20992 mod_phy_reg(pi
, 0x8f, (0x1 << 3), (0x1 << 3));
20993 mod_phy_reg(pi
, 0xa5, (0x1 << 3), (0x1 << 3));
20994 mod_phy_reg(pi
, 0xa6, (0x1 << 6), 0);
20995 mod_phy_reg(pi
, 0xa7, (0x1 << 6), 0);
20996 mod_phy_reg(pi
, 0x8f, (0x1 << 6), (0x1 << 6));
20997 mod_phy_reg(pi
, 0xa5, (0x1 << 6), (0x1 << 6));
20999 auxADC_Vmid
= 0xA3;
21001 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21003 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21008 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21009 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21010 tempsense_Rcal
| 0x03);
21013 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21016 if (radio_temp
[1] + radio_temp2
[1] < -30) {
21017 auxADC_Vmid
= 0x45;
21019 } else if (radio_temp
[1] + radio_temp2
[1] < -9) {
21020 auxADC_Vmid
= 0x200;
21022 } else if (radio_temp
[1] + radio_temp2
[1] < 11) {
21023 auxADC_Vmid
= 0x266;
21026 auxADC_Vmid
= 0x2D5;
21030 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21032 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21037 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21038 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21039 tempsense_Rcal
| 0x01);
21042 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21044 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21045 syn_tempprocsense_save
);
21047 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21048 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21049 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21050 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21051 write_phy_reg(pi
, 0x1ae, RSSIMultCoef0QPowerDet_save
);
21052 write_phy_reg(pi
, 0x346, RfctrlOverride5_save
);
21053 write_phy_reg(pi
, 0x347, RfctrlOverride6_save
);
21054 write_phy_reg(pi
, 0x344, RfctrlMiscReg5_save
);
21055 write_phy_reg(pi
, 0x345, RfctrlMiscReg5_save
);
21057 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21058 &auxADC_Vmid_save
);
21059 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21061 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
21062 &auxADC_rssi_ctrlL_save
);
21063 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
21064 &auxADC_rssi_ctrlH_save
);
21066 if (CHIPID(pi
->sh
->chip
) == BCM5357_CHIP_ID
) {
21067 radio_temp
[0] = (193 * (radio_temp
[1] + radio_temp2
[1])
21068 + 88 * (auxADC_Vl
) - 27111 +
21070 } else if (CHIPID(pi
->sh
->chip
) == BCM43236_CHIP_ID
) {
21071 radio_temp
[0] = (198 * (radio_temp
[1] + radio_temp2
[1])
21072 + 91 * (auxADC_Vl
) - 27243 +
21075 radio_temp
[0] = (179 * (radio_temp
[1] + radio_temp2
[1])
21076 + 82 * (auxADC_Vl
) - 28861 +
21080 offset
= (int16
) pi
->phy_tempsense_offset
;
21082 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21083 syn_tempprocsense_save
=
21084 read_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
);
21086 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21087 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21088 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
21089 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21090 gpioSel_save
= read_phy_reg(pi
, 0xca);
21092 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21094 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21095 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21097 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x05);
21100 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21101 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21102 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x01);
21104 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21108 (126 * (radio_temp
[1] + radio_temp2
[1]) + 3987) / 64;
21110 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
,
21111 syn_tempprocsense_save
);
21113 write_phy_reg(pi
, 0xca, gpioSel_save
);
21114 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21115 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21116 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21117 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21119 offset
= (int16
) pi
->phy_tempsense_offset
;
21122 pwrdet_rxtx_core1_save
=
21123 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
21124 pwrdet_rxtx_core2_save
=
21125 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
21126 core1_txrf_iqcal1_save
=
21127 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
21128 core1_txrf_iqcal2_save
=
21129 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
21130 core2_txrf_iqcal1_save
=
21131 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
21132 core2_txrf_iqcal2_save
=
21133 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
21134 pd_pll_ts_save
= read_radio_reg(pi
, RADIO_2055_PD_PLL_TS
);
21136 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21137 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21138 afectrlOverride_save
= read_phy_reg(pi
, 0xa5);
21139 gpioSel_save
= read_phy_reg(pi
, 0xca);
21141 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x01);
21142 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x01);
21143 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x08);
21144 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x08);
21145 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
21146 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
21147 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, 0x00);
21149 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21150 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21152 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21153 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21155 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21156 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21158 radio_temp
[0] = (radio_temp
[0] + radio_temp2
[0]);
21159 radio_temp
[1] = (radio_temp
[1] + radio_temp2
[1]);
21160 radio_temp
[2] = (radio_temp
[2] + radio_temp2
[2]);
21161 radio_temp
[3] = (radio_temp
[3] + radio_temp2
[3]);
21164 (radio_temp
[0] + radio_temp
[1] + radio_temp
[2] +
21168 (radio_temp
[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21170 radio_temp
[0] = (radio_temp
[0] - (8 * 420)) / 38;
21172 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
21173 pwrdet_rxtx_core1_save
);
21174 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
21175 pwrdet_rxtx_core2_save
);
21176 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
21177 core1_txrf_iqcal1_save
);
21178 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
21179 core2_txrf_iqcal1_save
);
21180 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
21181 core1_txrf_iqcal2_save
);
21182 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
21183 core2_txrf_iqcal2_save
);
21184 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, pd_pll_ts_save
);
21186 write_phy_reg(pi
, 0xca, gpioSel_save
);
21187 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21188 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21189 write_phy_reg(pi
, 0xa5, afectrlOverride_save
);
21192 return (int16
) radio_temp
[0] + offset
;
21196 wlc_phy_set_rssi_2055_vcm(phy_info_t
*pi
, u8 rssi_type
, u8
*vcm_buf
)
21200 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21201 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
21202 if (core
== PHY_CORE_0
) {
21204 RADIO_2055_CORE1_B0_NBRSSI_VCM
,
21205 RADIO_2055_NBRSSI_VCM_I_MASK
,
21208 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21210 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21211 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21214 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21217 RADIO_2055_CORE2_B0_NBRSSI_VCM
,
21218 RADIO_2055_NBRSSI_VCM_I_MASK
,
21221 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21223 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21224 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21227 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21231 if (core
== PHY_CORE_0
) {
21233 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21234 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21237 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21240 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21241 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21244 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21250 void wlc_phy_rssi_cal_nphy(phy_info_t
*pi
)
21252 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21254 wlc_phy_rssi_cal_nphy_rev3(pi
);
21256 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_NB
);
21257 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W1
);
21258 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W2
);
21262 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
)
21265 uint16 classif_state
;
21266 uint16 clip_state
[2];
21267 uint16 rssi_ctrl_state
[2], pd_state
[2];
21268 uint16 rfctrlintc_state
[2], rfpdcorerxtx_state
[2];
21269 uint16 rfctrlintc_override_val
;
21270 uint16 clip_off
[] = { 0xffff, 0xffff };
21271 uint16 rf_pd_val
, pd_mask
, rssi_ctrl_mask
;
21272 u8 vcm
, min_vcm
, vcm_tmp
[4];
21273 u8 vcm_final
[4] = { 0, 0, 0, 0 };
21274 u8 result_idx
, ctr
;
21275 int32 poll_results
[4][4] = {
21281 int32 poll_miniq
[4][2] = {
21287 int32 min_d
, curr_d
;
21288 int32 fine_digital_offset
[4];
21289 int32 poll_results_min
[4] = { 0, 0, 0, 0 };
21292 switch (rssi_type
) {
21293 case NPHY_RSSI_SEL_NB
:
21294 target_code
= NPHY_RSSICAL_NB_TARGET
;
21296 case NPHY_RSSI_SEL_W1
:
21297 target_code
= NPHY_RSSICAL_W1_TARGET
;
21299 case NPHY_RSSI_SEL_W2
:
21300 target_code
= NPHY_RSSICAL_W2_TARGET
;
21307 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21308 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21309 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21310 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21312 rf_pd_val
= (rssi_type
== NPHY_RSSI_SEL_NB
) ? 0x6 : 0x4;
21313 rfctrlintc_override_val
=
21314 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 : 0x110;
21316 rfctrlintc_state
[0] = read_phy_reg(pi
, 0x91);
21317 rfpdcorerxtx_state
[0] = read_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
);
21318 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
21319 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rf_pd_val
);
21321 rfctrlintc_state
[1] = read_phy_reg(pi
, 0x92);
21322 rfpdcorerxtx_state
[1] = read_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
);
21323 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
21324 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rf_pd_val
);
21326 pd_mask
= RADIO_2055_NBRSSI_PD
| RADIO_2055_WBRSSI_G1_PD
|
21327 RADIO_2055_WBRSSI_G2_PD
;
21329 read_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
) & pd_mask
;
21331 read_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
) & pd_mask
;
21332 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, 0);
21333 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, 0);
21334 rssi_ctrl_mask
= RADIO_2055_NBRSSI_SEL
| RADIO_2055_WBRSSI_G1_SEL
|
21335 RADIO_2055_WBRSSI_G2_SEL
;
21336 rssi_ctrl_state
[0] =
21337 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE1
) & rssi_ctrl_mask
;
21338 rssi_ctrl_state
[1] =
21339 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE2
) & rssi_ctrl_mask
;
21340 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
21342 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21343 NPHY_RAIL_I
, rssi_type
);
21344 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21345 NPHY_RAIL_Q
, rssi_type
);
21347 for (vcm
= 0; vcm
< 4; vcm
++) {
21349 vcm_tmp
[0] = vcm_tmp
[1] = vcm_tmp
[2] = vcm_tmp
[3] = vcm
;
21350 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21351 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_tmp
);
21354 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, &poll_results
[vcm
][0],
21355 NPHY_RSSICAL_NPOLL
);
21357 if ((rssi_type
== NPHY_RSSI_SEL_W1
)
21358 || (rssi_type
== NPHY_RSSI_SEL_W2
)) {
21359 for (ctr
= 0; ctr
< 2; ctr
++) {
21360 poll_miniq
[vcm
][ctr
] =
21361 MIN(poll_results
[vcm
][ctr
* 2 + 0],
21362 poll_results
[vcm
][ctr
* 2 + 1]);
21367 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21368 min_d
= NPHY_RSSICAL_MAXD
;
21370 min_poll
= NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+ 1;
21371 for (vcm
= 0; vcm
< 4; vcm
++) {
21372 curr_d
= ABS(((rssi_type
== NPHY_RSSI_SEL_NB
) ?
21373 poll_results
[vcm
][result_idx
] :
21374 poll_miniq
[vcm
][result_idx
/ 2]) -
21375 (target_code
* NPHY_RSSICAL_NPOLL
));
21376 if (curr_d
< min_d
) {
21380 if (poll_results
[vcm
][result_idx
] < min_poll
) {
21381 min_poll
= poll_results
[vcm
][result_idx
];
21384 vcm_final
[result_idx
] = min_vcm
;
21385 poll_results_min
[result_idx
] = min_poll
;
21388 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21389 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_final
);
21392 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21393 fine_digital_offset
[result_idx
] =
21394 (target_code
* NPHY_RSSICAL_NPOLL
) -
21395 poll_results
[vcm_final
[result_idx
]][result_idx
];
21396 if (fine_digital_offset
[result_idx
] < 0) {
21397 fine_digital_offset
[result_idx
] =
21398 ABS(fine_digital_offset
[result_idx
]);
21399 fine_digital_offset
[result_idx
] +=
21400 (NPHY_RSSICAL_NPOLL
/ 2);
21401 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21402 fine_digital_offset
[result_idx
] =
21403 -fine_digital_offset
[result_idx
];
21405 fine_digital_offset
[result_idx
] +=
21406 (NPHY_RSSICAL_NPOLL
/ 2);
21407 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21410 if (poll_results_min
[result_idx
] ==
21411 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21412 fine_digital_offset
[result_idx
] =
21413 (target_code
- NPHY_RSSICAL_MAXREAD
- 1);
21416 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
21418 fine_digital_offset
[result_idx
],
21420 0) ? RADIO_MIMO_CORESEL_CORE1
:
21421 RADIO_MIMO_CORESEL_CORE2
,
21423 0) ? NPHY_RAIL_I
: NPHY_RAIL_Q
,
21427 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, pd_state
[0]);
21428 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, pd_state
[1]);
21429 if (rssi_ctrl_state
[0] == RADIO_2055_NBRSSI_SEL
) {
21430 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21432 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G1_SEL
) {
21433 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21435 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G2_SEL
) {
21436 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21439 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21442 if (rssi_ctrl_state
[1] == RADIO_2055_NBRSSI_SEL
) {
21443 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21445 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G1_SEL
) {
21446 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21448 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G2_SEL
) {
21449 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21452 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21456 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, rssi_type
);
21458 write_phy_reg(pi
, 0x91, rfctrlintc_state
[0]);
21459 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rfpdcorerxtx_state
[0]);
21460 write_phy_reg(pi
, 0x92, rfctrlintc_state
[1]);
21461 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rfpdcorerxtx_state
[1]);
21463 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
21464 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
21466 wlc_phy_resetcca_nphy(pi
);
21470 wlc_phy_rssi_compute_nphy(phy_info_t
*pi
, wlc_d11rxhdr_t
*wlc_rxh
)
21472 d11rxhdr_t
*rxh
= &wlc_rxh
->rxhdr
;
21473 int16 rxpwr
, rxpwr0
, rxpwr1
;
21474 int16 phyRx0_l
, phyRx2_l
;
21477 rxpwr0
= ltoh16(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR0_MASK
;
21478 rxpwr1
= (ltoh16(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR1_MASK
) >> 8;
21485 phyRx0_l
= ltoh16(rxh
->PhyRxStatus_0
) & 0x00ff;
21486 phyRx2_l
= ltoh16(rxh
->PhyRxStatus_2
) & 0x00ff;
21487 if (phyRx2_l
> 127)
21490 if (((rxpwr0
== 16) || (rxpwr0
== 32))) {
21495 wlc_rxh
->rxpwr
[0] = (s8
) rxpwr0
;
21496 wlc_rxh
->rxpwr
[1] = (s8
) rxpwr1
;
21497 wlc_rxh
->do_rssi_ma
= 0;
21499 if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MAX
)
21500 rxpwr
= (rxpwr0
> rxpwr1
) ? rxpwr0
: rxpwr1
;
21501 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MIN
)
21502 rxpwr
= (rxpwr0
< rxpwr1
) ? rxpwr0
: rxpwr1
;
21503 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_AVG
)
21504 rxpwr
= (rxpwr0
+ rxpwr1
) >> 1;
21512 wlc_phy_rfctrlintc_override_nphy(phy_info_t
*pi
, u8 field
, uint16 value
,
21519 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21520 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21521 if (core_code
== RADIO_MIMO_CORESEL_CORE1
21522 && core
== PHY_CORE_1
)
21524 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
21525 && core
== PHY_CORE_0
)
21528 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
21530 mask
= (0x1 << 10);
21532 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21536 if (field
== NPHY_RfctrlIntc_override_OFF
) {
21538 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21541 wlc_phy_force_rfseq_nphy(pi
,
21542 NPHY_RFSEQ_RESET2RX
);
21543 } else if (field
== NPHY_RfctrlIntc_override_TRSW
) {
21545 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21547 mask
= (0x1 << 6) | (0x1 << 7);
21552 PHY_CORE_0
) ? 0x91 : 0x92,
21557 PHY_CORE_0
) ? 0x91 : 0x92,
21560 and_phy_reg(pi
, 0x2ff, (uint16
)
21562 or_phy_reg(pi
, 0x2ff, (0x1 << 13));
21563 or_phy_reg(pi
, 0x2ff, (0x1 << 0));
21566 mask
= (0x1 << 6) |
21568 (0x1 << 8) | (0x1 << 9);
21572 PHY_CORE_0
) ? 0x91 : 0x92,
21579 PHY_CORE_0
) ? 0xe7 : 0xec,
21582 mask
= (core
== PHY_CORE_0
) ? (0x1 << 0)
21584 val
= 1 << ((core
== PHY_CORE_0
) ?
21586 mod_phy_reg(pi
, 0x78, mask
, val
);
21588 SPINWAIT(((read_phy_reg(pi
, 0x78) & val
)
21590 ASSERT((read_phy_reg(pi
, 0x78) & val
) ==
21597 PHY_CORE_0
) ? 0xe7 : 0xec,
21600 } else if (field
== NPHY_RfctrlIntc_override_PA
) {
21601 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21603 mask
= (0x1 << 4) | (0x1 << 5);
21605 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21613 PHY_CORE_0
) ? 0x91 : 0x92,
21618 PHY_CORE_0
) ? 0x91 : 0x92,
21622 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21631 PHY_CORE_0
) ? 0x91 : 0x92,
21634 } else if (field
== NPHY_RfctrlIntc_override_EXT_LNA_PU
) {
21635 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21636 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21643 : 0x92, mask
, val
);
21657 : 0x92, mask
, val
);
21666 mask
= (0x1 << 11);
21670 PHY_CORE_0
) ? 0x91 : 0x92,
21674 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21683 PHY_CORE_0
) ? 0x91 : 0x92,
21686 } else if (field
==
21687 NPHY_RfctrlIntc_override_EXT_LNA_GAIN
) {
21688 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21689 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21696 : 0x92, mask
, val
);
21710 : 0x92, mask
, val
);
21719 mask
= (0x1 << 11);
21723 PHY_CORE_0
) ? 0x91 : 0x92,
21727 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21736 PHY_CORE_0
) ? 0x91 : 0x92,
21746 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
)
21748 uint16 classif_state
;
21749 uint16 clip_state
[2];
21750 uint16 clip_off
[] = { 0xffff, 0xffff };
21755 int32 poll_results
[8][4] = {
21765 int32 poll_result_core
[4] = { 0, 0, 0, 0 };
21766 int32 min_d
= NPHY_RSSICAL_MAXD
, curr_d
;
21767 int32 fine_digital_offset
[4];
21768 int32 poll_results_min
[4] = { 0, 0, 0, 0 };
21774 uint16 NPHY_Rfctrlintc1_save
, NPHY_Rfctrlintc2_save
;
21775 uint16 NPHY_AfectrlOverride1_save
, NPHY_AfectrlOverride2_save
;
21776 uint16 NPHY_AfectrlCore1_save
, NPHY_AfectrlCore2_save
;
21777 uint16 NPHY_RfctrlOverride0_save
, NPHY_RfctrlOverride1_save
;
21778 uint16 NPHY_RfctrlOverrideAux0_save
, NPHY_RfctrlOverrideAux1_save
;
21779 uint16 NPHY_RfctrlCmd_save
;
21780 uint16 NPHY_RfctrlMiscReg1_save
, NPHY_RfctrlMiscReg2_save
;
21781 uint16 NPHY_RfctrlRSSIOTHERS1_save
, NPHY_RfctrlRSSIOTHERS2_save
;
21783 uint16 NPHY_REV7_RfctrlOverride3_save
, NPHY_REV7_RfctrlOverride4_save
;
21784 uint16 NPHY_REV7_RfctrlOverride5_save
, NPHY_REV7_RfctrlOverride6_save
;
21785 uint16 NPHY_REV7_RfctrlMiscReg3_save
, NPHY_REV7_RfctrlMiscReg4_save
;
21786 uint16 NPHY_REV7_RfctrlMiscReg5_save
, NPHY_REV7_RfctrlMiscReg6_save
;
21788 NPHY_REV7_RfctrlOverride3_save
= NPHY_REV7_RfctrlOverride4_save
=
21789 NPHY_REV7_RfctrlOverride5_save
= NPHY_REV7_RfctrlOverride6_save
=
21790 NPHY_REV7_RfctrlMiscReg3_save
= NPHY_REV7_RfctrlMiscReg4_save
=
21791 NPHY_REV7_RfctrlMiscReg5_save
= NPHY_REV7_RfctrlMiscReg6_save
= 0;
21793 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21794 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21795 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21796 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21798 NPHY_Rfctrlintc1_save
= read_phy_reg(pi
, 0x91);
21799 NPHY_Rfctrlintc2_save
= read_phy_reg(pi
, 0x92);
21800 NPHY_AfectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
21801 NPHY_AfectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21802 NPHY_AfectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21803 NPHY_AfectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21804 NPHY_RfctrlOverride0_save
= read_phy_reg(pi
, 0xe7);
21805 NPHY_RfctrlOverride1_save
= read_phy_reg(pi
, 0xec);
21806 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21807 NPHY_REV7_RfctrlOverride3_save
= read_phy_reg(pi
, 0x342);
21808 NPHY_REV7_RfctrlOverride4_save
= read_phy_reg(pi
, 0x343);
21809 NPHY_REV7_RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
21810 NPHY_REV7_RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
21812 NPHY_RfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
21813 NPHY_RfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
21814 NPHY_RfctrlCmd_save
= read_phy_reg(pi
, 0x78);
21815 NPHY_RfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
21816 NPHY_RfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
21817 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21818 NPHY_REV7_RfctrlMiscReg3_save
= read_phy_reg(pi
, 0x340);
21819 NPHY_REV7_RfctrlMiscReg4_save
= read_phy_reg(pi
, 0x341);
21820 NPHY_REV7_RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
21821 NPHY_REV7_RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
21823 NPHY_RfctrlRSSIOTHERS1_save
= read_phy_reg(pi
, 0x7a);
21824 NPHY_RfctrlRSSIOTHERS2_save
= read_phy_reg(pi
, 0x7d);
21826 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_OFF
, 0,
21827 RADIO_MIMO_CORESEL_ALLRXTX
);
21828 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_TRSW
, 1,
21829 RADIO_MIMO_CORESEL_ALLRXTX
);
21831 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21832 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21833 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
,
21836 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0, 0);
21839 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21840 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21841 NPHY_REV7_RfctrlOverride_cmd_rx_pu
,
21844 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0, 0);
21847 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21848 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
21850 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21851 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 6), 1, 0, 0,
21852 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21854 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 7), 1, 0, 0);
21855 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 6), 1, 0, 0);
21858 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21859 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21860 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
21862 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21863 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 1, 0,
21865 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21867 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 0, 0, 0);
21868 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 1, 0, 0);
21872 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21873 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
21875 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21876 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 1, 0,
21878 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21880 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 0, 0, 0);
21881 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 1, 0, 0);
21885 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
21889 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21891 if ((rxcore_state
& (1 << core
)) == 0)
21894 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21897 RADIO_MIMO_CORESEL_CORE1
:
21898 RADIO_MIMO_CORESEL_CORE2
,
21899 NPHY_RAIL_I
, NPHY_RSSI_SEL_NB
);
21900 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21903 RADIO_MIMO_CORESEL_CORE1
:
21904 RADIO_MIMO_CORESEL_CORE2
,
21905 NPHY_RAIL_Q
, NPHY_RSSI_SEL_NB
);
21907 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21908 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21910 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21911 RADIO_2057_NB_MASTER_CORE0
:
21912 RADIO_2057_NB_MASTER_CORE1
,
21913 RADIO_2057_VCM_MASK
, vcm
);
21916 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21918 PHY_CORE_0
) ? RADIO_2056_RX0
:
21920 RADIO_2056_VCM_MASK
,
21921 vcm
<< RADIO_2056_RSSI_VCM_SHIFT
);
21924 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_NB
,
21925 &poll_results
[vcm
][0],
21926 NPHY_RSSICAL_NPOLL
);
21929 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21930 if ((core
== result_idx
/ 2) && (result_idx
% 2 == 0)) {
21932 min_d
= NPHY_RSSICAL_MAXD
;
21935 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+
21937 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21938 curr_d
= poll_results
[vcm
][result_idx
] *
21939 poll_results
[vcm
][result_idx
] +
21940 poll_results
[vcm
][result_idx
+ 1] *
21941 poll_results
[vcm
][result_idx
+ 1];
21942 if (curr_d
< min_d
) {
21946 if (poll_results
[vcm
][result_idx
] <
21953 vcm_final
= min_vcm
;
21954 poll_results_min
[result_idx
] = min_poll
;
21958 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21959 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21960 RADIO_2057_NB_MASTER_CORE0
:
21961 RADIO_2057_NB_MASTER_CORE1
,
21962 RADIO_2057_VCM_MASK
, vcm_final
);
21964 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21966 PHY_CORE_0
) ? RADIO_2056_RX0
:
21967 RADIO_2056_RX1
), RADIO_2056_VCM_MASK
,
21968 vcm_final
<< RADIO_2056_RSSI_VCM_SHIFT
);
21971 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21972 if (core
== result_idx
/ 2) {
21973 fine_digital_offset
[result_idx
] =
21974 (NPHY_RSSICAL_NB_TARGET
*
21975 NPHY_RSSICAL_NPOLL
) -
21976 poll_results
[vcm_final
][result_idx
];
21977 if (fine_digital_offset
[result_idx
] < 0) {
21978 fine_digital_offset
[result_idx
] =
21979 ABS(fine_digital_offset
21981 fine_digital_offset
[result_idx
] +=
21982 (NPHY_RSSICAL_NPOLL
/ 2);
21983 fine_digital_offset
[result_idx
] /=
21984 NPHY_RSSICAL_NPOLL
;
21985 fine_digital_offset
[result_idx
] =
21986 -fine_digital_offset
[result_idx
];
21988 fine_digital_offset
[result_idx
] +=
21989 (NPHY_RSSICAL_NPOLL
/ 2);
21990 fine_digital_offset
[result_idx
] /=
21991 NPHY_RSSICAL_NPOLL
;
21994 if (poll_results_min
[result_idx
] ==
21995 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21996 fine_digital_offset
[result_idx
] =
21997 (NPHY_RSSICAL_NB_TARGET
-
21998 NPHY_RSSICAL_MAXREAD
- 1);
22001 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
22003 fine_digital_offset
22008 RADIO_MIMO_CORESEL_CORE1
22010 RADIO_MIMO_CORESEL_CORE2
,
22021 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
22023 if ((rxcore_state
& (1 << core
)) == 0)
22026 for (wb_cnt
= 0; wb_cnt
< 2; wb_cnt
++) {
22028 rssi_type
= NPHY_RSSI_SEL_W1
;
22029 target_code
= NPHY_RSSICAL_W1_TARGET_REV3
;
22031 rssi_type
= NPHY_RSSI_SEL_W2
;
22032 target_code
= NPHY_RSSICAL_W2_TARGET_REV3
;
22035 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22038 RADIO_MIMO_CORESEL_CORE1
22040 RADIO_MIMO_CORESEL_CORE2
,
22041 NPHY_RAIL_I
, rssi_type
);
22042 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22045 RADIO_MIMO_CORESEL_CORE1
22047 RADIO_MIMO_CORESEL_CORE2
,
22048 NPHY_RAIL_Q
, rssi_type
);
22050 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, poll_result_core
,
22051 NPHY_RSSICAL_NPOLL
);
22053 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
22054 if (core
== result_idx
/ 2) {
22055 fine_digital_offset
[result_idx
] =
22056 (target_code
* NPHY_RSSICAL_NPOLL
) -
22057 poll_result_core
[result_idx
];
22058 if (fine_digital_offset
[result_idx
] < 0) {
22059 fine_digital_offset
[result_idx
]
22061 ABS(fine_digital_offset
22063 fine_digital_offset
[result_idx
]
22064 += (NPHY_RSSICAL_NPOLL
/ 2);
22065 fine_digital_offset
[result_idx
]
22066 /= NPHY_RSSICAL_NPOLL
;
22067 fine_digital_offset
[result_idx
]
22069 -fine_digital_offset
22072 fine_digital_offset
[result_idx
]
22073 += (NPHY_RSSICAL_NPOLL
/ 2);
22074 fine_digital_offset
[result_idx
]
22075 /= NPHY_RSSICAL_NPOLL
;
22078 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
22080 fine_digital_offset
22086 RADIO_MIMO_CORESEL_CORE1
22088 RADIO_MIMO_CORESEL_CORE2
,
22102 write_phy_reg(pi
, 0x91, NPHY_Rfctrlintc1_save
);
22103 write_phy_reg(pi
, 0x92, NPHY_Rfctrlintc2_save
);
22105 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
22107 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 1 << 0);
22108 mod_phy_reg(pi
, 0x78, (0x1 << 0), 1 << 0);
22109 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 0);
22111 mod_phy_reg(pi
, 0xec, (0x1 << 0), 1 << 0);
22112 mod_phy_reg(pi
, 0x78, (0x1 << 1), 1 << 1);
22113 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
22115 write_phy_reg(pi
, 0x8f, NPHY_AfectrlOverride1_save
);
22116 write_phy_reg(pi
, 0xa5, NPHY_AfectrlOverride2_save
);
22117 write_phy_reg(pi
, 0xa6, NPHY_AfectrlCore1_save
);
22118 write_phy_reg(pi
, 0xa7, NPHY_AfectrlCore2_save
);
22119 write_phy_reg(pi
, 0xe7, NPHY_RfctrlOverride0_save
);
22120 write_phy_reg(pi
, 0xec, NPHY_RfctrlOverride1_save
);
22121 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22122 write_phy_reg(pi
, 0x342, NPHY_REV7_RfctrlOverride3_save
);
22123 write_phy_reg(pi
, 0x343, NPHY_REV7_RfctrlOverride4_save
);
22124 write_phy_reg(pi
, 0x346, NPHY_REV7_RfctrlOverride5_save
);
22125 write_phy_reg(pi
, 0x347, NPHY_REV7_RfctrlOverride6_save
);
22127 write_phy_reg(pi
, 0xe5, NPHY_RfctrlOverrideAux0_save
);
22128 write_phy_reg(pi
, 0xe6, NPHY_RfctrlOverrideAux1_save
);
22129 write_phy_reg(pi
, 0x78, NPHY_RfctrlCmd_save
);
22130 write_phy_reg(pi
, 0xf9, NPHY_RfctrlMiscReg1_save
);
22131 write_phy_reg(pi
, 0xfb, NPHY_RfctrlMiscReg2_save
);
22132 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22133 write_phy_reg(pi
, 0x340, NPHY_REV7_RfctrlMiscReg3_save
);
22134 write_phy_reg(pi
, 0x341, NPHY_REV7_RfctrlMiscReg4_save
);
22135 write_phy_reg(pi
, 0x344, NPHY_REV7_RfctrlMiscReg5_save
);
22136 write_phy_reg(pi
, 0x345, NPHY_REV7_RfctrlMiscReg6_save
);
22138 write_phy_reg(pi
, 0x7a, NPHY_RfctrlRSSIOTHERS1_save
);
22139 write_phy_reg(pi
, 0x7d, NPHY_RfctrlRSSIOTHERS2_save
);
22141 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22142 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22143 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22144 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22145 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22146 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22148 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22150 RADIO_2056_RX_RSSI_MISC
|
22152 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22154 RADIO_2056_RX_RSSI_MISC
|
22158 pi
->rssical_cache
.rssical_phyregs_2G
[0] =
22159 read_phy_reg(pi
, 0x1a6);
22160 pi
->rssical_cache
.rssical_phyregs_2G
[1] =
22161 read_phy_reg(pi
, 0x1ac);
22162 pi
->rssical_cache
.rssical_phyregs_2G
[2] =
22163 read_phy_reg(pi
, 0x1b2);
22164 pi
->rssical_cache
.rssical_phyregs_2G
[3] =
22165 read_phy_reg(pi
, 0x1b8);
22166 pi
->rssical_cache
.rssical_phyregs_2G
[4] =
22167 read_phy_reg(pi
, 0x1a4);
22168 pi
->rssical_cache
.rssical_phyregs_2G
[5] =
22169 read_phy_reg(pi
, 0x1aa);
22170 pi
->rssical_cache
.rssical_phyregs_2G
[6] =
22171 read_phy_reg(pi
, 0x1b0);
22172 pi
->rssical_cache
.rssical_phyregs_2G
[7] =
22173 read_phy_reg(pi
, 0x1b6);
22174 pi
->rssical_cache
.rssical_phyregs_2G
[8] =
22175 read_phy_reg(pi
, 0x1a5);
22176 pi
->rssical_cache
.rssical_phyregs_2G
[9] =
22177 read_phy_reg(pi
, 0x1ab);
22178 pi
->rssical_cache
.rssical_phyregs_2G
[10] =
22179 read_phy_reg(pi
, 0x1b1);
22180 pi
->rssical_cache
.rssical_phyregs_2G
[11] =
22181 read_phy_reg(pi
, 0x1b7);
22183 pi
->nphy_rssical_chanspec_2G
= pi
->radio_chanspec
;
22185 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22186 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22187 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22188 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22189 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22191 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22193 RADIO_2056_RX_RSSI_MISC
|
22195 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22197 RADIO_2056_RX_RSSI_MISC
|
22201 pi
->rssical_cache
.rssical_phyregs_5G
[0] =
22202 read_phy_reg(pi
, 0x1a6);
22203 pi
->rssical_cache
.rssical_phyregs_5G
[1] =
22204 read_phy_reg(pi
, 0x1ac);
22205 pi
->rssical_cache
.rssical_phyregs_5G
[2] =
22206 read_phy_reg(pi
, 0x1b2);
22207 pi
->rssical_cache
.rssical_phyregs_5G
[3] =
22208 read_phy_reg(pi
, 0x1b8);
22209 pi
->rssical_cache
.rssical_phyregs_5G
[4] =
22210 read_phy_reg(pi
, 0x1a4);
22211 pi
->rssical_cache
.rssical_phyregs_5G
[5] =
22212 read_phy_reg(pi
, 0x1aa);
22213 pi
->rssical_cache
.rssical_phyregs_5G
[6] =
22214 read_phy_reg(pi
, 0x1b0);
22215 pi
->rssical_cache
.rssical_phyregs_5G
[7] =
22216 read_phy_reg(pi
, 0x1b6);
22217 pi
->rssical_cache
.rssical_phyregs_5G
[8] =
22218 read_phy_reg(pi
, 0x1a5);
22219 pi
->rssical_cache
.rssical_phyregs_5G
[9] =
22220 read_phy_reg(pi
, 0x1ab);
22221 pi
->rssical_cache
.rssical_phyregs_5G
[10] =
22222 read_phy_reg(pi
, 0x1b1);
22223 pi
->rssical_cache
.rssical_phyregs_5G
[11] =
22224 read_phy_reg(pi
, 0x1b7);
22226 pi
->nphy_rssical_chanspec_5G
= pi
->radio_chanspec
;
22229 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
22230 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
22233 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
)
22235 ASSERT(NREV_GE(pi
->pubpi
.phy_rev
, 3));
22237 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22238 if (pi
->nphy_rssical_chanspec_2G
== 0)
22241 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22242 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22243 RADIO_2057_VCM_MASK
,
22245 rssical_radio_regs_2G
[0]);
22246 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22247 RADIO_2057_VCM_MASK
,
22249 rssical_radio_regs_2G
[1]);
22252 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22253 RADIO_2056_VCM_MASK
,
22255 rssical_radio_regs_2G
[0]);
22257 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22258 RADIO_2056_VCM_MASK
,
22260 rssical_radio_regs_2G
[1]);
22263 write_phy_reg(pi
, 0x1a6,
22264 pi
->rssical_cache
.rssical_phyregs_2G
[0]);
22265 write_phy_reg(pi
, 0x1ac,
22266 pi
->rssical_cache
.rssical_phyregs_2G
[1]);
22267 write_phy_reg(pi
, 0x1b2,
22268 pi
->rssical_cache
.rssical_phyregs_2G
[2]);
22269 write_phy_reg(pi
, 0x1b8,
22270 pi
->rssical_cache
.rssical_phyregs_2G
[3]);
22271 write_phy_reg(pi
, 0x1a4,
22272 pi
->rssical_cache
.rssical_phyregs_2G
[4]);
22273 write_phy_reg(pi
, 0x1aa,
22274 pi
->rssical_cache
.rssical_phyregs_2G
[5]);
22275 write_phy_reg(pi
, 0x1b0,
22276 pi
->rssical_cache
.rssical_phyregs_2G
[6]);
22277 write_phy_reg(pi
, 0x1b6,
22278 pi
->rssical_cache
.rssical_phyregs_2G
[7]);
22279 write_phy_reg(pi
, 0x1a5,
22280 pi
->rssical_cache
.rssical_phyregs_2G
[8]);
22281 write_phy_reg(pi
, 0x1ab,
22282 pi
->rssical_cache
.rssical_phyregs_2G
[9]);
22283 write_phy_reg(pi
, 0x1b1,
22284 pi
->rssical_cache
.rssical_phyregs_2G
[10]);
22285 write_phy_reg(pi
, 0x1b7,
22286 pi
->rssical_cache
.rssical_phyregs_2G
[11]);
22289 if (pi
->nphy_rssical_chanspec_5G
== 0)
22292 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22293 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22294 RADIO_2057_VCM_MASK
,
22296 rssical_radio_regs_5G
[0]);
22297 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22298 RADIO_2057_VCM_MASK
,
22300 rssical_radio_regs_5G
[1]);
22303 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22304 RADIO_2056_VCM_MASK
,
22306 rssical_radio_regs_5G
[0]);
22308 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22309 RADIO_2056_VCM_MASK
,
22311 rssical_radio_regs_5G
[1]);
22314 write_phy_reg(pi
, 0x1a6,
22315 pi
->rssical_cache
.rssical_phyregs_5G
[0]);
22316 write_phy_reg(pi
, 0x1ac,
22317 pi
->rssical_cache
.rssical_phyregs_5G
[1]);
22318 write_phy_reg(pi
, 0x1b2,
22319 pi
->rssical_cache
.rssical_phyregs_5G
[2]);
22320 write_phy_reg(pi
, 0x1b8,
22321 pi
->rssical_cache
.rssical_phyregs_5G
[3]);
22322 write_phy_reg(pi
, 0x1a4,
22323 pi
->rssical_cache
.rssical_phyregs_5G
[4]);
22324 write_phy_reg(pi
, 0x1aa,
22325 pi
->rssical_cache
.rssical_phyregs_5G
[5]);
22326 write_phy_reg(pi
, 0x1b0,
22327 pi
->rssical_cache
.rssical_phyregs_5G
[6]);
22328 write_phy_reg(pi
, 0x1b6,
22329 pi
->rssical_cache
.rssical_phyregs_5G
[7]);
22330 write_phy_reg(pi
, 0x1a5,
22331 pi
->rssical_cache
.rssical_phyregs_5G
[8]);
22332 write_phy_reg(pi
, 0x1ab,
22333 pi
->rssical_cache
.rssical_phyregs_5G
[9]);
22334 write_phy_reg(pi
, 0x1b1,
22335 pi
->rssical_cache
.rssical_phyregs_5G
[10]);
22336 write_phy_reg(pi
, 0x1b7,
22337 pi
->rssical_cache
.rssical_phyregs_5G
[11]);
22342 wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, uint32 f_kHz
, uint16 max_val
,
22345 u8 phy_bw
, is_phybw40
;
22346 uint16 num_samps
, t
, spur
;
22347 fixed theta
= 0, rot
= 0;
22349 cint32
*tone_buf
= NULL
;
22351 is_phybw40
= CHSPEC_IS40(pi
->radio_chanspec
);
22352 phy_bw
= (is_phybw40
== 1) ? 40 : 20;
22353 tbl_len
= (phy_bw
<< 3);
22355 if (dac_test_mode
== 1) {
22356 spur
= read_phy_reg(pi
, 0x01);
22357 spur
= (spur
>> 15) & 1;
22358 phy_bw
= (spur
== 1) ? 82 : 80;
22359 phy_bw
= (is_phybw40
== 1) ? (phy_bw
<< 1) : phy_bw
;
22361 tbl_len
= (phy_bw
<< 1);
22364 tone_buf
= (cint32
*) MALLOC(pi
->sh
->osh
, sizeof(cint32
) * tbl_len
);
22365 if (tone_buf
== NULL
) {
22369 num_samps
= (uint16
) tbl_len
;
22370 rot
= FIXED((f_kHz
* 36) / phy_bw
) / 100;
22373 for (t
= 0; t
< num_samps
; t
++) {
22375 wlc_phy_cordic(theta
, &tone_buf
[t
]);
22379 tone_buf
[t
].q
= (int32
) FLOAT(tone_buf
[t
].q
* max_val
);
22380 tone_buf
[t
].i
= (int32
) FLOAT(tone_buf
[t
].i
* max_val
);
22383 wlc_phy_loadsampletable_nphy(pi
, tone_buf
, num_samps
);
22385 if (tone_buf
!= NULL
)
22386 MFREE(pi
->sh
->osh
, tone_buf
, sizeof(cint32
) * tbl_len
);
22392 wlc_phy_tx_tone_nphy(phy_info_t
*pi
, uint32 f_kHz
, uint16 max_val
,
22393 u8 iqmode
, u8 dac_test_mode
, bool modify_bbmult
)
22396 uint16 loops
= 0xffff;
22400 wlc_phy_gen_load_samples_nphy(pi
, f_kHz
, max_val
, dac_test_mode
);
22401 if (num_samps
== 0) {
22405 wlc_phy_runsamples_nphy(pi
, num_samps
, loops
, wait
, iqmode
,
22406 dac_test_mode
, modify_bbmult
);
22412 wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cint32
*tone_buf
,
22416 uint32
*data_buf
= NULL
;
22418 data_buf
= (uint32
*) MALLOC(pi
->sh
->osh
, sizeof(uint32
) * num_samps
);
22419 if (data_buf
== NULL
) {
22423 if (pi
->phyhang_avoid
)
22424 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
22426 for (t
= 0; t
< num_samps
; t
++) {
22427 data_buf
[t
] = ((((unsigned int)tone_buf
[t
].i
) & 0x3ff) << 10) |
22428 (((unsigned int)tone_buf
[t
].q
) & 0x3ff);
22430 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SAMPLEPLAY
, num_samps
, 0, 32,
22433 if (data_buf
!= NULL
)
22434 MFREE(pi
->sh
->osh
, data_buf
, sizeof(uint32
) * num_samps
);
22436 if (pi
->phyhang_avoid
)
22437 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
22441 wlc_phy_runsamples_nphy(phy_info_t
*pi
, uint16 num_samps
, uint16 loops
,
22442 uint16 wait
, u8 iqmode
, u8 dac_test_mode
,
22443 bool modify_bbmult
)
22446 u8 phy_bw
, sample_cmd
;
22447 uint16 orig_RfseqCoreActv
;
22448 uint16 lpf_bw_ctl_override3
, lpf_bw_ctl_override4
, lpf_bw_ctl_miscreg3
,
22449 lpf_bw_ctl_miscreg4
;
22451 if (pi
->phyhang_avoid
)
22452 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
22455 if (CHSPEC_IS40(pi
->radio_chanspec
))
22458 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22460 lpf_bw_ctl_override3
= read_phy_reg(pi
, 0x342) & (0x1 << 7);
22461 lpf_bw_ctl_override4
= read_phy_reg(pi
, 0x343) & (0x1 << 7);
22462 if (lpf_bw_ctl_override3
| lpf_bw_ctl_override4
) {
22463 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22465 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22468 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22470 wlc_phy_read_lpf_bw_ctl_nphy
22472 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22474 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= TRUE
;
22476 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22478 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22483 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) == 0) {
22485 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22487 pi
->nphy_bb_mult_save
=
22488 BB_MULT_VALID_MASK
| (bb_mult
& BB_MULT_MASK
);
22491 if (modify_bbmult
) {
22492 bb_mult
= (phy_bw
== 20) ? 100 : 71;
22493 bb_mult
= (bb_mult
<< 8) + bb_mult
;
22494 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22498 if (pi
->phyhang_avoid
)
22499 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
22501 write_phy_reg(pi
, 0xc6, num_samps
- 1);
22503 if (loops
!= 0xffff) {
22504 write_phy_reg(pi
, 0xc4, loops
- 1);
22506 write_phy_reg(pi
, 0xc4, loops
);
22508 write_phy_reg(pi
, 0xc5, wait
);
22510 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
22511 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
22514 and_phy_reg(pi
, 0xc2, 0x7FFF);
22516 or_phy_reg(pi
, 0xc2, 0x8000);
22519 sample_cmd
= (dac_test_mode
== 1) ? 0x5 : 0x1;
22520 write_phy_reg(pi
, 0xc3, sample_cmd
);
22523 SPINWAIT(((read_phy_reg(pi
, 0xa4) & 0x1) == 1), 1000);
22525 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
22528 void wlc_phy_stopplayback_nphy(phy_info_t
*pi
)
22530 uint16 playback_status
;
22533 if (pi
->phyhang_avoid
)
22534 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
22536 playback_status
= read_phy_reg(pi
, 0xc7);
22537 if (playback_status
& 0x1) {
22538 or_phy_reg(pi
, 0xc3, NPHY_sampleCmd_STOP
);
22539 } else if (playback_status
& 0x2) {
22541 and_phy_reg(pi
, 0xc2,
22542 (uint16
) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN
);
22545 and_phy_reg(pi
, 0xc3, (uint16
) ~(0x1 << 2));
22547 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) != 0) {
22549 bb_mult
= pi
->nphy_bb_mult_save
& BB_MULT_MASK
;
22550 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22553 pi
->nphy_bb_mult_save
= 0;
22556 if (NREV_IS(pi
->pubpi
.phy_rev
, 7) || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
22557 if (pi
->nphy_sample_play_lpf_bw_ctl_ovr
) {
22558 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22561 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22562 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= FALSE
;
22566 if (pi
->phyhang_avoid
)
22567 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
22570 nphy_txgains_t
wlc_phy_get_tx_gain_nphy(phy_info_t
*pi
)
22572 uint16 base_idx
[2], curr_gain
[2];
22574 nphy_txgains_t target_gain
;
22575 uint32
*tx_pwrctrl_tbl
= NULL
;
22577 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
22578 if (pi
->phyhang_avoid
)
22579 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
22581 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
22584 if (pi
->phyhang_avoid
)
22585 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
22587 for (core_no
= 0; core_no
< 2; core_no
++) {
22588 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22589 target_gain
.ipa
[core_no
] =
22590 curr_gain
[core_no
] & 0x0007;
22591 target_gain
.pad
[core_no
] =
22592 ((curr_gain
[core_no
] & 0x00F8) >> 3);
22593 target_gain
.pga
[core_no
] =
22594 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22595 target_gain
.txgm
[core_no
] =
22596 ((curr_gain
[core_no
] & 0x7000) >> 12);
22597 target_gain
.txlpf
[core_no
] =
22598 ((curr_gain
[core_no
] & 0x8000) >> 15);
22599 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22600 target_gain
.ipa
[core_no
] =
22601 curr_gain
[core_no
] & 0x000F;
22602 target_gain
.pad
[core_no
] =
22603 ((curr_gain
[core_no
] & 0x00F0) >> 4);
22604 target_gain
.pga
[core_no
] =
22605 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22606 target_gain
.txgm
[core_no
] =
22607 ((curr_gain
[core_no
] & 0x7000) >> 12);
22609 target_gain
.ipa
[core_no
] =
22610 curr_gain
[core_no
] & 0x0003;
22611 target_gain
.pad
[core_no
] =
22612 ((curr_gain
[core_no
] & 0x000C) >> 2);
22613 target_gain
.pga
[core_no
] =
22614 ((curr_gain
[core_no
] & 0x0070) >> 4);
22615 target_gain
.txgm
[core_no
] =
22616 ((curr_gain
[core_no
] & 0x0380) >> 7);
22620 base_idx
[0] = (read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f;
22621 base_idx
[1] = (read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f;
22622 for (core_no
= 0; core_no
< 2; core_no
++) {
22623 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22626 wlc_phy_get_ipa_gaintbl_nphy(pi
);
22628 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22630 (pi
->pubpi
.phy_rev
, 3) {
22632 nphy_tpc_5GHz_txgain_rev3
;
22634 (pi
->pubpi
.phy_rev
, 4) {
22639 nphy_tpc_5GHz_txgain_HiPwrEPA
22641 nphy_tpc_5GHz_txgain_rev4
;
22644 nphy_tpc_5GHz_txgain_rev5
;
22648 (pi
->pubpi
.phy_rev
, 7)) {
22652 nphy_tpc_txgain_epa_2057rev3
;
22653 } else if (pi
->pubpi
.
22657 nphy_tpc_txgain_epa_2057rev5
;
22662 (pi
->pubpi
.phy_rev
,
22664 && (pi
->srom_fem2g
.
22668 nphy_tpc_txgain_HiPwrEPA
;
22671 nphy_tpc_txgain_rev3
;
22677 (pi
->pubpi
.phy_rev
, 7) {
22678 target_gain
.ipa
[core_no
] =
22679 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22681 target_gain
.pad
[core_no
] =
22682 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22684 target_gain
.pga
[core_no
] =
22685 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22687 target_gain
.txgm
[core_no
] =
22688 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22690 target_gain
.txlpf
[core_no
] =
22691 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22694 target_gain
.ipa
[core_no
] =
22695 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22697 target_gain
.pad
[core_no
] =
22698 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22700 target_gain
.pga
[core_no
] =
22701 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22703 target_gain
.txgm
[core_no
] =
22704 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22708 target_gain
.ipa
[core_no
] =
22709 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 16) &
22711 target_gain
.pad
[core_no
] =
22712 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 18) &
22714 target_gain
.pga
[core_no
] =
22715 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 20) &
22717 target_gain
.txgm
[core_no
] =
22718 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 23) &
22724 return target_gain
;
22728 wlc_phy_iqcal_gainparams_nphy(phy_info_t
*pi
, uint16 core_no
,
22729 nphy_txgains_t target_gain
,
22730 nphy_iqcal_params_t
*params
)
22735 u8 band_idx
= (CHSPEC_IS5G(pi
->radio_chanspec
) ? 1 : 0);
22737 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22738 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22739 params
->txlpf
= target_gain
.txlpf
[core_no
];
22741 params
->txgm
= target_gain
.txgm
[core_no
];
22742 params
->pga
= target_gain
.pga
[core_no
];
22743 params
->pad
= target_gain
.pad
[core_no
];
22744 params
->ipa
= target_gain
.ipa
[core_no
];
22745 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22747 ((params
->txlpf
<< 15) | (params
->
22748 txgm
<< 12) | (params
->
22750 (params
->pad
<< 3) | (params
->ipa
));
22753 ((params
->txgm
<< 12) | (params
->
22754 pga
<< 8) | (params
->
22758 params
->ncorr
[0] = 0x79;
22759 params
->ncorr
[1] = 0x79;
22760 params
->ncorr
[2] = 0x79;
22761 params
->ncorr
[3] = 0x79;
22762 params
->ncorr
[4] = 0x79;
22765 gain_index
= ((target_gain
.pad
[core_no
] << 0) |
22766 (target_gain
.pga
[core_no
] << 4) | (target_gain
.
22771 for (k
= 0; k
< NPHY_IQCAL_NUMGAINS
; k
++) {
22772 if (tbl_iqcal_gainparams_nphy
[band_idx
][k
][0] ==
22781 params
->txgm
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][1];
22782 params
->pga
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][2];
22783 params
->pad
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][3];
22784 params
->cal_gain
= ((params
->txgm
<< 7) | (params
->pga
<< 4) |
22785 (params
->pad
<< 2));
22786 params
->ncorr
[0] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][4];
22787 params
->ncorr
[1] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][5];
22788 params
->ncorr
[2] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][6];
22789 params
->ncorr
[3] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][7];
22793 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t
*pi
)
22795 uint16 jtag_core
, core
;
22797 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22799 for (core
= 0; core
<= 1; core
++) {
22801 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22802 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22805 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22806 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22809 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22810 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22813 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22814 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
);
22816 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] = 0;
22818 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22819 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22822 if (pi
->pubpi
.radiorev
!= 5)
22823 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22824 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22827 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22828 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
);
22830 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22831 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22834 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22835 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22836 TX_SSI_MASTER
, 0x0a);
22837 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22838 IQCAL_VCM_HG
, 0x43);
22839 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22841 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22843 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22845 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22846 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22847 core
, TX_SSI_MUX
, 0x4);
22850 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22852 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22857 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22862 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22865 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22866 TX_SSI_MASTER
, 0x06);
22867 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22868 IQCAL_VCM_HG
, 0x43);
22869 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22871 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22874 if (pi
->pubpi
.radiorev
!= 5)
22875 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22876 core
, TSSIA
, 0x00);
22877 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22878 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22883 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22885 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22890 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22895 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22899 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22901 for (core
= 0; core
<= 1; core
++) {
22904 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
22906 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22908 RADIO_2056_TX_TX_SSI_MASTER
|
22911 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22913 RADIO_2056_TX_IQCAL_VCM_HG
|
22916 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22918 RADIO_2056_TX_IQCAL_IDAC
|
22921 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22923 RADIO_2056_TX_TSSI_VCM
| jtag_core
);
22925 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] =
22927 RADIO_2056_TX_TX_AMP_DET
|
22930 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22932 RADIO_2056_TX_TX_SSI_MUX
|
22935 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22936 read_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
);
22938 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22939 read_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
);
22941 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22943 RADIO_2056_TX_TSSI_MISC1
|
22946 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 9] =
22948 RADIO_2056_TX_TSSI_MISC2
|
22951 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 10] =
22953 RADIO_2056_TX_TSSI_MISC3
|
22956 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22957 write_radio_reg(pi
,
22958 RADIO_2056_TX_TX_SSI_MASTER
|
22960 write_radio_reg(pi
,
22961 RADIO_2056_TX_IQCAL_VCM_HG
|
22963 write_radio_reg(pi
,
22964 RADIO_2056_TX_IQCAL_IDAC
|
22966 write_radio_reg(pi
,
22967 RADIO_2056_TX_TSSI_VCM
|
22969 write_radio_reg(pi
,
22970 RADIO_2056_TX_TX_AMP_DET
|
22974 write_radio_reg(pi
,
22975 RADIO_2056_TX_TX_SSI_MUX
22977 write_radio_reg(pi
,
22978 RADIO_2056_TX_TSSIA
|
22981 write_radio_reg(pi
,
22982 RADIO_2056_TX_TX_SSI_MUX
22983 | jtag_core
, 0x00);
22984 write_radio_reg(pi
,
22985 RADIO_2056_TX_TSSIA
|
22988 write_radio_reg(pi
,
22989 RADIO_2056_TX_TSSIG
| jtag_core
,
22991 write_radio_reg(pi
,
22992 RADIO_2056_TX_TSSI_MISC1
|
22995 write_radio_reg(pi
,
22996 RADIO_2056_TX_TSSI_MISC2
|
22998 write_radio_reg(pi
,
22999 RADIO_2056_TX_TSSI_MISC3
|
23002 write_radio_reg(pi
,
23003 RADIO_2056_TX_TX_SSI_MASTER
|
23005 write_radio_reg(pi
,
23006 RADIO_2056_TX_IQCAL_VCM_HG
|
23008 write_radio_reg(pi
,
23009 RADIO_2056_TX_IQCAL_IDAC
|
23011 write_radio_reg(pi
,
23012 RADIO_2056_TX_TSSI_VCM
|
23014 write_radio_reg(pi
,
23015 RADIO_2056_TX_TX_AMP_DET
|
23017 write_radio_reg(pi
,
23018 RADIO_2056_TX_TSSIA
| jtag_core
,
23023 write_radio_reg(pi
,
23024 RADIO_2056_TX_TX_SSI_MUX
23025 | jtag_core
, 0x06);
23026 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
23028 write_radio_reg(pi
,
23029 RADIO_2056_TX_TSSIG
23034 write_radio_reg(pi
,
23035 RADIO_2056_TX_TSSIG
23040 write_radio_reg(pi
,
23041 RADIO_2056_TX_TX_SSI_MUX
23042 | jtag_core
, 0x00);
23043 write_radio_reg(pi
,
23044 RADIO_2056_TX_TSSIG
|
23048 write_radio_reg(pi
,
23049 RADIO_2056_TX_TSSI_MISC1
|
23051 write_radio_reg(pi
,
23052 RADIO_2056_TX_TSSI_MISC2
|
23054 write_radio_reg(pi
,
23055 RADIO_2056_TX_TSSI_MISC3
|
23061 pi
->tx_rx_cal_radio_saveregs
[0] =
23062 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
23063 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x29);
23064 pi
->tx_rx_cal_radio_saveregs
[1] =
23065 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
23066 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x54);
23068 pi
->tx_rx_cal_radio_saveregs
[2] =
23069 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
23070 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x29);
23071 pi
->tx_rx_cal_radio_saveregs
[3] =
23072 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
23073 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x54);
23075 pi
->tx_rx_cal_radio_saveregs
[4] =
23076 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
23077 pi
->tx_rx_cal_radio_saveregs
[5] =
23078 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
23080 if ((read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
) ==
23083 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
23084 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
23087 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x20);
23088 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x20);
23091 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
23093 or_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0x20);
23094 or_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0x20);
23097 and_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0xdf);
23098 and_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0xdf);
23103 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t
*pi
)
23105 uint16 jtag_core
, core
;
23107 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23108 for (core
= 0; core
<= 1; core
++) {
23110 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23113 tx_rx_cal_radio_saveregs
[(core
* 11) +
23116 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
23118 tx_rx_cal_radio_saveregs
[(core
* 11) +
23121 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
23123 tx_rx_cal_radio_saveregs
[(core
* 11) +
23126 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
23128 tx_rx_cal_radio_saveregs
[(core
* 11) +
23131 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TX_SSI_MUX
,
23133 tx_rx_cal_radio_saveregs
[(core
* 11) +
23136 if (pi
->pubpi
.radiorev
!= 5)
23137 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23140 tx_rx_cal_radio_saveregs
[(core
23145 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
,
23147 tx_rx_cal_radio_saveregs
[(core
* 11) +
23150 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
23152 tx_rx_cal_radio_saveregs
[(core
* 11) +
23155 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23156 for (core
= 0; core
<= 1; core
++) {
23159 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
23161 write_radio_reg(pi
,
23162 RADIO_2056_TX_TX_SSI_MASTER
| jtag_core
,
23164 tx_rx_cal_radio_saveregs
[(core
* 11) +
23167 write_radio_reg(pi
,
23168 RADIO_2056_TX_IQCAL_VCM_HG
| jtag_core
,
23170 tx_rx_cal_radio_saveregs
[(core
* 11) +
23173 write_radio_reg(pi
,
23174 RADIO_2056_TX_IQCAL_IDAC
| jtag_core
,
23176 tx_rx_cal_radio_saveregs
[(core
* 11) +
23179 write_radio_reg(pi
, RADIO_2056_TX_TSSI_VCM
| jtag_core
,
23181 tx_rx_cal_radio_saveregs
[(core
* 11) +
23184 write_radio_reg(pi
,
23185 RADIO_2056_TX_TX_AMP_DET
| jtag_core
,
23187 tx_rx_cal_radio_saveregs
[(core
* 11) +
23190 write_radio_reg(pi
,
23191 RADIO_2056_TX_TX_SSI_MUX
| jtag_core
,
23193 tx_rx_cal_radio_saveregs
[(core
* 11) +
23196 write_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
,
23198 tx_rx_cal_radio_saveregs
[(core
* 11) +
23201 write_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
,
23203 tx_rx_cal_radio_saveregs
[(core
* 11) +
23206 write_radio_reg(pi
,
23207 RADIO_2056_TX_TSSI_MISC1
| jtag_core
,
23209 tx_rx_cal_radio_saveregs
[(core
* 11) +
23212 write_radio_reg(pi
,
23213 RADIO_2056_TX_TSSI_MISC2
| jtag_core
,
23215 tx_rx_cal_radio_saveregs
[(core
* 11) +
23218 write_radio_reg(pi
,
23219 RADIO_2056_TX_TSSI_MISC3
| jtag_core
,
23221 tx_rx_cal_radio_saveregs
[(core
* 11) +
23226 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
23227 pi
->tx_rx_cal_radio_saveregs
[0]);
23228 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
23229 pi
->tx_rx_cal_radio_saveregs
[1]);
23230 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
23231 pi
->tx_rx_cal_radio_saveregs
[2]);
23232 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
23233 pi
->tx_rx_cal_radio_saveregs
[3]);
23234 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
23235 pi
->tx_rx_cal_radio_saveregs
[4]);
23236 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
23237 pi
->tx_rx_cal_radio_saveregs
[5]);
23241 static void wlc_phy_txcal_physetup_nphy(phy_info_t
*pi
)
23245 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23246 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23247 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23249 mask
= ((0x3 << 8) | (0x3 << 10));
23251 val
|= (0x2 << 10);
23252 mod_phy_reg(pi
, 0xa6, mask
, val
);
23253 mod_phy_reg(pi
, 0xa7, mask
, val
);
23255 val
= read_phy_reg(pi
, 0x8f);
23256 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23257 val
|= ((0x1 << 9) | (0x1 << 10));
23258 write_phy_reg(pi
, 0x8f, val
);
23260 val
= read_phy_reg(pi
, 0xa5);
23261 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23262 val
|= ((0x1 << 9) | (0x1 << 10));
23263 write_phy_reg(pi
, 0xa5, val
);
23265 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x01);
23266 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23268 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23270 pi
->tx_rx_cal_phy_saveregs
[5] = val
;
23272 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23275 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23277 pi
->tx_rx_cal_phy_saveregs
[6] = val
;
23279 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23282 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0x91);
23283 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0x92);
23285 if (!(pi
->use_int_tx_iqlo_cal_nphy
)) {
23287 wlc_phy_rfctrlintc_override_nphy(pi
,
23288 NPHY_RfctrlIntc_override_PA
,
23290 RADIO_MIMO_CORESEL_CORE1
23292 RADIO_MIMO_CORESEL_CORE2
);
23295 wlc_phy_rfctrlintc_override_nphy(pi
,
23296 NPHY_RfctrlIntc_override_PA
,
23298 RADIO_MIMO_CORESEL_CORE1
23300 RADIO_MIMO_CORESEL_CORE2
);
23303 wlc_phy_rfctrlintc_override_nphy(pi
,
23304 NPHY_RfctrlIntc_override_TRSW
,
23305 0x2, RADIO_MIMO_CORESEL_CORE1
);
23306 wlc_phy_rfctrlintc_override_nphy(pi
,
23307 NPHY_RfctrlIntc_override_TRSW
,
23308 0x8, RADIO_MIMO_CORESEL_CORE2
);
23310 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
23311 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
23312 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
23313 0x29b, (0x1 << 0), (0) << 0);
23315 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
23316 0x29b, (0x1 << 0), (0) << 0);
23318 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23319 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23320 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
23321 wlc_phy_read_lpf_bw_ctl_nphy
23323 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23326 if (pi
->use_int_tx_iqlo_cal_nphy
23327 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23329 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23331 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23334 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23336 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23339 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23343 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23346 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23349 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23350 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23353 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23357 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23358 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23360 mask
= ((0x3 << 12) | (0x3 << 14));
23362 val
|= (0x2 << 14);
23363 mod_phy_reg(pi
, 0xa6, mask
, val
);
23364 mod_phy_reg(pi
, 0xa7, mask
, val
);
23366 val
= read_phy_reg(pi
, 0xa5);
23367 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23368 val
|= ((0x1 << 12) | (0x1 << 13));
23369 write_phy_reg(pi
, 0xa5, val
);
23371 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23373 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23375 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23378 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23380 pi
->tx_rx_cal_phy_saveregs
[4] = val
;
23382 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23385 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x91);
23386 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x92);
23387 val
= CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
23388 write_phy_reg(pi
, 0x91, val
);
23389 write_phy_reg(pi
, 0x92, val
);
23393 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t
*pi
)
23397 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23398 write_phy_reg(pi
, 0xa6, pi
->tx_rx_cal_phy_saveregs
[0]);
23399 write_phy_reg(pi
, 0xa7, pi
->tx_rx_cal_phy_saveregs
[1]);
23400 write_phy_reg(pi
, 0x8f, pi
->tx_rx_cal_phy_saveregs
[2]);
23401 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[3]);
23402 write_phy_reg(pi
, 0x01, pi
->tx_rx_cal_phy_saveregs
[4]);
23404 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23405 &pi
->tx_rx_cal_phy_saveregs
[5]);
23406 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23407 &pi
->tx_rx_cal_phy_saveregs
[6]);
23409 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[7]);
23410 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[8]);
23412 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
23413 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
23415 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23416 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23417 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
23419 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23422 wlc_phy_resetcca_nphy(pi
);
23424 if (pi
->use_int_tx_iqlo_cal_nphy
23425 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23427 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23428 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23430 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23433 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23437 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23440 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23444 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23446 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23447 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23450 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23454 mask
= ((0x3 << 12) | (0x3 << 14));
23455 mod_phy_reg(pi
, 0xa6, mask
, pi
->tx_rx_cal_phy_saveregs
[0]);
23456 mod_phy_reg(pi
, 0xa7, mask
, pi
->tx_rx_cal_phy_saveregs
[1]);
23457 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[2]);
23459 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23460 &pi
->tx_rx_cal_phy_saveregs
[3]);
23462 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23463 &pi
->tx_rx_cal_phy_saveregs
[4]);
23465 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[5]);
23466 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[6]);
23470 #define NPHY_CAL_TSSISAMPS 64
23471 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23472 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23475 wlc_phy_est_tonepwr_nphy(phy_info_t
*pi
, int32
*qdBm_pwrbuf
, u8 num_samps
)
23478 int32 temp
, pwrindex
[2];
23479 int32 idle_tssi
[2];
23484 tssi_reg
= read_phy_reg(pi
, 0x1e9);
23486 temp
= (int32
) (tssi_reg
& 0x3f);
23487 idle_tssi
[0] = (temp
<= 31) ? temp
: (temp
- 64);
23489 temp
= (int32
) ((tssi_reg
>> 8) & 0x3f);
23490 idle_tssi
[1] = (temp
<= 31) ? temp
: (temp
- 64);
23493 CHSPEC_IS5G(pi
->radio_chanspec
) ?
23494 (u8
)NPHY_RSSI_SEL_TSSI_5G
:(u8
)NPHY_RSSI_SEL_TSSI_2G
;
23496 wlc_phy_poll_rssi_nphy(pi
, tssi_type
, rssi_buf
, num_samps
);
23498 tssival
[0] = rssi_buf
[0] / ((int32
) num_samps
);
23499 tssival
[1] = rssi_buf
[2] / ((int32
) num_samps
);
23501 pwrindex
[0] = idle_tssi
[0] - tssival
[0] + 64;
23502 pwrindex
[1] = idle_tssi
[1] - tssival
[1] + 64;
23504 if (pwrindex
[0] < 0) {
23506 } else if (pwrindex
[0] > 63) {
23510 if (pwrindex
[1] < 0) {
23512 } else if (pwrindex
[1] > 63) {
23516 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 1,
23517 (uint32
) pwrindex
[0], 32, &qdBm_pwrbuf
[0]);
23518 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 1,
23519 (uint32
) pwrindex
[1], 32, &qdBm_pwrbuf
[1]);
23522 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
)
23524 uint16 txcal_gain
[2];
23526 pi
->nphy_txcal_pwr_idx
[0] = pi
->nphy_cal_orig_pwr_idx
[0];
23527 pi
->nphy_txcal_pwr_idx
[1] = pi
->nphy_cal_orig_pwr_idx
[0];
23528 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], TRUE
);
23529 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], TRUE
);
23531 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23534 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23535 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F40;
23536 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F40;
23538 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F60;
23539 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F60;
23542 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23546 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
)
23548 bool save_bbmult
= FALSE
;
23549 u8 txcal_index_2057_rev5n7
= 0;
23550 u8 txcal_index_2057_rev3n4n6
= 10;
23552 if (pi
->use_int_tx_iqlo_cal_nphy
) {
23553 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23554 if ((pi
->pubpi
.radiorev
== 3) ||
23555 (pi
->pubpi
.radiorev
== 4) ||
23556 (pi
->pubpi
.radiorev
== 6)) {
23558 pi
->nphy_txcal_pwr_idx
[0] =
23559 txcal_index_2057_rev3n4n6
;
23560 pi
->nphy_txcal_pwr_idx
[1] =
23561 txcal_index_2057_rev3n4n6
;
23562 wlc_phy_txpwr_index_nphy(pi
, 3,
23563 txcal_index_2057_rev3n4n6
,
23567 pi
->nphy_txcal_pwr_idx
[0] =
23568 txcal_index_2057_rev5n7
;
23569 pi
->nphy_txcal_pwr_idx
[1] =
23570 txcal_index_2057_rev5n7
;
23571 wlc_phy_txpwr_index_nphy(pi
, 3,
23572 txcal_index_2057_rev5n7
,
23575 save_bbmult
= TRUE
;
23577 } else if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
23578 wlc_phy_cal_txgainctrl_nphy(pi
, 11, FALSE
);
23579 if (pi
->sh
->hw_phytxchain
!= 3) {
23580 pi
->nphy_txcal_pwr_idx
[1] =
23581 pi
->nphy_txcal_pwr_idx
[0];
23582 wlc_phy_txpwr_index_nphy(pi
, 3,
23584 nphy_txcal_pwr_idx
[0],
23586 save_bbmult
= TRUE
;
23589 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
23591 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23592 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23595 pi
->nphy_txcal_pwr_idx
[0] = 80;
23596 pi
->nphy_txcal_pwr_idx
[1] = 80;
23597 wlc_phy_txpwr_index_nphy(pi
, 3, 80,
23599 save_bbmult
= TRUE
;
23603 wlc_phy_internal_cal_txgain_nphy(pi
);
23604 save_bbmult
= TRUE
;
23607 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
23609 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23610 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23613 wlc_phy_cal_txgainctrl_nphy(pi
, 14,
23618 wlc_phy_internal_cal_txgain_nphy(pi
);
23619 save_bbmult
= TRUE
;
23624 wlc_phy_cal_txgainctrl_nphy(pi
, 10, FALSE
);
23628 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
23629 &pi
->nphy_txcal_bbmult
);
23634 wlc_phy_cal_txgainctrl_nphy(phy_info_t
*pi
, int32 dBm_targetpower
, bool debug
)
23636 int gainctrl_loopidx
;
23638 uint16 m0m1
, curr_m0m1
;
23641 int32 qdBm_power
[2];
23642 uint16 orig_BBConfig
;
23643 uint16 phy_saveregs
[4];
23645 uint16 ampl_test
= 250;
23647 bool phyhang_avoid_state
= FALSE
;
23649 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23657 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
23663 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], TRUE
);
23664 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], TRUE
);
23666 if (pi
->phyhang_avoid
)
23667 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
23669 phyhang_avoid_state
= pi
->phyhang_avoid
;
23670 pi
->phyhang_avoid
= FALSE
;
23672 phy_saveregs
[0] = read_phy_reg(pi
, 0x91);
23673 phy_saveregs
[1] = read_phy_reg(pi
, 0x92);
23674 phy_saveregs
[2] = read_phy_reg(pi
, 0xe7);
23675 phy_saveregs
[3] = read_phy_reg(pi
, 0xec);
23676 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 1,
23677 RADIO_MIMO_CORESEL_CORE1
|
23678 RADIO_MIMO_CORESEL_CORE2
);
23681 wlc_phy_rfctrlintc_override_nphy(pi
,
23682 NPHY_RfctrlIntc_override_TRSW
,
23683 0x2, RADIO_MIMO_CORESEL_CORE1
);
23684 wlc_phy_rfctrlintc_override_nphy(pi
,
23685 NPHY_RfctrlIntc_override_TRSW
,
23686 0x8, RADIO_MIMO_CORESEL_CORE2
);
23688 wlc_phy_rfctrlintc_override_nphy(pi
,
23689 NPHY_RfctrlIntc_override_TRSW
,
23690 0x1, RADIO_MIMO_CORESEL_CORE1
);
23691 wlc_phy_rfctrlintc_override_nphy(pi
,
23692 NPHY_RfctrlIntc_override_TRSW
,
23693 0x7, RADIO_MIMO_CORESEL_CORE2
);
23696 orig_BBConfig
= read_phy_reg(pi
, 0x01);
23697 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23699 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
23701 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
23702 txpwrindex
= (int32
) pi
->nphy_cal_orig_pwr_idx
[core
];
23704 for (gainctrl_loopidx
= 0; gainctrl_loopidx
< 2;
23705 gainctrl_loopidx
++) {
23706 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23709 if (core
== PHY_CORE_0
) {
23710 curr_m0m1
= m0m1
& 0xff00;
23712 curr_m0m1
= m0m1
& 0x00ff;
23715 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &curr_m0m1
);
23716 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &curr_m0m1
);
23720 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23721 NPHY_CAL_TSSISAMPS
);
23723 pi
->nphy_bb_mult_save
= 0;
23724 wlc_phy_stopplayback_nphy(pi
);
23726 delta_power
= (dBm_targetpower
* 4) - qdBm_power
[core
];
23728 txpwrindex
-= stepsize
* delta_power
;
23729 if (txpwrindex
< 0) {
23731 } else if (txpwrindex
> 127) {
23735 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
23736 if (NREV_IS(pi
->pubpi
.phy_rev
, 4) &&
23737 (pi
->srom_fem5g
.extpagain
== 3)) {
23738 if (txpwrindex
< 30) {
23743 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
23744 (pi
->srom_fem2g
.extpagain
== 3)) {
23745 if (txpwrindex
< 50) {
23751 wlc_phy_txpwr_index_nphy(pi
, (1 << core
),
23752 (u8
) txpwrindex
, TRUE
);
23755 pi
->nphy_txcal_pwr_idx
[core
] = (u8
) txpwrindex
;
23761 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23763 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23766 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23767 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &dbg_m0m1
);
23771 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23772 NPHY_CAL_TSSISAMPS
);
23774 wlc_phy_table_read_nphy(pi
, 7, 1, (0x110 + core
), 16,
23777 OSL_DELAY(4000000);
23778 pi
->nphy_bb_mult_save
= 0;
23779 wlc_phy_stopplayback_nphy(pi
);
23783 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_txcal_pwr_idx
[0], TRUE
);
23784 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_txcal_pwr_idx
[1], TRUE
);
23786 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &pi
->nphy_txcal_bbmult
);
23788 write_phy_reg(pi
, 0x01, orig_BBConfig
);
23790 write_phy_reg(pi
, 0x91, phy_saveregs
[0]);
23791 write_phy_reg(pi
, 0x92, phy_saveregs
[1]);
23792 write_phy_reg(pi
, 0xe7, phy_saveregs
[2]);
23793 write_phy_reg(pi
, 0xec, phy_saveregs
[3]);
23795 pi
->phyhang_avoid
= phyhang_avoid_state
;
23797 if (pi
->phyhang_avoid
)
23798 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
23801 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, uint16 core
)
23804 uint32 bbmult_scale
;
23808 nphy_txiqcal_ladder_t ladder_lo
[] = {
23809 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23810 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23811 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23814 nphy_txiqcal_ladder_t ladder_iq
[] = {
23815 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23816 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23817 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23820 bbmult
= (core
== PHY_CORE_0
) ?
23821 ((pi
->nphy_txcal_bbmult
>> 8) & 0xff) : (pi
->
23822 nphy_txcal_bbmult
& 0xff);
23824 for (index
= 0; index
< 18; index
++) {
23825 bbmult_scale
= ladder_lo
[index
].percent
* bbmult
;
23826 bbmult_scale
/= 100;
23829 ((bbmult_scale
& 0xff) << 8) | ladder_lo
[index
].g_env
;
23830 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
, 16,
23833 bbmult_scale
= ladder_iq
[index
].percent
* bbmult
;
23834 bbmult_scale
/= 100;
23837 ((bbmult_scale
& 0xff) << 8) | ladder_iq
[index
].g_env
;
23838 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
+ 32,
23843 void wlc_phy_cal_perical_nphy_run(phy_info_t
*pi
, u8 caltype
)
23845 nphy_txgains_t target_gain
;
23846 u8 tx_pwr_ctrl_state
;
23847 bool fullcal
= TRUE
;
23848 bool restore_tx_gain
= FALSE
;
23851 if (NORADIO_ENAB(pi
->pubpi
)) {
23852 wlc_phy_cal_perical_mphase_reset(pi
);
23859 ASSERT(pi
->nphy_perical
!= PHY_PERICAL_DISABLE
);
23861 if (caltype
== PHY_PERICAL_AUTO
)
23862 fullcal
= (pi
->radio_chanspec
!= pi
->nphy_txiqlocal_chanspec
);
23863 else if (caltype
== PHY_PERICAL_PARTIAL
)
23866 if (pi
->cal_type_override
!= PHY_PERICAL_AUTO
) {
23868 (pi
->cal_type_override
== PHY_PERICAL_FULL
) ? TRUE
: FALSE
;
23871 if ((pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_INIT
)) {
23872 if (pi
->nphy_txiqlocal_chanspec
!= pi
->radio_chanspec
)
23873 wlc_phy_cal_perical_mphase_restart(pi
);
23876 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_RXCAL
)) {
23877 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
, 10000);
23880 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23882 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23884 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_IDLE
) ||
23885 (pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_INIT
)) {
23886 pi
->nphy_cal_orig_pwr_idx
[0] =
23887 (u8
) ((read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f);
23888 pi
->nphy_cal_orig_pwr_idx
[1] =
23889 (u8
) ((read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f);
23891 if (pi
->nphy_txpwrctrl
!= PHY_TPC_HW_OFF
) {
23892 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2,
23894 pi
->nphy_cal_orig_tx_gain
);
23896 pi
->nphy_cal_orig_tx_gain
[0] = 0;
23897 pi
->nphy_cal_orig_tx_gain
[1] = 0;
23900 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23901 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
23902 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
23904 if (pi
->antsel_type
== ANTSEL_2x3
)
23905 wlc_phy_antsel_init((wlc_phy_t
*) pi
, TRUE
);
23907 mphase
= (pi
->mphase_cal_phase_id
!= MPHASE_CAL_STATE_IDLE
);
23910 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23911 wlc_phy_precal_txgain_nphy(pi
);
23912 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23913 restore_tx_gain
= TRUE
;
23915 target_gain
= pi
->nphy_cal_target_gain
;
23918 wlc_phy_cal_txiqlo_nphy(pi
, target_gain
, fullcal
, mphase
)) {
23920 wlc_phy_a4(pi
, TRUE
);
23922 wlc_phyreg_exit((wlc_phy_t
*) pi
);
23923 wlapi_enable_mac(pi
->sh
->physhim
);
23924 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
,
23926 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23927 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23929 if (BCME_OK
== wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
23931 first_cal_after_assoc
23937 wlc_phy_savecal_nphy(pi
);
23939 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
23941 pi
->nphy_perical_last
= pi
->sh
->now
;
23944 if (caltype
!= PHY_PERICAL_AUTO
) {
23945 wlc_phy_rssi_cal_nphy(pi
);
23948 if (pi
->first_cal_after_assoc
23949 || (pi
->cal_type_override
== PHY_PERICAL_FULL
)) {
23950 pi
->first_cal_after_assoc
= FALSE
;
23951 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
23952 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
23955 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23956 wlc_phy_radio205x_vcocal_nphy(pi
);
23959 ASSERT(pi
->nphy_perical
>= PHY_PERICAL_MPHASE
);
23961 switch (pi
->mphase_cal_phase_id
) {
23962 case MPHASE_CAL_STATE_INIT
:
23963 pi
->nphy_perical_last
= pi
->sh
->now
;
23964 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
23966 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23967 wlc_phy_precal_txgain_nphy(pi
);
23969 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23970 pi
->mphase_cal_phase_id
++;
23973 case MPHASE_CAL_STATE_TXPHASE0
:
23974 case MPHASE_CAL_STATE_TXPHASE1
:
23975 case MPHASE_CAL_STATE_TXPHASE2
:
23976 case MPHASE_CAL_STATE_TXPHASE3
:
23977 case MPHASE_CAL_STATE_TXPHASE4
:
23978 case MPHASE_CAL_STATE_TXPHASE5
:
23979 if ((pi
->radar_percal_mask
& 0x10) != 0)
23980 pi
->nphy_rxcal_active
= TRUE
;
23982 if (wlc_phy_cal_txiqlo_nphy
23983 (pi
, pi
->nphy_cal_target_gain
, fullcal
,
23984 TRUE
) != BCME_OK
) {
23986 wlc_phy_cal_perical_mphase_reset(pi
);
23990 if (NREV_LE(pi
->pubpi
.phy_rev
, 2) &&
23991 (pi
->mphase_cal_phase_id
==
23992 MPHASE_CAL_STATE_TXPHASE4
)) {
23993 pi
->mphase_cal_phase_id
+= 2;
23995 pi
->mphase_cal_phase_id
++;
23999 case MPHASE_CAL_STATE_PAPDCAL
:
24000 if ((pi
->radar_percal_mask
& 0x2) != 0)
24001 pi
->nphy_rxcal_active
= TRUE
;
24004 wlc_phy_a4(pi
, TRUE
);
24006 pi
->mphase_cal_phase_id
++;
24009 case MPHASE_CAL_STATE_RXCAL
:
24010 if ((pi
->radar_percal_mask
& 0x1) != 0)
24011 pi
->nphy_rxcal_active
= TRUE
;
24012 if (wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
24013 (pi
->first_cal_after_assoc
||
24014 (pi
->cal_type_override
==
24015 PHY_PERICAL_FULL
)) ? 2 : 0,
24016 FALSE
) == BCME_OK
) {
24017 wlc_phy_savecal_nphy(pi
);
24020 pi
->mphase_cal_phase_id
++;
24023 case MPHASE_CAL_STATE_RSSICAL
:
24024 if ((pi
->radar_percal_mask
& 0x4) != 0)
24025 pi
->nphy_rxcal_active
= TRUE
;
24026 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
24027 wlc_phy_rssi_cal_nphy(pi
);
24029 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24030 wlc_phy_radio205x_vcocal_nphy(pi
);
24032 restore_tx_gain
= TRUE
;
24034 if (pi
->first_cal_after_assoc
) {
24035 pi
->mphase_cal_phase_id
++;
24037 wlc_phy_cal_perical_mphase_reset(pi
);
24042 case MPHASE_CAL_STATE_IDLETSSI
:
24043 if ((pi
->radar_percal_mask
& 0x8) != 0)
24044 pi
->nphy_rxcal_active
= TRUE
;
24046 if (pi
->first_cal_after_assoc
) {
24047 pi
->first_cal_after_assoc
= FALSE
;
24048 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
24049 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
24052 wlc_phy_cal_perical_mphase_reset(pi
);
24057 wlc_phy_cal_perical_mphase_reset(pi
);
24062 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24063 if (restore_tx_gain
) {
24064 if (tx_pwr_ctrl_state
!= PHY_TPC_HW_OFF
) {
24066 wlc_phy_txpwr_index_nphy(pi
, 1,
24068 nphy_cal_orig_pwr_idx
24070 wlc_phy_txpwr_index_nphy(pi
, 2,
24072 nphy_cal_orig_pwr_idx
24075 pi
->nphy_txpwrindex
[0].index
= -1;
24076 pi
->nphy_txpwrindex
[1].index
= -1;
24078 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
24084 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
24094 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
24095 wlc_phyreg_exit((wlc_phy_t
*) pi
);
24096 wlapi_enable_mac(pi
->sh
->physhim
);
24100 wlc_phy_cal_txiqlo_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
24101 bool fullcal
, bool mphase
)
24104 uint16 tbl_buf
[11];
24107 u8 num_cals
, max_cal_cmds
;
24108 uint16 core_no
, cal_type
;
24109 uint16 diq_start
= 0;
24113 uint16 gain_save
[2];
24114 uint16 cal_gain
[2];
24115 nphy_iqcal_params_t cal_params
[2];
24118 bool ladder_updated
[2];
24119 u8 mphase_cal_lastphase
= 0;
24120 int bcmerror
= BCME_OK
;
24121 bool phyhang_avoid_state
= FALSE
;
24123 uint16 tbl_tx_iqlo_cal_loft_ladder_20
[] = {
24124 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24126 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24130 uint16 tbl_tx_iqlo_cal_iqimb_ladder_20
[] = {
24131 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24133 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24137 uint16 tbl_tx_iqlo_cal_loft_ladder_40
[] = {
24138 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24140 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24144 uint16 tbl_tx_iqlo_cal_iqimb_ladder_40
[] = {
24145 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24147 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24151 uint16 tbl_tx_iqlo_cal_startcoefs
[] = {
24152 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24156 uint16 tbl_tx_iqlo_cal_cmds_fullcal
[] = {
24157 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24158 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24161 uint16 tbl_tx_iqlo_cal_cmds_recal
[] = {
24162 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24163 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24166 uint16 tbl_tx_iqlo_cal_startcoefs_nphyrev3
[] = {
24167 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24168 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24172 uint16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
[] = {
24173 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24174 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24177 uint16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[] = {
24178 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24179 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24182 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
24184 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24185 phyhang_avoid_state
= pi
->phyhang_avoid
;
24186 pi
->phyhang_avoid
= FALSE
;
24189 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
24195 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
24197 for (core_no
= 0; core_no
<= 1; core_no
++) {
24198 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
24199 &cal_params
[core_no
]);
24200 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
24203 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
24205 wlc_phy_txcal_radio_setup_nphy(pi
);
24207 wlc_phy_txcal_physetup_nphy(pi
);
24209 ladder_updated
[0] = ladder_updated
[1] = FALSE
;
24210 if (!(NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24211 (NREV_IS(pi
->pubpi
.phy_rev
, 5) && PHY_IPA(pi
)
24212 && (CHSPEC_IS2G(pi
->radio_chanspec
))))) {
24214 if (phy_bw
== 40) {
24215 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_40
;
24216 tbl_len
= ARRAYSIZE(tbl_tx_iqlo_cal_loft_ladder_40
);
24218 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_20
;
24219 tbl_len
= ARRAYSIZE(tbl_tx_iqlo_cal_loft_ladder_20
);
24221 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 0,
24224 if (phy_bw
== 40) {
24225 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_40
;
24226 tbl_len
= ARRAYSIZE(tbl_tx_iqlo_cal_iqimb_ladder_40
);
24228 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_20
;
24229 tbl_len
= ARRAYSIZE(tbl_tx_iqlo_cal_iqimb_ladder_20
);
24231 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 32,
24235 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24236 write_phy_reg(pi
, 0xc2, 0x8ad9);
24238 write_phy_reg(pi
, 0xc2, 0x8aa9);
24242 tone_freq
= (phy_bw
== 20) ? 2500 : 5000;
24244 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24245 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff, 0, 1, 0, FALSE
);
24246 bcmerror
= BCME_OK
;
24249 wlc_phy_tx_tone_nphy(pi
, tone_freq
, max_val
, 1, 0, FALSE
);
24252 if (bcmerror
== BCME_OK
) {
24254 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24255 tbl_ptr
= pi
->mphase_txcal_bestcoeffs
;
24256 tbl_len
= ARRAYSIZE(pi
->mphase_txcal_bestcoeffs
);
24257 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24262 if ((!fullcal
) && (pi
->nphy_txiqlocal_coeffsvalid
)) {
24264 tbl_ptr
= pi
->nphy_txiqlocal_bestc
;
24265 tbl_len
= ARRAYSIZE(pi
->nphy_txiqlocal_bestc
);
24266 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24274 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24276 tbl_tx_iqlo_cal_startcoefs_nphyrev3
;
24279 (tbl_tx_iqlo_cal_startcoefs_nphyrev3
);
24281 tbl_ptr
= tbl_tx_iqlo_cal_startcoefs
;
24284 (tbl_tx_iqlo_cal_startcoefs
);
24288 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 64,
24292 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24293 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
) :
24294 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_fullcal
);
24296 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24297 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3
) :
24298 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_recal
);
24302 cal_cnt
= pi
->mphase_txcal_cmdidx
;
24303 if ((cal_cnt
+ pi
->mphase_txcal_numcmds
) < max_cal_cmds
) {
24304 num_cals
= cal_cnt
+ pi
->mphase_txcal_numcmds
;
24306 num_cals
= max_cal_cmds
;
24310 num_cals
= max_cal_cmds
;
24313 for (; cal_cnt
< num_cals
; cal_cnt
++) {
24316 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24317 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24319 tbl_tx_iqlo_cal_cmds_fullcal
[cal_cnt
];
24321 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24322 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[cal_cnt
]
24323 : tbl_tx_iqlo_cal_cmds_recal
[cal_cnt
];
24326 core_no
= ((cal_cmd
& 0x3000) >> 12);
24327 cal_type
= ((cal_cmd
& 0x0F00) >> 8);
24329 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24330 (NREV_IS(pi
->pubpi
.phy_rev
, 5) &&
24332 && (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
24333 if (!ladder_updated
[core_no
]) {
24334 wlc_phy_update_txcal_ladder_nphy(pi
,
24336 ladder_updated
[core_no
] = TRUE
;
24341 (cal_params
[core_no
].
24342 ncorr
[cal_type
] << 8) | NPHY_N_GCTL
;
24343 write_phy_reg(pi
, 0xc1, val
);
24345 if ((cal_type
== 1) || (cal_type
== 3)
24346 || (cal_type
== 4)) {
24348 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24349 1, 69 + core_no
, 16,
24352 diq_start
= tbl_buf
[0];
24355 wlc_phy_table_write_nphy(pi
,
24356 NPHY_TBL_ID_IQLOCAL
, 1,
24361 write_phy_reg(pi
, 0xc0, cal_cmd
);
24363 SPINWAIT(((read_phy_reg(pi
, 0xc0) & 0xc000) != 0),
24365 ASSERT((read_phy_reg(pi
, 0xc0) & 0xc000) == 0);
24367 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24368 tbl_len
, 96, 16, tbl_buf
);
24369 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24370 tbl_len
, 64, 16, tbl_buf
);
24372 if ((cal_type
== 1) || (cal_type
== 3)
24373 || (cal_type
== 4)) {
24375 tbl_buf
[0] = diq_start
;
24382 pi
->mphase_txcal_cmdidx
= num_cals
;
24383 if (pi
->mphase_txcal_cmdidx
>= max_cal_cmds
)
24384 pi
->mphase_txcal_cmdidx
= 0;
24387 mphase_cal_lastphase
=
24388 (NREV_LE(pi
->pubpi
.phy_rev
, 2)) ?
24389 MPHASE_CAL_STATE_TXPHASE4
: MPHASE_CAL_STATE_TXPHASE5
;
24392 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
)) {
24394 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 96,
24396 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24399 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24407 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24410 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 101,
24412 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24415 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24418 tbl_len
= ARRAYSIZE(pi
->nphy_txiqlocal_bestc
);
24419 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24423 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24425 pi
->nphy_txiqlocal_bestc
);
24427 pi
->nphy_txiqlocal_coeffsvalid
= TRUE
;
24428 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
24430 tbl_len
= ARRAYSIZE(pi
->mphase_txcal_bestcoeffs
);
24431 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24435 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24437 pi
->mphase_txcal_bestcoeffs
);
24440 wlc_phy_stopplayback_nphy(pi
);
24442 write_phy_reg(pi
, 0xc2, 0x0000);
24446 wlc_phy_txcal_phycleanup_nphy(pi
);
24448 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
24451 wlc_phy_txcal_radio_cleanup_nphy(pi
);
24453 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24455 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
))
24456 wlc_phy_tx_iq_war_nphy(pi
);
24459 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24460 pi
->phyhang_avoid
= phyhang_avoid_state
;
24463 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
24468 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
)
24472 ASSERT(NREV_LT(pi
->pubpi
.phy_rev
, 2));
24474 if ((pi
->nphy_txiqlocal_chanspec
== pi
->radio_chanspec
) &&
24475 (pi
->nphy_txiqlocal_coeffsvalid
)) {
24476 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24477 ARRAYSIZE(tbl_buf
), 80, 16, tbl_buf
);
24479 if ((pi
->nphy_txiqlocal_bestc
[0] != tbl_buf
[0]) ||
24480 (pi
->nphy_txiqlocal_bestc
[1] != tbl_buf
[1]) ||
24481 (pi
->nphy_txiqlocal_bestc
[2] != tbl_buf
[2]) ||
24482 (pi
->nphy_txiqlocal_bestc
[3] != tbl_buf
[3])) {
24484 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24485 16, pi
->nphy_txiqlocal_bestc
);
24491 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24494 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24496 &pi
->nphy_txiqlocal_bestc
[5]);
24498 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24500 &pi
->nphy_txiqlocal_bestc
[5]);
24505 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
)
24507 nphy_iq_comp_t tx_comp
;
24509 wlc_phy_table_read_nphy(pi
, 15, 4, 0x50, 16, (void *)&tx_comp
);
24511 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
, tx_comp
.a0
);
24512 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 2, tx_comp
.b0
);
24513 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 4, tx_comp
.a1
);
24514 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 6, tx_comp
.b1
);
24518 wlc_phy_rx_iq_coeffs_nphy(phy_info_t
*pi
, u8 write
, nphy_iq_comp_t
*pcomp
)
24521 write_phy_reg(pi
, 0x9a, pcomp
->a0
);
24522 write_phy_reg(pi
, 0x9b, pcomp
->b0
);
24523 write_phy_reg(pi
, 0x9c, pcomp
->a1
);
24524 write_phy_reg(pi
, 0x9d, pcomp
->b1
);
24526 pcomp
->a0
= read_phy_reg(pi
, 0x9a);
24527 pcomp
->b0
= read_phy_reg(pi
, 0x9b);
24528 pcomp
->a1
= read_phy_reg(pi
, 0x9c);
24529 pcomp
->b1
= read_phy_reg(pi
, 0x9d);
24534 wlc_phy_rx_iq_est_nphy(phy_info_t
*pi
, phy_iq_est_t
*est
, uint16 num_samps
,
24535 u8 wait_time
, u8 wait_for_crs
)
24539 write_phy_reg(pi
, 0x12b, num_samps
);
24540 mod_phy_reg(pi
, 0x12a, (0xff << 0), (wait_time
<< 0));
24541 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqMode
,
24542 (wait_for_crs
) ? NPHY_IqestCmd_iqMode
: 0);
24544 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqstart
, NPHY_IqestCmd_iqstart
);
24546 SPINWAIT(((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) != 0),
24548 ASSERT((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0);
24550 if ((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0) {
24551 ASSERT(pi
->pubpi
.phy_corenum
<= PHY_CORE_MAX
);
24552 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
24554 (read_phy_reg(pi
, NPHY_IqestipwrAccHi(core
)) << 16)
24555 | read_phy_reg(pi
, NPHY_IqestipwrAccLo(core
));
24557 (read_phy_reg(pi
, NPHY_IqestqpwrAccHi(core
)) << 16)
24558 | read_phy_reg(pi
, NPHY_IqestqpwrAccLo(core
));
24559 est
[core
].iq_prod
=
24560 (read_phy_reg(pi
, NPHY_IqestIqAccHi(core
)) << 16) |
24561 read_phy_reg(pi
, NPHY_IqestIqAccLo(core
));
24566 #define CAL_RETRY_CNT 2
24567 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t
*pi
, u8 core_mask
)
24570 phy_iq_est_t est
[PHY_CORE_MAX
];
24571 nphy_iq_comp_t old_comp
, new_comp
;
24573 uint32 ii
= 0, qq
= 0;
24574 int16 iq_nbits
, qq_nbits
, brsh
, arsh
;
24576 int bcmerror
= BCME_OK
;
24577 uint cal_retry
= 0;
24579 if (core_mask
== 0x0)
24582 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &old_comp
);
24583 new_comp
.a0
= new_comp
.b0
= new_comp
.a1
= new_comp
.b1
= 0x0;
24584 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24587 wlc_phy_rx_iq_est_nphy(pi
, est
, 0x4000, 32, 0);
24589 new_comp
= old_comp
;
24591 for (curr_core
= 0; curr_core
< pi
->pubpi
.phy_corenum
; curr_core
++) {
24593 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24594 iq
= est
[curr_core
].iq_prod
;
24595 ii
= est
[curr_core
].i_pwr
;
24596 qq
= est
[curr_core
].q_pwr
;
24597 } else if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24598 iq
= est
[curr_core
].iq_prod
;
24599 ii
= est
[curr_core
].i_pwr
;
24600 qq
= est
[curr_core
].q_pwr
;
24605 if ((ii
+ qq
) < NPHY_MIN_RXIQ_PWR
) {
24606 bcmerror
= BCME_ERROR
;
24610 iq_nbits
= wlc_phy_nbits(iq
);
24611 qq_nbits
= wlc_phy_nbits(qq
);
24613 arsh
= 10 - (30 - iq_nbits
);
24615 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
>> (1 + arsh
)));
24616 temp
= (int32
) (ii
>> arsh
);
24618 bcmerror
= BCME_ERROR
;
24622 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
<< (-1 - arsh
)));
24623 temp
= (int32
) (ii
<< -arsh
);
24625 bcmerror
= BCME_ERROR
;
24632 brsh
= qq_nbits
- 31 + 20;
24634 b
= (qq
<< (31 - qq_nbits
));
24635 temp
= (int32
) (ii
>> brsh
);
24637 bcmerror
= BCME_ERROR
;
24641 b
= (qq
<< (31 - qq_nbits
));
24642 temp
= (int32
) (ii
<< -brsh
);
24644 bcmerror
= BCME_ERROR
;
24650 b
= (int32
) wlc_phy_sqrt_int((uint32
) b
);
24653 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24654 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24655 new_comp
.a0
= (int16
) a
& 0x3ff;
24656 new_comp
.b0
= (int16
) b
& 0x3ff;
24659 new_comp
.a0
= (int16
) b
& 0x3ff;
24660 new_comp
.b0
= (int16
) a
& 0x3ff;
24663 if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24664 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24665 new_comp
.a1
= (int16
) a
& 0x3ff;
24666 new_comp
.b1
= (int16
) b
& 0x3ff;
24669 new_comp
.a1
= (int16
) b
& 0x3ff;
24670 new_comp
.b1
= (int16
) a
& 0x3ff;
24675 if (bcmerror
!= BCME_OK
) {
24676 printk("%s: Failed, cnt = %d\n", __func__
, cal_retry
);
24678 if (cal_retry
< CAL_RETRY_CNT
) {
24683 new_comp
= old_comp
;
24684 } else if (cal_retry
> 0) {
24687 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24690 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t
*pi
, u8 rx_core
)
24692 uint16 offtune_val
;
24696 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24697 if (rx_core
== PHY_CORE_0
) {
24698 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24699 pi
->tx_rx_cal_radio_saveregs
[0] =
24701 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
);
24702 pi
->tx_rx_cal_radio_saveregs
[1] =
24704 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
);
24706 write_radio_reg(pi
,
24707 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24709 write_radio_reg(pi
,
24710 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
24714 pi
->tx_rx_cal_radio_saveregs
[0] =
24716 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
);
24717 pi
->tx_rx_cal_radio_saveregs
[1] =
24719 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
);
24721 write_radio_reg(pi
,
24722 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
24724 write_radio_reg(pi
,
24725 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
24730 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24731 pi
->tx_rx_cal_radio_saveregs
[0] =
24733 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
);
24734 pi
->tx_rx_cal_radio_saveregs
[1] =
24736 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
);
24738 write_radio_reg(pi
,
24739 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
24741 write_radio_reg(pi
,
24742 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
24746 pi
->tx_rx_cal_radio_saveregs
[0] =
24748 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
);
24749 pi
->tx_rx_cal_radio_saveregs
[1] =
24751 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
);
24753 write_radio_reg(pi
,
24754 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
24756 write_radio_reg(pi
,
24757 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
24763 if (rx_core
== PHY_CORE_0
) {
24764 pi
->tx_rx_cal_radio_saveregs
[0] =
24766 RADIO_2056_TX_RXIQCAL_TXMUX
|
24768 pi
->tx_rx_cal_radio_saveregs
[1] =
24770 RADIO_2056_RX_RXIQCAL_RXMUX
|
24773 if (pi
->pubpi
.radiorev
>= 5) {
24774 pi
->tx_rx_cal_radio_saveregs
[2] =
24776 RADIO_2056_RX_RXSPARE2
|
24778 pi
->tx_rx_cal_radio_saveregs
[3] =
24780 RADIO_2056_TX_TXSPARE2
|
24784 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24786 if (pi
->pubpi
.radiorev
>= 5) {
24787 pi
->tx_rx_cal_radio_saveregs
[4] =
24789 RADIO_2056_RX_LNAA_MASTER
24792 write_radio_reg(pi
,
24793 RADIO_2056_RX_LNAA_MASTER
24794 | RADIO_2056_RX0
, 0x40);
24796 write_radio_reg(pi
,
24797 RADIO_2056_TX_TXSPARE2
|
24798 RADIO_2056_TX1
, bias_a
);
24800 write_radio_reg(pi
,
24801 RADIO_2056_RX_RXSPARE2
|
24802 RADIO_2056_RX0
, bias_a
);
24804 pi
->tx_rx_cal_radio_saveregs
[4] =
24806 RADIO_2056_RX_LNAA_TUNE
24811 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24814 (offtune_val
<= 0x7) ? 0xF : 0;
24817 RADIO_2056_RX_LNAA_TUNE
|
24818 RADIO_2056_RX0
, 0xF0,
24819 (offtune_val
<< 8));
24822 write_radio_reg(pi
,
24823 RADIO_2056_TX_RXIQCAL_TXMUX
|
24824 RADIO_2056_TX1
, 0x9);
24825 write_radio_reg(pi
,
24826 RADIO_2056_RX_RXIQCAL_RXMUX
|
24827 RADIO_2056_RX0
, 0x9);
24829 if (pi
->pubpi
.radiorev
>= 5) {
24830 pi
->tx_rx_cal_radio_saveregs
[4] =
24832 RADIO_2056_RX_LNAG_MASTER
24835 write_radio_reg(pi
,
24836 RADIO_2056_RX_LNAG_MASTER
24837 | RADIO_2056_RX0
, 0x40);
24839 write_radio_reg(pi
,
24840 RADIO_2056_TX_TXSPARE2
|
24841 RADIO_2056_TX1
, bias_g
);
24843 write_radio_reg(pi
,
24844 RADIO_2056_RX_RXSPARE2
|
24845 RADIO_2056_RX0
, bias_g
);
24848 pi
->tx_rx_cal_radio_saveregs
[4] =
24850 RADIO_2056_RX_LNAG_TUNE
24855 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24858 (offtune_val
<= 0x7) ? 0xF : 0;
24861 RADIO_2056_RX_LNAG_TUNE
|
24862 RADIO_2056_RX0
, 0xF0,
24863 (offtune_val
<< 8));
24866 write_radio_reg(pi
,
24867 RADIO_2056_TX_RXIQCAL_TXMUX
|
24868 RADIO_2056_TX1
, 0x6);
24869 write_radio_reg(pi
,
24870 RADIO_2056_RX_RXIQCAL_RXMUX
|
24871 RADIO_2056_RX0
, 0x6);
24875 pi
->tx_rx_cal_radio_saveregs
[0] =
24877 RADIO_2056_TX_RXIQCAL_TXMUX
|
24879 pi
->tx_rx_cal_radio_saveregs
[1] =
24881 RADIO_2056_RX_RXIQCAL_RXMUX
|
24884 if (pi
->pubpi
.radiorev
>= 5) {
24885 pi
->tx_rx_cal_radio_saveregs
[2] =
24887 RADIO_2056_RX_RXSPARE2
|
24889 pi
->tx_rx_cal_radio_saveregs
[3] =
24891 RADIO_2056_TX_TXSPARE2
|
24895 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24897 if (pi
->pubpi
.radiorev
>= 5) {
24898 pi
->tx_rx_cal_radio_saveregs
[4] =
24900 RADIO_2056_RX_LNAA_MASTER
24903 write_radio_reg(pi
,
24904 RADIO_2056_RX_LNAA_MASTER
24905 | RADIO_2056_RX1
, 0x40);
24907 write_radio_reg(pi
,
24908 RADIO_2056_TX_TXSPARE2
|
24909 RADIO_2056_TX0
, bias_a
);
24911 write_radio_reg(pi
,
24912 RADIO_2056_RX_RXSPARE2
|
24913 RADIO_2056_RX1
, bias_a
);
24915 pi
->tx_rx_cal_radio_saveregs
[4] =
24917 RADIO_2056_RX_LNAA_TUNE
24922 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24925 (offtune_val
<= 0x7) ? 0xF : 0;
24928 RADIO_2056_RX_LNAA_TUNE
|
24929 RADIO_2056_RX1
, 0xF0,
24930 (offtune_val
<< 8));
24933 write_radio_reg(pi
,
24934 RADIO_2056_TX_RXIQCAL_TXMUX
|
24935 RADIO_2056_TX0
, 0x9);
24936 write_radio_reg(pi
,
24937 RADIO_2056_RX_RXIQCAL_RXMUX
|
24938 RADIO_2056_RX1
, 0x9);
24940 if (pi
->pubpi
.radiorev
>= 5) {
24941 pi
->tx_rx_cal_radio_saveregs
[4] =
24943 RADIO_2056_RX_LNAG_MASTER
24946 write_radio_reg(pi
,
24947 RADIO_2056_RX_LNAG_MASTER
24948 | RADIO_2056_RX1
, 0x40);
24950 write_radio_reg(pi
,
24951 RADIO_2056_TX_TXSPARE2
|
24952 RADIO_2056_TX0
, bias_g
);
24954 write_radio_reg(pi
,
24955 RADIO_2056_RX_RXSPARE2
|
24956 RADIO_2056_RX1
, bias_g
);
24958 pi
->tx_rx_cal_radio_saveregs
[4] =
24960 RADIO_2056_RX_LNAG_TUNE
24965 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24968 (offtune_val
<= 0x7) ? 0xF : 0;
24971 RADIO_2056_RX_LNAG_TUNE
|
24972 RADIO_2056_RX1
, 0xF0,
24973 (offtune_val
<< 8));
24976 write_radio_reg(pi
,
24977 RADIO_2056_TX_RXIQCAL_TXMUX
|
24978 RADIO_2056_TX0
, 0x6);
24979 write_radio_reg(pi
,
24980 RADIO_2056_RX_RXIQCAL_RXMUX
|
24981 RADIO_2056_RX1
, 0x6);
24987 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
24989 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24990 if (rx_core
== PHY_CORE_0
) {
24991 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24992 write_radio_reg(pi
,
24993 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24995 tx_rx_cal_radio_saveregs
[0]);
24996 write_radio_reg(pi
,
24997 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
24999 tx_rx_cal_radio_saveregs
[1]);
25002 write_radio_reg(pi
,
25003 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
25005 tx_rx_cal_radio_saveregs
[0]);
25006 write_radio_reg(pi
,
25007 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
25009 tx_rx_cal_radio_saveregs
[1]);
25013 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25014 write_radio_reg(pi
,
25015 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
25017 tx_rx_cal_radio_saveregs
[0]);
25018 write_radio_reg(pi
,
25019 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
25021 tx_rx_cal_radio_saveregs
[1]);
25024 write_radio_reg(pi
,
25025 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
25027 tx_rx_cal_radio_saveregs
[0]);
25028 write_radio_reg(pi
,
25029 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
25031 tx_rx_cal_radio_saveregs
[1]);
25036 if (rx_core
== PHY_CORE_0
) {
25037 write_radio_reg(pi
,
25038 RADIO_2056_TX_RXIQCAL_TXMUX
|
25040 pi
->tx_rx_cal_radio_saveregs
[0]);
25042 write_radio_reg(pi
,
25043 RADIO_2056_RX_RXIQCAL_RXMUX
|
25045 pi
->tx_rx_cal_radio_saveregs
[1]);
25047 if (pi
->pubpi
.radiorev
>= 5) {
25048 write_radio_reg(pi
,
25049 RADIO_2056_RX_RXSPARE2
|
25052 tx_rx_cal_radio_saveregs
[2]);
25054 write_radio_reg(pi
,
25055 RADIO_2056_TX_TXSPARE2
|
25058 tx_rx_cal_radio_saveregs
[3]);
25061 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25062 if (pi
->pubpi
.radiorev
>= 5) {
25063 write_radio_reg(pi
,
25064 RADIO_2056_RX_LNAA_MASTER
25067 tx_rx_cal_radio_saveregs
25070 write_radio_reg(pi
,
25071 RADIO_2056_RX_LNAA_TUNE
25074 tx_rx_cal_radio_saveregs
25078 if (pi
->pubpi
.radiorev
>= 5) {
25079 write_radio_reg(pi
,
25080 RADIO_2056_RX_LNAG_MASTER
25083 tx_rx_cal_radio_saveregs
25086 write_radio_reg(pi
,
25087 RADIO_2056_RX_LNAG_TUNE
25090 tx_rx_cal_radio_saveregs
25096 write_radio_reg(pi
,
25097 RADIO_2056_TX_RXIQCAL_TXMUX
|
25099 pi
->tx_rx_cal_radio_saveregs
[0]);
25101 write_radio_reg(pi
,
25102 RADIO_2056_RX_RXIQCAL_RXMUX
|
25104 pi
->tx_rx_cal_radio_saveregs
[1]);
25106 if (pi
->pubpi
.radiorev
>= 5) {
25107 write_radio_reg(pi
,
25108 RADIO_2056_RX_RXSPARE2
|
25111 tx_rx_cal_radio_saveregs
[2]);
25113 write_radio_reg(pi
,
25114 RADIO_2056_TX_TXSPARE2
|
25117 tx_rx_cal_radio_saveregs
[3]);
25120 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25121 if (pi
->pubpi
.radiorev
>= 5) {
25122 write_radio_reg(pi
,
25123 RADIO_2056_RX_LNAA_MASTER
25126 tx_rx_cal_radio_saveregs
25129 write_radio_reg(pi
,
25130 RADIO_2056_RX_LNAA_TUNE
25133 tx_rx_cal_radio_saveregs
25137 if (pi
->pubpi
.radiorev
>= 5) {
25138 write_radio_reg(pi
,
25139 RADIO_2056_RX_LNAG_MASTER
25142 tx_rx_cal_radio_saveregs
25145 write_radio_reg(pi
,
25146 RADIO_2056_RX_LNAG_TUNE
25149 tx_rx_cal_radio_saveregs
25157 static void wlc_phy_rxcal_physetup_nphy(phy_info_t
*pi
, u8 rx_core
)
25160 uint16 rx_antval
, tx_antval
;
25162 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25166 tx_core
= (rx_core
== PHY_CORE_0
) ? 1 : 0;
25169 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa2);
25170 pi
->tx_rx_cal_phy_saveregs
[1] =
25171 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7);
25172 pi
->tx_rx_cal_phy_saveregs
[2] =
25173 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5);
25174 pi
->tx_rx_cal_phy_saveregs
[3] = read_phy_reg(pi
, 0x91);
25175 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x92);
25176 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x7a);
25177 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x7d);
25178 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0xe7);
25179 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0xec);
25180 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25181 pi
->tx_rx_cal_phy_saveregs
[11] = read_phy_reg(pi
, 0x342);
25182 pi
->tx_rx_cal_phy_saveregs
[12] = read_phy_reg(pi
, 0x343);
25183 pi
->tx_rx_cal_phy_saveregs
[13] = read_phy_reg(pi
, 0x346);
25184 pi
->tx_rx_cal_phy_saveregs
[14] = read_phy_reg(pi
, 0x347);
25187 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
25188 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
25189 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
25190 0x29b, (0x1 << 0), (0) << 0);
25192 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
25193 0x29b, (0x1 << 0), (0) << 0);
25195 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25197 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25199 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << (1 - rx_core
)) << 12);
25203 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25204 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25205 mod_phy_reg(pi
, 0xa2, (0xf << 4), (1 << rx_core
) << 4);
25206 mod_phy_reg(pi
, 0xa2, (0xf << 8), (1 << rx_core
) << 8);
25209 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25210 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25211 (0x1 << 2), (0x1 << 2));
25212 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25213 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25214 (0x1 << 0) | (0x1 << 1), 0);
25215 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25217 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25220 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 0,
25221 RADIO_MIMO_CORESEL_CORE1
|
25222 RADIO_MIMO_CORESEL_CORE2
);
25224 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25225 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
25227 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
25228 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 0, 0, 0,
25229 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25230 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 1, 0, 0,
25231 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25232 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 1, 0, 0,
25233 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25234 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0, 0,
25235 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
25236 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0, 0,
25237 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25238 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25239 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25242 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25244 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25247 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25249 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
25251 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25252 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0, 0,
25253 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25255 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 3, 0);
25258 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
25260 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25262 wlc_phy_rfctrlintc_override_nphy(pi
,
25263 NPHY_RfctrlIntc_override_TRSW
,
25267 if (rx_core
== PHY_CORE_0
) {
25275 wlc_phy_rfctrlintc_override_nphy(pi
,
25276 NPHY_RfctrlIntc_override_TRSW
,
25277 rx_antval
, rx_core
+ 1);
25278 wlc_phy_rfctrlintc_override_nphy(pi
,
25279 NPHY_RfctrlIntc_override_TRSW
,
25280 tx_antval
, tx_core
+ 1);
25284 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
25287 write_phy_reg(pi
, 0xa2, pi
->tx_rx_cal_phy_saveregs
[0]);
25288 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7,
25289 pi
->tx_rx_cal_phy_saveregs
[1]);
25290 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25291 pi
->tx_rx_cal_phy_saveregs
[2]);
25292 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[3]);
25293 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[4]);
25295 write_phy_reg(pi
, 0x7a, pi
->tx_rx_cal_phy_saveregs
[5]);
25296 write_phy_reg(pi
, 0x7d, pi
->tx_rx_cal_phy_saveregs
[6]);
25297 write_phy_reg(pi
, 0xe7, pi
->tx_rx_cal_phy_saveregs
[7]);
25298 write_phy_reg(pi
, 0xec, pi
->tx_rx_cal_phy_saveregs
[8]);
25299 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25300 write_phy_reg(pi
, 0x342, pi
->tx_rx_cal_phy_saveregs
[11]);
25301 write_phy_reg(pi
, 0x343, pi
->tx_rx_cal_phy_saveregs
[12]);
25302 write_phy_reg(pi
, 0x346, pi
->tx_rx_cal_phy_saveregs
[13]);
25303 write_phy_reg(pi
, 0x347, pi
->tx_rx_cal_phy_saveregs
[14]);
25306 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
25307 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
25311 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rx_core
,
25312 uint16
*rxgain
, u8 cal_type
)
25316 phy_iq_est_t est
[PHY_CORE_MAX
];
25318 nphy_iq_comp_t save_comp
, zero_comp
;
25319 uint32 i_pwr
, q_pwr
, curr_pwr
, optim_pwr
= 0, prev_pwr
= 0, thresh_pwr
=
25321 int16 desired_log2_pwr
, actual_log2_pwr
, delta_pwr
;
25322 bool gainctrl_done
= FALSE
;
25323 u8 mix_tia_gain
= 3;
25324 s8 optim_gaintbl_index
= 0, prev_gaintbl_index
= 0;
25325 s8 curr_gaintbl_index
= 3;
25326 u8 gainctrl_dirn
= NPHY_RXCAL_GAIN_INIT
;
25327 nphy_ipa_txrxgain_t
*nphy_rxcal_gaintbl
;
25328 uint16 hpvga
, lpf_biq1
, lpf_biq0
, lna2
, lna1
;
25329 int16 fine_gain_idx
;
25331 uint16 nphy_rxcal_txgain
[2];
25333 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25337 tx_core
= 1 - rx_core
;
25341 desired_log2_pwr
= (cal_type
== 0) ? 13 : 13;
25343 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &save_comp
);
25344 zero_comp
.a0
= zero_comp
.b0
= zero_comp
.a1
= zero_comp
.b1
= 0x0;
25345 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &zero_comp
);
25347 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25348 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25350 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25355 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25356 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz_rev7
;
25358 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz
;
25361 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25362 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz_rev7
;
25364 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz
;
25370 hpvga
= (NREV_GE(pi
->pubpi
.phy_rev
, 7)) ?
25371 0 : nphy_rxcal_gaintbl
[curr_gaintbl_index
].hpvga
;
25372 lpf_biq1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq1
;
25373 lpf_biq0
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq0
;
25374 lna2
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna2
;
25375 lna1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna1
;
25376 txpwrindex
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].txpwrindex
;
25378 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25379 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25380 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25381 ((lpf_biq1
<< 12) |
25387 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25391 (mix_tia_gain
<< 4) |
25392 (lna2
<< 2) | lna1
), 0x3,
25396 pi
->nphy_rxcal_pwr_idx
[tx_core
] = txpwrindex
;
25398 if (txpwrindex
== -1) {
25399 nphy_rxcal_txgain
[0] = 0x8ff0 | pi
->nphy_gmval
;
25400 nphy_rxcal_txgain
[1] = 0x8ff0 | pi
->nphy_gmval
;
25401 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
25403 nphy_rxcal_txgain
);
25405 wlc_phy_txpwr_index_nphy(pi
, tx_core
+ 1, txpwrindex
,
25409 wlc_phy_tx_tone_nphy(pi
, (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25410 NPHY_RXCAL_TONEFREQ_40MHz
:
25411 NPHY_RXCAL_TONEFREQ_20MHz
,
25412 NPHY_RXCAL_TONEAMP
, 0, cal_type
, FALSE
);
25414 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25415 i_pwr
= (est
[rx_core
].i_pwr
+ num_samps
/ 2) / num_samps
;
25416 q_pwr
= (est
[rx_core
].q_pwr
+ num_samps
/ 2) / num_samps
;
25417 curr_pwr
= i_pwr
+ q_pwr
;
25419 switch (gainctrl_dirn
) {
25420 case NPHY_RXCAL_GAIN_INIT
:
25421 if (curr_pwr
> thresh_pwr
) {
25422 gainctrl_dirn
= NPHY_RXCAL_GAIN_DOWN
;
25423 prev_gaintbl_index
= curr_gaintbl_index
;
25424 curr_gaintbl_index
--;
25426 gainctrl_dirn
= NPHY_RXCAL_GAIN_UP
;
25427 prev_gaintbl_index
= curr_gaintbl_index
;
25428 curr_gaintbl_index
++;
25432 case NPHY_RXCAL_GAIN_UP
:
25433 if (curr_pwr
> thresh_pwr
) {
25434 gainctrl_done
= TRUE
;
25435 optim_pwr
= prev_pwr
;
25436 optim_gaintbl_index
= prev_gaintbl_index
;
25438 prev_gaintbl_index
= curr_gaintbl_index
;
25439 curr_gaintbl_index
++;
25443 case NPHY_RXCAL_GAIN_DOWN
:
25444 if (curr_pwr
> thresh_pwr
) {
25445 prev_gaintbl_index
= curr_gaintbl_index
;
25446 curr_gaintbl_index
--;
25448 gainctrl_done
= TRUE
;
25449 optim_pwr
= curr_pwr
;
25450 optim_gaintbl_index
= curr_gaintbl_index
;
25458 if ((curr_gaintbl_index
< 0) ||
25459 (curr_gaintbl_index
> NPHY_IPA_RXCAL_MAXGAININDEX
)) {
25460 gainctrl_done
= TRUE
;
25461 optim_pwr
= curr_pwr
;
25462 optim_gaintbl_index
= prev_gaintbl_index
;
25464 prev_pwr
= curr_pwr
;
25467 wlc_phy_stopplayback_nphy(pi
);
25468 } while (!gainctrl_done
);
25470 hpvga
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].hpvga
;
25471 lpf_biq1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq1
;
25472 lpf_biq0
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq0
;
25473 lna2
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna2
;
25474 lna1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna1
;
25475 txpwrindex
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].txpwrindex
;
25477 actual_log2_pwr
= wlc_phy_nbits(optim_pwr
);
25478 delta_pwr
= desired_log2_pwr
- actual_log2_pwr
;
25480 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25481 fine_gain_idx
= (int)lpf_biq1
+ delta_pwr
;
25483 if (fine_gain_idx
+ (int)lpf_biq0
> 10) {
25484 lpf_biq1
= 10 - lpf_biq0
;
25486 lpf_biq1
= (uint16
) MAX(fine_gain_idx
, 0);
25488 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25489 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25490 ((lpf_biq1
<< 12) |
25492 (mix_tia_gain
<< 4) |
25493 (lna2
<< 2) | lna1
), 0x3,
25496 hpvga
= (uint16
) MAX(MIN(((int)hpvga
) + delta_pwr
, 10), 0);
25497 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25498 ((hpvga
<< 12) | (lpf_biq1
<< 10) |
25499 (lpf_biq0
<< 8) | (mix_tia_gain
<<
25506 if (rxgain
!= NULL
) {
25509 *rxgain
++ = mix_tia_gain
;
25510 *rxgain
++ = lpf_biq0
;
25511 *rxgain
++ = lpf_biq1
;
25515 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &save_comp
);
25519 wlc_phy_rxcal_gainctrl_nphy(phy_info_t
*pi
, u8 rx_core
, uint16
*rxgain
,
25522 wlc_phy_rxcal_gainctrl_nphy_rev5(pi
, rx_core
, rxgain
, cal_type
);
25526 wlc_phy_rc_sweep_nphy(phy_info_t
*pi
, u8 core_idx
, u8 loopback_type
)
25528 uint32 target_bws
[2] = { 9500, 21000 };
25529 uint32 ref_tones
[2] = { 3000, 6000 };
25530 uint32 target_bw
, ref_tone
;
25532 uint32 target_pwr_ratios
[2] = { 28606, 18468 };
25533 uint32 target_pwr_ratio
, pwr_ratio
, last_pwr_ratio
= 0;
25535 uint16 start_rccal_ovr_val
= 128;
25536 uint16 txlpf_rccal_lpc_ovr_val
= 128;
25537 uint16 rxlpf_rccal_hpc_ovr_val
= 159;
25539 uint16 orig_txlpf_rccal_lpc_ovr_val
;
25540 uint16 orig_rxlpf_rccal_hpc_ovr_val
;
25541 uint16 radio_addr_offset_rx
;
25542 uint16 radio_addr_offset_tx
;
25543 uint16 orig_dcBypass
;
25544 uint16 orig_RxStrnFilt40Num
[6];
25545 uint16 orig_RxStrnFilt40Den
[4];
25546 uint16 orig_rfctrloverride
[2];
25547 uint16 orig_rfctrlauxreg
[2];
25548 uint16 orig_rfctrlrssiothers
;
25549 uint16 tx_lpf_bw
= 4;
25551 uint16 rx_lpf_bw
, rx_lpf_bws
[2] = { 2, 4 };
25552 uint16 lpf_hpc
= 7, hpvga_hpc
= 7;
25555 uint16 rccal_val
, last_rccal_val
= 0, best_rccal_val
= 0;
25556 uint32 ref_iq_vals
= 0, target_iq_vals
= 0;
25557 uint16 num_samps
, log_num_samps
= 10;
25558 phy_iq_est_t est
[PHY_CORE_MAX
];
25560 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25564 num_samps
= (1 << log_num_samps
);
25566 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25567 target_bw
= target_bws
[1];
25568 target_pwr_ratio
= target_pwr_ratios
[1];
25569 ref_tone
= ref_tones
[1];
25570 rx_lpf_bw
= rx_lpf_bws
[1];
25572 target_bw
= target_bws
[0];
25573 target_pwr_ratio
= target_pwr_ratios
[0];
25574 ref_tone
= ref_tones
[0];
25575 rx_lpf_bw
= rx_lpf_bws
[0];
25578 if (core_idx
== 0) {
25579 radio_addr_offset_rx
= RADIO_2056_RX0
;
25580 radio_addr_offset_tx
=
25581 (loopback_type
== 0) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
25583 radio_addr_offset_rx
= RADIO_2056_RX1
;
25584 radio_addr_offset_tx
=
25585 (loopback_type
== 0) ? RADIO_2056_TX1
: RADIO_2056_TX0
;
25588 orig_txlpf_rccal_lpc_ovr_val
=
25590 (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
));
25591 orig_rxlpf_rccal_hpc_ovr_val
=
25593 (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25594 radio_addr_offset_rx
));
25596 orig_dcBypass
= ((read_phy_reg(pi
, 0x48) >> 8) & 1);
25598 orig_RxStrnFilt40Num
[0] = read_phy_reg(pi
, 0x267);
25599 orig_RxStrnFilt40Num
[1] = read_phy_reg(pi
, 0x268);
25600 orig_RxStrnFilt40Num
[2] = read_phy_reg(pi
, 0x269);
25601 orig_RxStrnFilt40Den
[0] = read_phy_reg(pi
, 0x26a);
25602 orig_RxStrnFilt40Den
[1] = read_phy_reg(pi
, 0x26b);
25603 orig_RxStrnFilt40Num
[3] = read_phy_reg(pi
, 0x26c);
25604 orig_RxStrnFilt40Num
[4] = read_phy_reg(pi
, 0x26d);
25605 orig_RxStrnFilt40Num
[5] = read_phy_reg(pi
, 0x26e);
25606 orig_RxStrnFilt40Den
[2] = read_phy_reg(pi
, 0x26f);
25607 orig_RxStrnFilt40Den
[3] = read_phy_reg(pi
, 0x270);
25609 orig_rfctrloverride
[0] = read_phy_reg(pi
, 0xe7);
25610 orig_rfctrloverride
[1] = read_phy_reg(pi
, 0xec);
25611 orig_rfctrlauxreg
[0] = read_phy_reg(pi
, 0xf8);
25612 orig_rfctrlauxreg
[1] = read_phy_reg(pi
, 0xfa);
25613 orig_rfctrlrssiothers
= read_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d);
25615 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25616 txlpf_rccal_lpc_ovr_val
);
25618 write_radio_reg(pi
,
25619 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25620 rxlpf_rccal_hpc_ovr_val
);
25622 mod_phy_reg(pi
, 0x48, (0x1 << 8), (0x1 << 8));
25624 write_phy_reg(pi
, 0x267, 0x02d4);
25625 write_phy_reg(pi
, 0x268, 0x0000);
25626 write_phy_reg(pi
, 0x269, 0x0000);
25627 write_phy_reg(pi
, 0x26a, 0x0000);
25628 write_phy_reg(pi
, 0x26b, 0x0000);
25629 write_phy_reg(pi
, 0x26c, 0x02d4);
25630 write_phy_reg(pi
, 0x26d, 0x0000);
25631 write_phy_reg(pi
, 0x26e, 0x0000);
25632 write_phy_reg(pi
, 0x26f, 0x0000);
25633 write_phy_reg(pi
, 0x270, 0x0000);
25635 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 8));
25636 or_phy_reg(pi
, (core_idx
== 0) ? 0xec : 0xe7, (0x1 << 15));
25637 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 9));
25638 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 10));
25640 mod_phy_reg(pi
, (core_idx
== 0) ? 0xfa : 0xf8,
25641 (0x7 << 10), (tx_lpf_bw
<< 10));
25642 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25643 (0x7 << 0), (hpvga_hpc
<< 0));
25644 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25645 (0x7 << 4), (lpf_hpc
<< 4));
25646 mod_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d,
25647 (0x7 << 8), (rx_lpf_bw
<< 8));
25649 rccal_stepsize
= 16;
25650 rccal_val
= start_rccal_ovr_val
+ rccal_stepsize
;
25652 while (rccal_stepsize
>= 0) {
25653 write_radio_reg(pi
,
25654 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25655 radio_addr_offset_rx
), rccal_val
);
25657 if (rccal_stepsize
== 16) {
25659 wlc_phy_tx_tone_nphy(pi
, ref_tone
, NPHY_RXCAL_TONEAMP
,
25663 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25665 if (core_idx
== 0) {
25667 MAX((est
[0].i_pwr
+
25668 est
[0].q_pwr
) >> (log_num_samps
+ 1),
25672 MAX((est
[1].i_pwr
+
25673 est
[1].q_pwr
) >> (log_num_samps
+ 1),
25677 wlc_phy_tx_tone_nphy(pi
, target_bw
, NPHY_RXCAL_TONEAMP
,
25682 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25684 if (core_idx
== 0) {
25686 (est
[0].i_pwr
+ est
[0].q_pwr
) >> (log_num_samps
+
25690 (est
[1].i_pwr
+ est
[1].q_pwr
) >> (log_num_samps
+
25693 pwr_ratio
= (uint
) ((target_iq_vals
<< 16) / ref_iq_vals
);
25695 if (rccal_stepsize
== 0) {
25697 } else if (rccal_stepsize
== 1) {
25698 last_rccal_val
= rccal_val
;
25699 rccal_val
+= (pwr_ratio
> target_pwr_ratio
) ? 1 : -1;
25700 last_pwr_ratio
= pwr_ratio
;
25703 rccal_stepsize
= (rccal_stepsize
>> 1);
25704 rccal_val
+= ((pwr_ratio
> target_pwr_ratio
) ?
25705 rccal_stepsize
: (-rccal_stepsize
));
25708 if (rccal_stepsize
== -1) {
25710 (ABS((int)last_pwr_ratio
- (int)target_pwr_ratio
) <
25711 ABS((int)pwr_ratio
-
25712 (int)target_pwr_ratio
)) ? last_rccal_val
:
25715 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25716 if ((best_rccal_val
> 140)
25717 || (best_rccal_val
< 135)) {
25718 best_rccal_val
= 138;
25721 if ((best_rccal_val
> 142)
25722 || (best_rccal_val
< 137)) {
25723 best_rccal_val
= 140;
25727 write_radio_reg(pi
,
25728 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25729 radio_addr_offset_rx
), best_rccal_val
);
25733 wlc_phy_stopplayback_nphy(pi
);
25735 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25736 orig_txlpf_rccal_lpc_ovr_val
);
25737 write_radio_reg(pi
,
25738 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25739 orig_rxlpf_rccal_hpc_ovr_val
);
25741 mod_phy_reg(pi
, 0x48, (0x1 << 8), (orig_dcBypass
<< 8));
25743 write_phy_reg(pi
, 0x267, orig_RxStrnFilt40Num
[0]);
25744 write_phy_reg(pi
, 0x268, orig_RxStrnFilt40Num
[1]);
25745 write_phy_reg(pi
, 0x269, orig_RxStrnFilt40Num
[2]);
25746 write_phy_reg(pi
, 0x26a, orig_RxStrnFilt40Den
[0]);
25747 write_phy_reg(pi
, 0x26b, orig_RxStrnFilt40Den
[1]);
25748 write_phy_reg(pi
, 0x26c, orig_RxStrnFilt40Num
[3]);
25749 write_phy_reg(pi
, 0x26d, orig_RxStrnFilt40Num
[4]);
25750 write_phy_reg(pi
, 0x26e, orig_RxStrnFilt40Num
[5]);
25751 write_phy_reg(pi
, 0x26f, orig_RxStrnFilt40Den
[2]);
25752 write_phy_reg(pi
, 0x270, orig_RxStrnFilt40Den
[3]);
25754 write_phy_reg(pi
, 0xe7, orig_rfctrloverride
[0]);
25755 write_phy_reg(pi
, 0xec, orig_rfctrloverride
[1]);
25756 write_phy_reg(pi
, 0xf8, orig_rfctrlauxreg
[0]);
25757 write_phy_reg(pi
, 0xfa, orig_rfctrlauxreg
[1]);
25758 write_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers
);
25760 pi
->nphy_anarxlpf_adjusted
= FALSE
;
25762 return best_rccal_val
- 0x80;
25765 #define WAIT_FOR_SCOPE 4000000
25767 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25768 u8 cal_type
, bool debug
)
25770 uint16 orig_BBConfig
;
25771 u8 core_no
, rx_core
;
25773 uint16 gain_save
[2];
25774 uint16 cal_gain
[2];
25775 nphy_iqcal_params_t cal_params
[2];
25777 s8 rxlpf_rccal_hpc
, txlpf_rccal_lpc
;
25779 bool phyhang_avoid_state
= FALSE
;
25780 bool skip_rxiqcal
= FALSE
;
25782 orig_BBConfig
= read_phy_reg(pi
, 0x01);
25783 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
25785 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
25787 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25788 phyhang_avoid_state
= pi
->phyhang_avoid
;
25789 pi
->phyhang_avoid
= FALSE
;
25792 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25794 for (core_no
= 0; core_no
<= 1; core_no
++) {
25795 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25796 &cal_params
[core_no
]);
25797 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25800 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25802 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
25804 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25807 ((rxcore_state
& (1 << rx_core
)) == 0) ? TRUE
: FALSE
;
25809 wlc_phy_rxcal_physetup_nphy(pi
, rx_core
);
25811 wlc_phy_rxcal_radio_setup_nphy(pi
, rx_core
);
25813 if ((!skip_rxiqcal
) && ((cal_type
== 0) || (cal_type
== 2))) {
25815 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
, 0);
25817 wlc_phy_tx_tone_nphy(pi
,
25818 (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25819 NPHY_RXCAL_TONEFREQ_40MHz
:
25820 NPHY_RXCAL_TONEFREQ_20MHz
,
25821 NPHY_RXCAL_TONEAMP
, 0, cal_type
,
25825 OSL_DELAY(WAIT_FOR_SCOPE
);
25827 wlc_phy_calc_rx_iq_comp_nphy(pi
, rx_core
+ 1);
25828 wlc_phy_stopplayback_nphy(pi
);
25831 if (((cal_type
== 1) || (cal_type
== 2))
25832 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25834 if (rx_core
== PHY_CORE_1
) {
25836 if (rxcore_state
== 1) {
25837 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25841 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
,
25844 best_rccal
[rx_core
] =
25845 wlc_phy_rc_sweep_nphy(pi
, rx_core
, 1);
25846 pi
->nphy_rccal_value
= best_rccal
[rx_core
];
25848 if (rxcore_state
== 1) {
25849 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25856 wlc_phy_rxcal_radio_cleanup_nphy(pi
, rx_core
);
25858 wlc_phy_rxcal_phycleanup_nphy(pi
, rx_core
);
25859 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25862 if ((cal_type
== 1) || (cal_type
== 2)) {
25864 best_rccal
[0] = best_rccal
[1];
25865 write_radio_reg(pi
,
25866 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25867 RADIO_2056_RX0
), (best_rccal
[0] | 0x80));
25869 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25871 (((int)best_rccal
[rx_core
] - 12) >> 1) + 10;
25872 txlpf_rccal_lpc
= ((int)best_rccal
[rx_core
] - 12) + 10;
25875 txlpf_rccal_lpc
+= IS40MHZ(pi
) ? 24 : 12;
25876 txlpf_idac
= IS40MHZ(pi
) ? 0x0e : 0x13;
25877 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, rx_core
,
25878 TXLPF_IDAC_4
, txlpf_idac
);
25881 rxlpf_rccal_hpc
= MAX(MIN(rxlpf_rccal_hpc
, 31), 0);
25882 txlpf_rccal_lpc
= MAX(MIN(txlpf_rccal_lpc
, 31), 0);
25884 write_radio_reg(pi
, (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25886 PHY_CORE_0
) ? RADIO_2056_RX0
:
25888 (rxlpf_rccal_hpc
| 0x80));
25890 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
|
25892 PHY_CORE_0
) ? RADIO_2056_TX0
:
25894 (txlpf_rccal_lpc
| 0x80));
25898 write_phy_reg(pi
, 0x01, orig_BBConfig
);
25900 wlc_phy_resetcca_nphy(pi
);
25902 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25903 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25904 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25907 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
25909 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25911 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
25914 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25915 pi
->phyhang_avoid
= phyhang_avoid_state
;
25918 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
25924 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25927 phy_iq_est_t est
[PHY_CORE_MAX
];
25928 u8 core_num
, rx_core
, tx_core
;
25929 uint16 lna_vals
[] = { 0x3, 0x3, 0x1 };
25930 uint16 hpf1_vals
[] = { 0x7, 0x2, 0x0 };
25931 uint16 hpf2_vals
[] = { 0x2, 0x0, 0x0 };
25932 int16 curr_hpf1
, curr_hpf2
, curr_hpf
, curr_lna
;
25933 int16 desired_log2_pwr
, actual_log2_pwr
, hpf_change
;
25934 uint16 orig_RfseqCoreActv
, orig_AfectrlCore
, orig_AfectrlOverride
;
25935 uint16 orig_RfctrlIntcRx
, orig_RfctrlIntcTx
;
25937 uint32 i_pwr
, q_pwr
, tot_pwr
[3];
25938 u8 gain_pass
, use_hpf_num
;
25939 uint16 mask
, val1
, val2
;
25941 uint16 gain_save
[2];
25942 uint16 cal_gain
[2];
25943 nphy_iqcal_params_t cal_params
[2];
25945 int bcmerror
= BCME_OK
;
25946 bool first_playtone
= TRUE
;
25948 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
25950 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
25952 wlc_phy_reapply_txcal_coeffs_nphy(pi
);
25955 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25957 for (core_no
= 0; core_no
<= 1; core_no
++) {
25958 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25959 &cal_params
[core_no
]);
25960 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25963 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25966 desired_log2_pwr
= 13;
25968 for (core_num
= 0; core_num
< 2; core_num
++) {
25970 rx_core
= core_num
;
25971 tx_core
= 1 - core_num
;
25973 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa2);
25974 orig_AfectrlCore
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25976 orig_AfectrlOverride
= read_phy_reg(pi
, 0xa5);
25977 orig_RfctrlIntcRx
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25979 orig_RfctrlIntcTx
= read_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ?
25982 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25983 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25985 or_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25986 ((0x1 << 1) | (0x1 << 2)));
25987 or_phy_reg(pi
, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25989 if (((pi
->nphy_rxcalparams
) & 0xff000000)) {
25992 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25993 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 :
25998 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25999 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 :
26003 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
26004 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x148 :
26007 mask
= RADIO_2055_COUPLE_RX_MASK
| RADIO_2055_COUPLE_TX_MASK
;
26008 if (rx_core
== PHY_CORE_0
) {
26009 val1
= RADIO_2055_COUPLE_RX_MASK
;
26010 val2
= RADIO_2055_COUPLE_TX_MASK
;
26012 val1
= RADIO_2055_COUPLE_TX_MASK
;
26013 val2
= RADIO_2055_COUPLE_RX_MASK
;
26016 if ((pi
->nphy_rxcalparams
& 0x10000)) {
26017 mod_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, mask
,
26019 mod_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, mask
,
26023 for (gain_pass
= 0; gain_pass
< 4; gain_pass
++) {
26026 OSL_DELAY(WAIT_FOR_SCOPE
);
26028 if (gain_pass
< 3) {
26029 curr_lna
= lna_vals
[gain_pass
];
26030 curr_hpf1
= hpf1_vals
[gain_pass
];
26031 curr_hpf2
= hpf2_vals
[gain_pass
];
26034 if (tot_pwr
[1] > 10000) {
26035 curr_lna
= lna_vals
[2];
26036 curr_hpf1
= hpf1_vals
[2];
26037 curr_hpf2
= hpf2_vals
[2];
26039 curr_hpf
= curr_hpf1
;
26041 wlc_phy_nbits(tot_pwr
[2]);
26043 if (tot_pwr
[0] > 10000) {
26044 curr_lna
= lna_vals
[1];
26045 curr_hpf1
= hpf1_vals
[1];
26046 curr_hpf2
= hpf2_vals
[1];
26048 curr_hpf
= curr_hpf1
;
26050 wlc_phy_nbits(tot_pwr
[1]);
26052 curr_lna
= lna_vals
[0];
26053 curr_hpf1
= hpf1_vals
[0];
26054 curr_hpf2
= hpf2_vals
[0];
26056 curr_hpf
= curr_hpf2
;
26058 wlc_phy_nbits(tot_pwr
[0]);
26062 hpf_change
= desired_log2_pwr
- actual_log2_pwr
;
26063 curr_hpf
+= hpf_change
;
26064 curr_hpf
= MAX(MIN(curr_hpf
, 10), 0);
26065 if (use_hpf_num
== 1) {
26066 curr_hpf1
= curr_hpf
;
26068 curr_hpf2
= curr_hpf
;
26072 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10),
26073 ((curr_hpf2
<< 8) |
26075 (curr_lna
<< 2)), 0x3, 0);
26076 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26078 wlc_phy_stopplayback_nphy(pi
);
26080 if (first_playtone
) {
26081 bcmerror
= wlc_phy_tx_tone_nphy(pi
, 4000,
26087 first_playtone
= FALSE
;
26090 (CHSPEC_IS40(pi
->radio_chanspec
)) ? 40 : 20;
26091 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff,
26095 if (bcmerror
== BCME_OK
) {
26096 if (gain_pass
< 3) {
26098 wlc_phy_rx_iq_est_nphy(pi
, est
,
26102 (est
[rx_core
].i_pwr
+
26103 num_samps
/ 2) / num_samps
;
26105 (est
[rx_core
].q_pwr
+
26106 num_samps
/ 2) / num_samps
;
26107 tot_pwr
[gain_pass
] = i_pwr
+ q_pwr
;
26110 wlc_phy_calc_rx_iq_comp_nphy(pi
,
26115 wlc_phy_stopplayback_nphy(pi
);
26118 if (bcmerror
!= BCME_OK
)
26122 and_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, ~mask
);
26123 and_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, ~mask
);
26125 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 :
26126 0x92, orig_RfctrlIntcTx
);
26127 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x91 :
26128 0x92, orig_RfctrlIntcRx
);
26129 write_phy_reg(pi
, 0xa5, orig_AfectrlOverride
);
26130 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 :
26131 0xa7, orig_AfectrlCore
);
26132 write_phy_reg(pi
, 0xa2, orig_RfseqCoreActv
);
26134 if (bcmerror
!= BCME_OK
)
26138 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10), 0, 0x3, 1);
26139 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26141 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
26144 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
26150 wlc_phy_cal_rxiq_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
26151 u8 cal_type
, bool debug
)
26153 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26157 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
26158 return wlc_phy_cal_rxiq_nphy_rev3(pi
, target_gain
, cal_type
,
26161 return wlc_phy_cal_rxiq_nphy_rev2(pi
, target_gain
, debug
);
26165 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26168 uint16 addr_offset
= 0x2c5;
26170 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26171 write_phy_reg(pi
, addr_offset
+ j
,
26172 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26176 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26179 uint16 addr_offset
[] = { 0x186, 0x195,
26183 for (type
= 0; type
< 3; type
++) {
26184 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26185 write_phy_reg(pi
, addr_offset
[type
] + j
,
26186 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26191 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26192 write_phy_reg(pi
, 0x186 + j
,
26193 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26196 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26197 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26198 write_phy_reg(pi
, 0x186 + j
,
26199 NPHY_IPA_REV4_txdigi_filtcoeffs
[5]
26204 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
26205 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26206 write_phy_reg(pi
, 0x2c5 + j
,
26207 NPHY_IPA_REV4_txdigi_filtcoeffs
[6]
26214 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
)
26219 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26220 write_phy_reg(pi
, 0x195 + j
,
26221 NPHY_IPA_REV4_txdigi_filtcoeffs
[4][j
]);
26224 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26225 write_phy_reg(pi
, 0x186 + j
,
26226 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26231 static uint16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
)
26235 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26240 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
)
26242 uint16 m0m1
= (uint16
) ((m0
<< 8) | m1
);
26244 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26245 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &m0m1
);
26248 static uint32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
)
26250 uint32
*tx_pwrctrl_tbl
= NULL
;
26252 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26254 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26256 if ((pi
->pubpi
.radiorev
== 4)
26257 || (pi
->pubpi
.radiorev
== 6)) {
26260 nphy_tpc_txgain_ipa_2g_2057rev4n6
;
26261 } else if (pi
->pubpi
.radiorev
== 3) {
26264 nphy_tpc_txgain_ipa_2g_2057rev3
;
26265 } else if (pi
->pubpi
.radiorev
== 5) {
26268 nphy_tpc_txgain_ipa_2g_2057rev5
;
26269 } else if ((pi
->pubpi
.radiorev
== 7)
26270 || (pi
->pubpi
.radiorev
== 8)) {
26273 nphy_tpc_txgain_ipa_2g_2057rev7
;
26278 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
26280 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev6
;
26281 if (CHIPID(pi
->sh
->chip
) == BCM47162_CHIP_ID
) {
26283 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26286 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
26288 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26291 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa
;
26296 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26297 if ((pi
->pubpi
.radiorev
== 3) ||
26298 (pi
->pubpi
.radiorev
== 4) ||
26299 (pi
->pubpi
.radiorev
== 6)) {
26301 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g_2057
;
26302 } else if ((pi
->pubpi
.radiorev
== 7)
26303 || (pi
->pubpi
.radiorev
== 8)) {
26306 nphy_tpc_txgain_ipa_5g_2057rev7
;
26312 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g
;
26316 return tx_pwrctrl_tbl
;
26320 wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
,
26325 uint16 mixgain
= 0;
26327 off_core
= core
^ 0x1;
26328 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26330 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26331 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26332 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
26333 wlc_phy_read_lpf_bw_ctl_nphy
26335 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26338 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26339 if (pi
->pubpi
.radiorev
== 5) {
26340 mixgain
= (core
== 0) ? 0x20 : 0x00;
26342 } else if ((pi
->pubpi
.radiorev
== 7)
26343 || (pi
->pubpi
.radiorev
== 8)) {
26347 } else if ((pi
->pubpi
.radiorev
<= 4)
26348 || (pi
->pubpi
.radiorev
== 6)) {
26356 if ((pi
->pubpi
.radiorev
== 4) ||
26357 (pi
->pubpi
.radiorev
== 6)) {
26360 } else if ((pi
->pubpi
.radiorev
== 3)
26361 || (pi
->pubpi
.radiorev
== 7)
26362 || (pi
->pubpi
.radiorev
== 8)) {
26370 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
26371 mixgain
, (1 << core
), 0,
26372 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26374 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26375 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26376 1, (1 << core
), 0);
26377 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26378 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26379 0, (1 << off_core
), 0);
26381 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26383 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26384 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1,
26386 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26387 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0,
26389 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26390 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1,
26392 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26393 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0,
26395 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26396 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1,
26398 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26399 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0,
26401 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26402 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1,
26404 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26406 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
26408 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26409 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0,
26411 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26413 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26415 state
->afeoverride
[core
] =
26416 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26417 state
->afectrl
[off_core
] =
26418 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa7 : 0xa6);
26419 state
->afeoverride
[off_core
] =
26420 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa5 : 0x8f);
26422 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26424 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26425 0xa5), (0x1 << 2), (0x1 << 2));
26427 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa7 : 0xa6),
26428 (0x1 << 2), (0x1 << 2));
26429 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa5 :
26430 0x8f), (0x1 << 2), (0x1 << 2));
26432 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26433 state
->pwrup
[core
] =
26434 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26435 TXRXCOUPLE_2G_PWRUP
);
26436 state
->atten
[core
] =
26437 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26438 TXRXCOUPLE_2G_ATTEN
);
26439 state
->pwrup
[off_core
] =
26440 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26441 TXRXCOUPLE_2G_PWRUP
);
26442 state
->atten
[off_core
] =
26443 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26444 TXRXCOUPLE_2G_ATTEN
);
26446 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26447 TXRXCOUPLE_2G_PWRUP
, 0xc);
26449 if ((pi
->pubpi
.radiorev
== 3) ||
26450 (pi
->pubpi
.radiorev
== 4) ||
26451 (pi
->pubpi
.radiorev
== 6)) {
26453 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26454 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26456 } else if (pi
->pubpi
.radiorev
== 5) {
26458 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26459 TXRXCOUPLE_2G_ATTEN
,
26460 (core
== 0) ? 0xf7 : 0xf2);
26462 } else if ((pi
->pubpi
.radiorev
== 7)
26463 || (pi
->pubpi
.radiorev
== 8)) {
26465 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26466 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26472 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26473 TXRXCOUPLE_2G_PWRUP
, 0x0);
26474 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26475 TXRXCOUPLE_2G_ATTEN
, 0xff);
26478 state
->pwrup
[core
] =
26479 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26480 TXRXCOUPLE_5G_PWRUP
);
26481 state
->atten
[core
] =
26482 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26483 TXRXCOUPLE_5G_ATTEN
);
26484 state
->pwrup
[off_core
] =
26485 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26486 TXRXCOUPLE_5G_PWRUP
);
26487 state
->atten
[off_core
] =
26488 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26489 TXRXCOUPLE_5G_ATTEN
);
26491 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26492 TXRXCOUPLE_5G_PWRUP
, 0xc);
26494 if ((pi
->pubpi
.radiorev
== 7)
26495 || (pi
->pubpi
.radiorev
== 8)) {
26497 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26498 TXRXCOUPLE_5G_ATTEN
, 0xf4);
26501 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26502 TXRXCOUPLE_5G_ATTEN
, 0xf0);
26505 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26506 TXRXCOUPLE_5G_PWRUP
, 0x0);
26507 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26508 TXRXCOUPLE_5G_ATTEN
, 0xff);
26513 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, FALSE
);
26515 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26516 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
26518 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26519 0x2a4, (0x1 << 13), (1) << 13);
26521 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26522 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF
) << 0);
26524 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x2a3 :
26525 0x2a4, (0x1 << 13), (0) << 13);
26529 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 0);
26531 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0, 0);
26533 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 0);
26535 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 1, 0x3, 0);
26536 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0x3, 0);
26538 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26540 state
->afeoverride
[core
] =
26541 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26543 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26544 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26545 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26549 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26551 state
->vga_master
[core
] =
26552 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
);
26553 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
, 0x2b);
26554 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26555 state
->fbmix
[core
] =
26556 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26558 state
->intpa_master
[core
] =
26559 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26562 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_G
,
26564 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26565 INTPAG_MASTER
, 0x04);
26567 state
->fbmix
[core
] =
26568 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26570 state
->intpa_master
[core
] =
26571 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26574 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_A
,
26576 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26577 INTPAA_MASTER
, 0x04);
26583 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, FALSE
);
26585 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26586 0x29b, (0x1 << 0), (1) << 0);
26588 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26589 0x29b, (0x1 << 0), (0) << 0);
26591 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
26596 wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
)
26600 wlc_phy_stopplayback_nphy(pi
);
26602 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26604 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26606 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26607 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26608 TXRXCOUPLE_2G_PWRUP
, 0);
26609 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26610 TXRXCOUPLE_2G_ATTEN
,
26611 state
->atten
[core
]);
26613 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26614 TXRXCOUPLE_5G_PWRUP
, 0);
26615 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26616 TXRXCOUPLE_5G_ATTEN
,
26617 state
->atten
[core
]);
26621 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
26622 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26624 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26626 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26628 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26630 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
26632 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26633 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26634 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26635 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 0, 0x3, 1,
26636 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26637 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1, 0x3, 1,
26638 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26639 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 0, 0x3, 1,
26640 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26641 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0x3, 1,
26642 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26643 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12), 0, 0x3, 1,
26644 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26645 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1, 0x3, 1,
26646 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26647 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26648 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26649 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0x3, 1,
26650 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26651 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0, 0x3, 1,
26652 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26653 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1, 0x3, 1,
26654 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26655 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0, 0x3, 1,
26656 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26657 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1, 0x3, 1,
26658 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26659 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0x3, 1,
26660 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26661 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0, 0x3, 1,
26662 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26664 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26666 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26667 0xa6 : 0xa7, state
->afectrl
[core
]);
26668 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26669 0xa5, state
->afeoverride
[core
]);
26672 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26673 (state
->mm
& 0xff));
26675 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26676 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26677 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
26679 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26683 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
26684 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 0x3, 1);
26685 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 1);
26687 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 0, 0x3, 1);
26688 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 0, 0x3, 1);
26690 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26692 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
,
26693 state
->vga_master
[core
]);
26694 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26695 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26696 TXFBMIX_G
, state
->fbmix
[core
]);
26697 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26699 state
->intpa_master
[core
]);
26701 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26702 TXFBMIX_A
, state
->fbmix
[core
]);
26703 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26705 state
->intpa_master
[core
]);
26708 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26709 0xa6 : 0xa7, state
->afectrl
[core
]);
26710 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26711 0xa5, state
->afeoverride
[core
]);
26714 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26715 (state
->mm
& 0xff));
26717 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 1);
26722 wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, uint32 winsz
, uint32 start
,
26725 uint32
*buf
, *src
, *dst
, sz
;
26727 sz
= end
- start
+ 1;
26728 ASSERT(end
> start
);
26729 ASSERT(end
< NPHY_PAPD_EPS_TBL_SIZE
);
26731 buf
= MALLOC(pi
->sh
->osh
, 2 * sizeof(uint32
) * NPHY_PAPD_EPS_TBL_SIZE
);
26737 dst
= buf
+ NPHY_PAPD_EPS_TBL_SIZE
;
26739 wlc_phy_table_read_nphy(pi
,
26741 PHY_CORE_0
? NPHY_TBL_ID_EPSILONTBL0
:
26742 NPHY_TBL_ID_EPSILONTBL1
),
26743 NPHY_PAPD_EPS_TBL_SIZE
, 0, 32, src
);
26746 uint32 phy_a1
, phy_a2
;
26747 int32 phy_a3
, phy_a4
, phy_a5
, phy_a6
, phy_a7
;
26749 phy_a1
= end
- MIN(end
, (winsz
>> 1));
26750 phy_a2
= MIN(NPHY_PAPD_EPS_TBL_SIZE
- 1, end
+ (winsz
>> 1));
26751 phy_a3
= phy_a2
- phy_a1
+ 1;
26756 wlc_phy_papd_decode_epsilon(src
[phy_a2
], &phy_a4
,
26760 } while (phy_a2
-- != phy_a1
);
26764 dst
[end
] = ((uint32
) phy_a7
<< 13) | ((uint32
) phy_a6
& 0x1fff);
26765 } while (end
-- != start
);
26767 wlc_phy_table_write_nphy(pi
,
26769 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
:
26770 NPHY_TBL_ID_EPSILONTBL1
, sz
, start
, 32, dst
);
26772 MFREE(pi
->sh
->osh
, buf
, 2 * sizeof(uint32
) * NPHY_PAPD_EPS_TBL_SIZE
);
26776 wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*txgains
,
26777 phy_cal_mode_t cal_mode
, u8 core
)
26779 uint16 phy_a1
, phy_a2
, phy_a3
;
26780 uint16 phy_a4
, phy_a5
;
26784 nphy_txgains_t phy_a9
;
26786 if (NREV_LT(pi
->pubpi
.phy_rev
, 3))
26789 phy_a7
= (core
== PHY_CORE_0
) ? 1 : 0;
26791 ASSERT((cal_mode
== CAL_FULL
) || (cal_mode
== CAL_GCTRL
)
26792 || (cal_mode
== CAL_SOFT
));
26793 phy_a6
= ((cal_mode
== CAL_GCTRL
)
26794 || (cal_mode
== CAL_SOFT
)) ? TRUE
: FALSE
;
26796 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26798 phy_a9
= wlc_phy_get_tx_gain_nphy(pi
);
26800 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26801 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26802 (phy_a9
.txgm
[core
] << 12) |
26803 (phy_a9
.pga
[core
] << 8) |
26804 (txgains
->gains
.pad
[core
] << 3) |
26805 (phy_a9
.ipa
[core
]));
26807 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26808 (phy_a9
.txgm
[core
] << 12) |
26809 (txgains
->gains
.pga
[core
] << 8) |
26810 (phy_a9
.pad
[core
] << 3) | (phy_a9
.ipa
[core
]));
26813 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26814 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26815 phy_a5
, (1 << core
), 0);
26817 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26818 if ((pi
->pubpi
.radiorev
<= 4)
26819 || (pi
->pubpi
.radiorev
== 6)) {
26821 m
[core
] = IS40MHZ(pi
) ? 60 : 79;
26824 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26828 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26832 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26836 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26837 if (CHIPID(pi
->sh
->chip
) == BCM6362_CHIP_ID
) {
26840 } else if ((pi
->pubpi
.radiorev
== 4)
26841 || (pi
->pubpi
.radiorev
== 6)) {
26849 if ((pi
->pubpi
.radiorev
== 5)
26850 || (pi
->pubpi
.radiorev
== 7)
26851 || (pi
->pubpi
.radiorev
== 8)) {
26860 if (cal_mode
== CAL_GCTRL
) {
26861 if ((pi
->pubpi
.radiorev
== 5)
26862 && (CHSPEC_IS2G(pi
->radio_chanspec
))) {
26864 } else if (((pi
->pubpi
.radiorev
== 7) &&
26865 (CHSPEC_IS2G(pi
->radio_chanspec
))) ||
26866 ((pi
->pubpi
.radiorev
== 8) &&
26867 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
26873 } else if ((cal_mode
!= CAL_FULL
) && (cal_mode
!= CAL_SOFT
)) {
26879 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26880 0x29b, (0x1 << 0), (1) << 0);
26882 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
26883 0x29b, (0x1 << 0), (0) << 0);
26885 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26886 0x2a4, (0x1 << 13), (1) << 13);
26888 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
26889 0x2a4, (0x1 << 13), (0) << 13);
26891 write_phy_reg(pi
, 0x2a1, 0x80);
26892 write_phy_reg(pi
, 0x2a2, 0x100);
26894 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26895 0x2a4, (0x7 << 4), (11) << 4);
26897 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26898 0x2a4, (0x7 << 8), (11) << 8);
26900 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26901 0x2a4, (0x7 << 0), (0x3) << 0);
26903 write_phy_reg(pi
, 0x2e5, 0x20);
26905 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
26907 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
26909 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
26911 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26912 1, ((core
== 0) ? 1 : 2), 0,
26913 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26914 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26915 0, ((core
== 0) ? 2 : 1), 0,
26916 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26918 write_phy_reg(pi
, 0x2be, 1);
26919 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
26921 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26923 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26925 wlc_phy_table_write_nphy(pi
,
26927 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
26928 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
26931 if (cal_mode
!= CAL_GCTRL
) {
26932 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26933 wlc_phy_a1_nphy(pi
, core
, 5, 0, 35);
26937 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26938 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26939 phy_a5
, (1 << core
), 1);
26944 if (txgains
->useindex
) {
26945 phy_a4
= 15 - ((txgains
->index
) >> 3);
26946 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26947 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
26948 phy_a5
= 0x00f7 | (phy_a4
<< 8);
26950 if (CHIPID(pi
->sh
->chip
) ==
26951 BCM47162_CHIP_ID
) {
26953 0x10f7 | (phy_a4
<<
26957 if (NREV_IS(pi
->pubpi
.phy_rev
, 5))
26958 phy_a5
= 0x10f7 | (phy_a4
<< 8);
26960 phy_a5
= 0x50f7 | (phy_a4
<< 8);
26962 phy_a5
= 0x70f7 | (phy_a4
<< 8);
26964 wlc_phy_rfctrl_override_nphy(pi
,
26969 wlc_phy_rfctrl_override_nphy(pi
,
26976 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26977 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26979 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26983 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26987 if (cal_mode
== CAL_FULL
) {
26990 } else if (cal_mode
== CAL_SOFT
) {
26993 } else if (cal_mode
== CAL_GCTRL
) {
27002 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27003 0x29b, (0x1 << 0), (1) << 0);
27005 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
27006 0x29b, (0x1 << 0), (0) << 0);
27008 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
27009 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27010 0x2a4, (0x1 << 13), (1) << 13);
27012 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
27013 0x2a4, (0x1 << 13), (0) << 13);
27015 write_phy_reg(pi
, 0x2a1, 0x20);
27016 write_phy_reg(pi
, 0x2a2, 0x60);
27018 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27019 0x2a4, (0xf << 4), (9) << 4);
27021 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27022 0x2a4, (0xf << 8), (9) << 8);
27024 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27025 0x2a4, (0xf << 0), (0x2) << 0);
27027 write_phy_reg(pi
, 0x2e5, 0x20);
27029 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27030 0x2a4, (0x1 << 11), (1) << 11);
27032 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
27033 0x2a4, (0x1 << 11), (0) << 11);
27035 write_phy_reg(pi
, 0x2a1, 0x80);
27036 write_phy_reg(pi
, 0x2a2, 0x600);
27038 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27039 0x2a4, (0x7 << 4), (0) << 4);
27041 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27042 0x2a4, (0x7 << 8), (0) << 8);
27044 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27045 0x2a4, (0x7 << 0), (0x3) << 0);
27047 mod_phy_reg(pi
, 0x2a0, (0x3f << 8), (0x20) << 8);
27051 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
27053 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
27055 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
27057 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0x3, 0);
27059 write_phy_reg(pi
, 0x2be, 1);
27060 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
27062 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
27064 wlc_phy_table_write_nphy(pi
,
27066 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
27067 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
27070 if (cal_mode
!= CAL_GCTRL
) {
27071 wlc_phy_a1_nphy(pi
, core
, 5, 0, 40);
27076 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
)
27081 nphy_ipa_txcalgains_t phy_a4
;
27082 bool phy_a5
= FALSE
;
27083 bool phy_a6
= TRUE
;
27084 int32 phy_a7
, phy_a8
;
27087 bool phy_a11
= FALSE
;
27091 u8
*phy_a15
= NULL
;
27093 phy_a4
.useindex
= TRUE
;
27094 phy_a12
= start_gain
;
27096 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27101 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27102 if (pi
->pubpi
.radiorev
== 5) {
27104 phy_a15
= pad_gain_codes_used_2057rev5
;
27105 phy_a13
= sizeof(pad_gain_codes_used_2057rev5
) /
27106 sizeof(pad_gain_codes_used_2057rev5
[0]) - 1;
27108 } else if ((pi
->pubpi
.radiorev
== 7)
27109 || (pi
->pubpi
.radiorev
== 8)) {
27111 phy_a15
= pad_gain_codes_used_2057rev7
;
27112 phy_a13
= sizeof(pad_gain_codes_used_2057rev7
) /
27113 sizeof(pad_gain_codes_used_2057rev7
[0]) - 1;
27117 phy_a15
= pad_all_gain_codes_2057
;
27118 phy_a13
= sizeof(pad_all_gain_codes_2057
) /
27119 sizeof(pad_all_gain_codes_2057
[0]) - 1;
27124 phy_a15
= pga_all_gain_codes_2057
;
27125 phy_a13
= sizeof(pga_all_gain_codes_2057
) /
27126 sizeof(pga_all_gain_codes_2057
[0]) - 1;
27131 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27132 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27133 phy_a4
.gains
.pad
[core
] =
27134 (uint16
) phy_a15
[phy_a12
];
27136 phy_a4
.gains
.pga
[core
] =
27137 (uint16
) phy_a15
[phy_a12
];
27140 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27142 wlc_phy_table_read_nphy(pi
,
27145 NPHY_TBL_ID_EPSILONTBL0
:
27146 NPHY_TBL_ID_EPSILONTBL1
), 1,
27149 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27151 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27152 (phy_a8
== 4095) || (phy_a8
== -4096));
27154 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27156 phy_a12
-= (u8
) phy_a1
;
27163 phy_a12
+= (u8
) phy_a1
;
27165 phy_a12
-= (u8
) phy_a1
;
27167 if ((phy_a12
< phy_a14
) || (phy_a12
> phy_a13
)) {
27168 if (phy_a12
< phy_a14
) {
27184 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27185 phy_a4
.index
= (u8
) phy_a12
;
27186 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27188 wlc_phy_table_read_nphy(pi
,
27191 NPHY_TBL_ID_EPSILONTBL0
:
27192 NPHY_TBL_ID_EPSILONTBL1
), 1,
27195 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27197 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27198 (phy_a8
== 4095) || (phy_a8
== -4096));
27200 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27202 phy_a12
-= (u8
) phy_a1
;
27209 phy_a12
+= (u8
) phy_a1
;
27211 phy_a12
-= (u8
) phy_a1
;
27213 if ((phy_a12
< 0) || (phy_a12
> 127)) {
27229 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27230 return (u8
) phy_a15
[phy_a12
];
27232 return (u8
) phy_a12
;
27237 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
)
27239 nphy_ipa_txcalgains_t phy_b1
[2];
27240 nphy_papd_restore_state phy_b2
;
27244 int16 phy_b6
, phy_b7
, phy_b8
;
27246 int16 phy_b10
, phy_b11
, phy_b12
;
27254 if (pi
->nphy_papd_skip
== 1)
27258 (0 == (R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
27260 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
27263 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
27265 pi
->nphy_force_papd_cal
= FALSE
;
27267 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++)
27268 pi
->nphy_papd_tx_gain_at_last_cal
[phy_b5
] =
27269 wlc_phy_txpwr_idx_cur_get_nphy(pi
, phy_b5
);
27271 pi
->nphy_papd_last_cal
= pi
->sh
->now
;
27272 pi
->nphy_papd_recal_counter
++;
27274 if (NORADIO_ENAB(pi
->pubpi
))
27277 phy_b4
= pi
->nphy_txpwrctrl
;
27278 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
27280 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL0
, 64, 0, 32,
27281 nphy_papd_scaltbl
);
27282 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL1
, 64, 0, 32,
27283 nphy_papd_scaltbl
);
27285 phy_b9
= read_phy_reg(pi
, 0x01);
27286 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
27288 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27290 for (i
= 0; i
< 64; i
++) {
27291 wlc_phy_table_write_nphy(pi
,
27294 NPHY_TBL_ID_EPSILONTBL0
:
27295 NPHY_TBL_ID_EPSILONTBL1
), 1,
27300 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi
);
27302 phy_b2
.mm
= wlc_phy_ipa_get_bbmult_nphy(pi
);
27303 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27304 wlc_phy_papd_cal_setup_nphy(pi
, &phy_b2
, phy_b5
);
27306 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27307 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27309 if ((pi
->pubpi
.radiorev
== 3)
27310 || (pi
->pubpi
.radiorev
== 4)
27311 || (pi
->pubpi
.radiorev
== 6)) {
27313 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27316 } else if (pi
->pubpi
.radiorev
== 5) {
27318 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27320 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27321 wlc_phy_a3_nphy(pi
,
27323 nphy_papd_cal_gain_index
27326 } else if ((pi
->pubpi
.radiorev
== 7)
27327 || (pi
->pubpi
.radiorev
== 8)) {
27329 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27331 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27332 wlc_phy_a3_nphy(pi
,
27334 nphy_papd_cal_gain_index
27341 phy_b1
[phy_b5
].gains
.pad
[phy_b5
] =
27342 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27345 pi
->nphy_papd_cal_gain_index
[phy_b5
] = 0;
27346 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27347 wlc_phy_a3_nphy(pi
,
27349 nphy_papd_cal_gain_index
27351 phy_b1
[phy_b5
].gains
.pga
[phy_b5
] =
27352 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27355 phy_b1
[phy_b5
].useindex
= TRUE
;
27356 phy_b1
[phy_b5
].index
= 16;
27357 phy_b1
[phy_b5
].index
=
27358 wlc_phy_a3_nphy(pi
, phy_b1
[phy_b5
].index
, phy_b5
);
27360 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27361 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27364 switch (pi
->nphy_papd_cal_type
) {
27366 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_FULL
, phy_b5
);
27369 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_SOFT
, phy_b5
);
27373 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27374 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27378 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27379 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27382 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27383 int eps_offset
= 0;
27385 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27386 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27387 if (pi
->pubpi
.radiorev
== 3) {
27389 } else if (pi
->pubpi
.radiorev
== 5) {
27398 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27399 phy_b8
= phy_b1
[phy_b5
].gains
.pad
[phy_b5
];
27401 if ((pi
->pubpi
.radiorev
== 3) ||
27402 (pi
->pubpi
.radiorev
== 4) ||
27403 (pi
->pubpi
.radiorev
== 6)) {
27406 (nphy_papd_padgain_dlt_2g_2057rev3n4
27410 } else if (pi
->pubpi
.radiorev
== 5) {
27412 -(nphy_papd_padgain_dlt_2g_2057rev5
27415 } else if ((pi
->pubpi
.radiorev
== 7) ||
27416 (pi
->pubpi
.radiorev
== 8)) {
27418 -(nphy_papd_padgain_dlt_2g_2057rev7
27425 phy_b7
= phy_b1
[phy_b5
].gains
.pga
[phy_b5
];
27426 if ((pi
->pubpi
.radiorev
== 3) ||
27427 (pi
->pubpi
.radiorev
== 4) ||
27428 (pi
->pubpi
.radiorev
== 6)) {
27430 -(nphy_papd_pgagain_dlt_5g_2057
27433 } else if ((pi
->pubpi
.radiorev
== 7)
27434 || (pi
->pubpi
.radiorev
== 8)) {
27436 -(nphy_papd_pgagain_dlt_5g_2057rev7
27446 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27448 -60 + 27 + eps_offset
+ phy_b12
+ phy_b10
;
27451 -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27454 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27455 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27457 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27459 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
27465 phy_b7
= 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27467 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27469 -(nphy_papd_pga_gain_delta_ipa_2g
[phy_b7
] +
27474 -(nphy_papd_pga_gain_delta_ipa_5g
[phy_b7
] +
27479 phy_b6
= -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27481 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27482 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27484 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27488 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
27489 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27491 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
27492 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27494 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
27495 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27496 0x2a4, (0x1 << 13), (0) << 13);
27498 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27499 0x2a4, (0x1 << 13), (0) << 13);
27502 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27503 0x2a4, (0x1 << 11), (0) << 11);
27505 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27506 0x2a4, (0x1 << 11), (0) << 11);
27509 pi
->nphy_papdcomp
= NPHY_PAPD_COMP_ON
;
27511 write_phy_reg(pi
, 0x01, phy_b9
);
27513 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
27515 wlc_phy_txpwrctrl_enable_nphy(pi
, phy_b4
);
27516 if (phy_b4
== PHY_TPC_HW_OFF
) {
27517 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
27518 (s8
) (pi
->nphy_txpwrindex
[0].
27519 index_internal
), FALSE
);
27520 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
27521 (s8
) (pi
->nphy_txpwrindex
[1].
27522 index_internal
), FALSE
);
27525 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
27528 wlapi_enable_mac(pi
->sh
->physhim
);
27532 void wlc_phy_txpwr_fixpower_nphy(phy_info_t
*pi
)
27536 uint16 rad_gain
, dac_gain
, bbmult
, m1m2
;
27537 u8 txpi
[2], chan_freq_range
;
27538 int32 rfpwr_offset
;
27540 ASSERT(pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
);
27542 if (pi
->phyhang_avoid
)
27543 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
27545 if (pi
->sh
->sromrev
< 4) {
27546 txpi
[0] = txpi
[1] = 72;
27549 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
27550 switch (chan_freq_range
) {
27551 case WL_CHAN_FREQ_RANGE_2G
:
27552 txpi
[0] = pi
->nphy_txpid2g
[0];
27553 txpi
[1] = pi
->nphy_txpid2g
[1];
27555 case WL_CHAN_FREQ_RANGE_5GL
:
27556 txpi
[0] = pi
->nphy_txpid5gl
[0];
27557 txpi
[1] = pi
->nphy_txpid5gl
[1];
27559 case WL_CHAN_FREQ_RANGE_5GM
:
27560 txpi
[0] = pi
->nphy_txpid5g
[0];
27561 txpi
[1] = pi
->nphy_txpid5g
[1];
27563 case WL_CHAN_FREQ_RANGE_5GH
:
27564 txpi
[0] = pi
->nphy_txpid5gh
[0];
27565 txpi
[1] = pi
->nphy_txpid5gh
[1];
27568 txpi
[0] = txpi
[1] = 91;
27573 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27574 txpi
[0] = txpi
[1] = 30;
27575 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27576 txpi
[0] = txpi
[1] = 40;
27579 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27581 if ((txpi
[0] < 40) || (txpi
[0] > 100) ||
27582 (txpi
[1] < 40) || (txpi
[1] > 100))
27583 txpi
[0] = txpi
[1] = 91;
27586 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal
= txpi
[0];
27587 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal
= txpi
[1];
27588 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal_save
= txpi
[0];
27589 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal_save
= txpi
[1];
27591 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
27592 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27594 uint32
*tx_gaintbl
=
27595 wlc_phy_get_ipa_gaintbl_nphy(pi
);
27596 txgain
= tx_gaintbl
[txpi
[core
]];
27598 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
27600 (pi
->pubpi
.phy_rev
, 3) {
27602 nphy_tpc_5GHz_txgain_rev3
27605 (pi
->pubpi
.phy_rev
, 4) {
27607 (pi
->srom_fem5g
.extpagain
==
27609 nphy_tpc_5GHz_txgain_HiPwrEPA
27611 nphy_tpc_5GHz_txgain_rev4
27615 nphy_tpc_5GHz_txgain_rev5
27619 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
27620 (pi
->srom_fem2g
.extpagain
== 3)) {
27622 nphy_tpc_txgain_HiPwrEPA
27626 nphy_tpc_txgain_rev3
[txpi
27632 txgain
= nphy_tpc_txgain
[txpi
[core
]];
27635 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27636 rad_gain
= (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
27638 rad_gain
= (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
27641 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27642 dac_gain
= (txgain
>> 8) & ((1 << (10 - 8 + 1)) - 1);
27644 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
27646 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
27648 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27649 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
27650 0xa5), (0x1 << 8), (0x1 << 8));
27652 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
27654 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xaa : 0xab, dac_gain
);
27656 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
27659 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27660 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
27661 m1m2
|= ((core
== PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
27662 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27665 wlc_phy_table_read_nphy(pi
,
27668 NPHY_TBL_ID_CORE1TXPWRCTL
:
27669 NPHY_TBL_ID_CORE2TXPWRCTL
), 1,
27670 576 + txpi
[core
], 32,
27673 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27674 0x29b, (0x1ff << 4),
27675 ((int16
) rfpwr_offset
) << 4);
27677 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27678 0x29b, (0x1 << 2), (1) << 2);
27683 and_phy_reg(pi
, 0xbf, (uint16
) (~(0x1f << 0)));
27685 if (pi
->phyhang_avoid
)
27686 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
27690 wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
, uint16
*pwr_offset
,
27691 u8 tmp_max_pwr
, u8 rate_start
,
27695 u8 word_num
, nibble_num
;
27698 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27699 word_num
= (rate
- rate_start
) >> 2;
27700 nibble_num
= (rate
- rate_start
) & 0x3;
27701 tmp_nibble
= (pwr_offset
[word_num
] >> 4 * nibble_num
) & 0xf;
27703 srom_max
[rate
] = tmp_max_pwr
- 2 * tmp_nibble
;
27708 wlc_phy_txpwr_nphy_po_apply(u8
*srom_max
, u8 pwr_offset
,
27709 u8 rate_start
, u8 rate_end
)
27713 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27714 srom_max
[rate
] -= 2 * pwr_offset
;
27719 wlc_phy_ofdm_to_mcs_powers_nphy(u8
*power
, u8 rate_mcs_start
,
27720 u8 rate_mcs_end
, u8 rate_ofdm_start
)
27724 rate2
= rate_ofdm_start
;
27725 for (rate1
= rate_mcs_start
; rate1
<= rate_mcs_end
- 1; rate1
++) {
27726 power
[rate1
] = power
[rate2
];
27727 rate2
+= (rate1
== rate_mcs_start
) ? 2 : 1;
27729 power
[rate_mcs_end
] = power
[rate_mcs_end
- 1];
27733 wlc_phy_mcs_to_ofdm_powers_nphy(u8
*power
, u8 rate_ofdm_start
,
27734 u8 rate_ofdm_end
, u8 rate_mcs_start
)
27738 for (rate1
= rate_ofdm_start
, rate2
= rate_mcs_start
;
27739 rate1
<= rate_ofdm_end
; rate1
++, rate2
++) {
27740 power
[rate1
] = power
[rate2
];
27741 if (rate1
== rate_ofdm_start
)
27742 power
[++rate1
] = power
[rate2
];
27746 void BCMNMIATTACHFN(wlc_phy_txpwr_apply_nphy
) (phy_info_t
*pi
)
27748 uint rate1
, rate2
, band_num
;
27749 u8 tmp_bw40po
= 0, tmp_cddpo
= 0, tmp_stbcpo
= 0;
27750 u8 tmp_max_pwr
= 0;
27751 uint16 pwr_offsets1
[2], *pwr_offsets2
= NULL
;
27752 u8
*tx_srom_max_rate
= NULL
;
27754 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27755 switch (band_num
) {
27758 tmp_max_pwr
= MIN(pi
->nphy_pwrctrl_info
[0].max_pwr_2g
,
27759 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
);
27761 pwr_offsets1
[0] = pi
->cck2gpo
;
27762 wlc_phy_txpwr_nphy_srom_convert(pi
->tx_srom_max_rate_2g
,
27768 pwr_offsets1
[0] = (uint16
) (pi
->ofdm2gpo
& 0xffff);
27770 (uint16
) (pi
->ofdm2gpo
>> 16) & 0xffff;
27772 pwr_offsets2
= pi
->mcs2gpo
;
27774 tmp_cddpo
= pi
->cdd2gpo
;
27775 tmp_stbcpo
= pi
->stbc2gpo
;
27776 tmp_bw40po
= pi
->bw402gpo
;
27778 tx_srom_max_rate
= pi
->tx_srom_max_rate_2g
;
27782 tmp_max_pwr
= MIN(pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
,
27783 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
);
27785 pwr_offsets1
[0] = (uint16
) (pi
->ofdm5gpo
& 0xffff);
27787 (uint16
) (pi
->ofdm5gpo
>> 16) & 0xffff;
27789 pwr_offsets2
= pi
->mcs5gpo
;
27791 tmp_cddpo
= pi
->cdd5gpo
;
27792 tmp_stbcpo
= pi
->stbc5gpo
;
27793 tmp_bw40po
= pi
->bw405gpo
;
27795 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_mid
;
27799 tmp_max_pwr
= MIN(pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
,
27800 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
);
27802 pwr_offsets1
[0] = (uint16
) (pi
->ofdm5glpo
& 0xffff);
27804 (uint16
) (pi
->ofdm5glpo
>> 16) & 0xffff;
27806 pwr_offsets2
= pi
->mcs5glpo
;
27808 tmp_cddpo
= pi
->cdd5glpo
;
27809 tmp_stbcpo
= pi
->stbc5glpo
;
27810 tmp_bw40po
= pi
->bw405glpo
;
27812 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_low
;
27816 tmp_max_pwr
= MIN(pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
,
27817 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
);
27819 pwr_offsets1
[0] = (uint16
) (pi
->ofdm5ghpo
& 0xffff);
27821 (uint16
) (pi
->ofdm5ghpo
>> 16) & 0xffff;
27823 pwr_offsets2
= pi
->mcs5ghpo
;
27825 tmp_cddpo
= pi
->cdd5ghpo
;
27826 tmp_stbcpo
= pi
->stbc5ghpo
;
27827 tmp_bw40po
= pi
->bw405ghpo
;
27829 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_hi
;
27833 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets1
,
27834 tmp_max_pwr
, TXP_FIRST_OFDM
,
27837 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate
,
27838 TXP_FIRST_MCS_20_SISO
,
27839 TXP_LAST_MCS_20_SISO
,
27842 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27844 TXP_FIRST_MCS_20_CDD
,
27845 TXP_LAST_MCS_20_CDD
);
27847 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27849 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27850 TXP_FIRST_MCS_20_CDD
,
27851 TXP_LAST_MCS_20_CDD
);
27854 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27855 TXP_FIRST_OFDM_20_CDD
,
27856 TXP_LAST_OFDM_20_CDD
,
27857 TXP_FIRST_MCS_20_CDD
);
27859 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27861 TXP_FIRST_MCS_20_STBC
,
27862 TXP_LAST_MCS_20_STBC
);
27864 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27866 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27868 TXP_FIRST_MCS_20_STBC
,
27869 TXP_LAST_MCS_20_STBC
);
27872 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27873 &pwr_offsets2
[2], tmp_max_pwr
,
27874 TXP_FIRST_MCS_20_SDM
,
27875 TXP_LAST_MCS_20_SDM
);
27877 if (NPHY_IS_SROM_REINTERPRET
) {
27879 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27882 TXP_FIRST_MCS_40_SISO
,
27883 TXP_LAST_MCS_40_SISO
);
27885 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27886 TXP_FIRST_OFDM_40_SISO
,
27887 TXP_LAST_OFDM_40_SISO
,
27888 TXP_FIRST_MCS_40_SISO
);
27890 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27893 TXP_FIRST_MCS_40_CDD
,
27894 TXP_LAST_MCS_40_CDD
);
27896 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27897 TXP_FIRST_MCS_40_CDD
,
27898 TXP_LAST_MCS_40_CDD
);
27900 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27901 TXP_FIRST_OFDM_40_CDD
,
27902 TXP_LAST_OFDM_40_CDD
,
27903 TXP_FIRST_MCS_40_CDD
);
27905 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27908 TXP_FIRST_MCS_40_STBC
,
27909 TXP_LAST_MCS_40_STBC
);
27911 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27913 TXP_FIRST_MCS_40_STBC
,
27914 TXP_LAST_MCS_40_STBC
);
27916 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27919 TXP_FIRST_MCS_40_SDM
,
27920 TXP_LAST_MCS_40_SDM
);
27923 for (rate1
= TXP_FIRST_OFDM_40_SISO
, rate2
=
27924 TXP_FIRST_OFDM
; rate1
<= TXP_LAST_MCS_40_SDM
;
27926 tx_srom_max_rate
[rate1
] =
27927 tx_srom_max_rate
[rate2
];
27930 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27931 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27933 TXP_FIRST_OFDM_40_SISO
,
27934 TXP_LAST_MCS_40_SDM
);
27937 tx_srom_max_rate
[TXP_MCS_32
] =
27938 tx_srom_max_rate
[TXP_FIRST_MCS_40_CDD
];
27944 static void BCMATTACHFN(wlc_phy_txpwr_srom_read_ppr_nphy
) (phy_info_t
*pi
)
27946 uint16 bw40po
, cddpo
, stbcpo
, bwduppo
;
27949 if (pi
->sh
->sromrev
>= 9) {
27954 bw40po
= (uint16
) PHY_GETINTVAR(pi
, "bw40po");
27955 pi
->bw402gpo
= bw40po
& 0xf;
27956 pi
->bw405gpo
= (bw40po
& 0xf0) >> 4;
27957 pi
->bw405glpo
= (bw40po
& 0xf00) >> 8;
27958 pi
->bw405ghpo
= (bw40po
& 0xf000) >> 12;
27960 cddpo
= (uint16
) PHY_GETINTVAR(pi
, "cddpo");
27961 pi
->cdd2gpo
= cddpo
& 0xf;
27962 pi
->cdd5gpo
= (cddpo
& 0xf0) >> 4;
27963 pi
->cdd5glpo
= (cddpo
& 0xf00) >> 8;
27964 pi
->cdd5ghpo
= (cddpo
& 0xf000) >> 12;
27966 stbcpo
= (uint16
) PHY_GETINTVAR(pi
, "stbcpo");
27967 pi
->stbc2gpo
= stbcpo
& 0xf;
27968 pi
->stbc5gpo
= (stbcpo
& 0xf0) >> 4;
27969 pi
->stbc5glpo
= (stbcpo
& 0xf00) >> 8;
27970 pi
->stbc5ghpo
= (stbcpo
& 0xf000) >> 12;
27972 bwduppo
= (uint16
) PHY_GETINTVAR(pi
, "bwduppo");
27973 pi
->bwdup2gpo
= bwduppo
& 0xf;
27974 pi
->bwdup5gpo
= (bwduppo
& 0xf0) >> 4;
27975 pi
->bwdup5glpo
= (bwduppo
& 0xf00) >> 8;
27976 pi
->bwdup5ghpo
= (bwduppo
& 0xf000) >> 12;
27978 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27979 switch (band_num
) {
27982 pi
->nphy_txpid2g
[PHY_CORE_0
] =
27983 (u8
) PHY_GETINTVAR(pi
, "txpid2ga0");
27984 pi
->nphy_txpid2g
[PHY_CORE_1
] =
27985 (u8
) PHY_GETINTVAR(pi
, "txpid2ga1");
27986 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_2g
=
27987 (s8
) PHY_GETINTVAR(pi
, "maxp2ga0");
27988 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_2g
=
27989 (s8
) PHY_GETINTVAR(pi
, "maxp2ga1");
27990 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_a1
=
27991 (int16
) PHY_GETINTVAR(pi
, "pa2gw0a0");
27992 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_a1
=
27993 (int16
) PHY_GETINTVAR(pi
, "pa2gw0a1");
27994 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b0
=
27995 (int16
) PHY_GETINTVAR(pi
, "pa2gw1a0");
27996 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b0
=
27997 (int16
) PHY_GETINTVAR(pi
, "pa2gw1a1");
27998 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b1
=
27999 (int16
) PHY_GETINTVAR(pi
, "pa2gw2a0");
28000 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b1
=
28001 (int16
) PHY_GETINTVAR(pi
, "pa2gw2a1");
28002 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_2g
=
28003 (s8
) PHY_GETINTVAR(pi
, "itt2ga0");
28004 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_2g
=
28005 (s8
) PHY_GETINTVAR(pi
, "itt2ga1");
28007 pi
->cck2gpo
= (uint16
) PHY_GETINTVAR(pi
, "cck2gpo");
28009 pi
->ofdm2gpo
= (uint32
) PHY_GETINTVAR(pi
, "ofdm2gpo");
28011 pi
->mcs2gpo
[0] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo0");
28012 pi
->mcs2gpo
[1] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo1");
28013 pi
->mcs2gpo
[2] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo2");
28014 pi
->mcs2gpo
[3] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo3");
28015 pi
->mcs2gpo
[4] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo4");
28016 pi
->mcs2gpo
[5] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo5");
28017 pi
->mcs2gpo
[6] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo6");
28018 pi
->mcs2gpo
[7] = (uint16
) PHY_GETINTVAR(pi
, "mcs2gpo7");
28022 pi
->nphy_txpid5g
[PHY_CORE_0
] =
28023 (u8
) PHY_GETINTVAR(pi
, "txpid5ga0");
28024 pi
->nphy_txpid5g
[PHY_CORE_1
] =
28025 (u8
) PHY_GETINTVAR(pi
, "txpid5ga1");
28026 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_5gm
=
28027 (s8
) PHY_GETINTVAR(pi
, "maxp5ga0");
28028 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_5gm
=
28029 (s8
) PHY_GETINTVAR(pi
, "maxp5ga1");
28030 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_a1
=
28031 (int16
) PHY_GETINTVAR(pi
, "pa5gw0a0");
28032 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_a1
=
28033 (int16
) PHY_GETINTVAR(pi
, "pa5gw0a1");
28034 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b0
=
28035 (int16
) PHY_GETINTVAR(pi
, "pa5gw1a0");
28036 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b0
=
28037 (int16
) PHY_GETINTVAR(pi
, "pa5gw1a1");
28038 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b1
=
28039 (int16
) PHY_GETINTVAR(pi
, "pa5gw2a0");
28040 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b1
=
28041 (int16
) PHY_GETINTVAR(pi
, "pa5gw2a1");
28042 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_5gm
=
28043 (s8
) PHY_GETINTVAR(pi
, "itt5ga0");
28044 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_5gm
=
28045 (s8
) PHY_GETINTVAR(pi
, "itt5ga1");
28047 pi
->ofdm5gpo
= (uint32
) PHY_GETINTVAR(pi
, "ofdm5gpo");
28049 pi
->mcs5gpo
[0] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo0");
28050 pi
->mcs5gpo
[1] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo1");
28051 pi
->mcs5gpo
[2] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo2");
28052 pi
->mcs5gpo
[3] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo3");
28053 pi
->mcs5gpo
[4] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo4");
28054 pi
->mcs5gpo
[5] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo5");
28055 pi
->mcs5gpo
[6] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo6");
28056 pi
->mcs5gpo
[7] = (uint16
) PHY_GETINTVAR(pi
, "mcs5gpo7");
28060 pi
->nphy_txpid5gl
[0] =
28061 (u8
) PHY_GETINTVAR(pi
, "txpid5gla0");
28062 pi
->nphy_txpid5gl
[1] =
28063 (u8
) PHY_GETINTVAR(pi
, "txpid5gla1");
28064 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
=
28065 (s8
) PHY_GETINTVAR(pi
, "maxp5gla0");
28066 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
=
28067 (s8
) PHY_GETINTVAR(pi
, "maxp5gla1");
28068 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
=
28069 (int16
) PHY_GETINTVAR(pi
, "pa5glw0a0");
28070 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
=
28071 (int16
) PHY_GETINTVAR(pi
, "pa5glw0a1");
28072 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
=
28073 (int16
) PHY_GETINTVAR(pi
, "pa5glw1a0");
28074 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
=
28075 (int16
) PHY_GETINTVAR(pi
, "pa5glw1a1");
28076 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
=
28077 (int16
) PHY_GETINTVAR(pi
, "pa5glw2a0");
28078 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
=
28079 (int16
) PHY_GETINTVAR(pi
, "pa5glw2a1");
28080 pi
->nphy_pwrctrl_info
[0].idle_targ_5gl
= 0;
28081 pi
->nphy_pwrctrl_info
[1].idle_targ_5gl
= 0;
28083 pi
->ofdm5glpo
= (uint32
) PHY_GETINTVAR(pi
, "ofdm5glpo");
28086 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo0");
28088 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo1");
28090 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo2");
28092 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo3");
28094 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo4");
28096 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo5");
28098 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo6");
28100 (uint16
) PHY_GETINTVAR(pi
, "mcs5glpo7");
28104 pi
->nphy_txpid5gh
[0] =
28105 (u8
) PHY_GETINTVAR(pi
, "txpid5gha0");
28106 pi
->nphy_txpid5gh
[1] =
28107 (u8
) PHY_GETINTVAR(pi
, "txpid5gha1");
28108 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
=
28109 (s8
) PHY_GETINTVAR(pi
, "maxp5gha0");
28110 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
=
28111 (s8
) PHY_GETINTVAR(pi
, "maxp5gha1");
28112 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
=
28113 (int16
) PHY_GETINTVAR(pi
, "pa5ghw0a0");
28114 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
=
28115 (int16
) PHY_GETINTVAR(pi
, "pa5ghw0a1");
28116 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
=
28117 (int16
) PHY_GETINTVAR(pi
, "pa5ghw1a0");
28118 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
=
28119 (int16
) PHY_GETINTVAR(pi
, "pa5ghw1a1");
28120 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
=
28121 (int16
) PHY_GETINTVAR(pi
, "pa5ghw2a0");
28122 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
=
28123 (int16
) PHY_GETINTVAR(pi
, "pa5ghw2a1");
28124 pi
->nphy_pwrctrl_info
[0].idle_targ_5gh
= 0;
28125 pi
->nphy_pwrctrl_info
[1].idle_targ_5gh
= 0;
28127 pi
->ofdm5ghpo
= (uint32
) PHY_GETINTVAR(pi
, "ofdm5ghpo");
28130 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo0");
28132 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo1");
28134 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo2");
28136 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo3");
28138 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo4");
28140 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo5");
28142 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo6");
28144 (uint16
) PHY_GETINTVAR(pi
, "mcs5ghpo7");
28149 wlc_phy_txpwr_apply_nphy(pi
);
28152 static bool BCMATTACHFN(wlc_phy_txpwr_srom_read_nphy
) (phy_info_t
*pi
)
28155 pi
->antswitch
= (u8
) PHY_GETINTVAR(pi
, "antswitch");
28156 pi
->aa2g
= (u8
) PHY_GETINTVAR(pi
, "aa2g");
28157 pi
->aa5g
= (u8
) PHY_GETINTVAR(pi
, "aa5g");
28159 pi
->srom_fem2g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos2g");
28160 pi
->srom_fem2g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain2g");
28161 pi
->srom_fem2g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange2g");
28162 pi
->srom_fem2g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso2g");
28163 pi
->srom_fem2g
.antswctrllut
= (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28165 pi
->srom_fem5g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos5g");
28166 pi
->srom_fem5g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain5g");
28167 pi
->srom_fem5g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange5g");
28168 pi
->srom_fem5g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso5g");
28169 if (PHY_GETVAR(pi
, "antswctl5g")) {
28171 pi
->srom_fem5g
.antswctrllut
=
28172 (u8
) PHY_GETINTVAR(pi
, "antswctl5g");
28175 pi
->srom_fem5g
.antswctrllut
=
28176 (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28179 wlc_phy_txpower_ipa_upd(pi
);
28181 pi
->phy_txcore_disable_temp
= (int16
) PHY_GETINTVAR(pi
, "tempthresh");
28182 if (pi
->phy_txcore_disable_temp
== 0) {
28183 pi
->phy_txcore_disable_temp
= PHY_CHAIN_TX_DISABLE_TEMP
;
28186 pi
->phy_tempsense_offset
= (s8
) PHY_GETINTVAR(pi
, "tempoffset");
28187 if (pi
->phy_tempsense_offset
!= 0) {
28188 if (pi
->phy_tempsense_offset
>
28189 (NPHY_SROM_TEMPSHIFT
+ NPHY_SROM_MAXTEMPOFFSET
)) {
28190 pi
->phy_tempsense_offset
= NPHY_SROM_MAXTEMPOFFSET
;
28191 } else if (pi
->phy_tempsense_offset
< (NPHY_SROM_TEMPSHIFT
+
28192 NPHY_SROM_MINTEMPOFFSET
)) {
28193 pi
->phy_tempsense_offset
= NPHY_SROM_MINTEMPOFFSET
;
28195 pi
->phy_tempsense_offset
-= NPHY_SROM_TEMPSHIFT
;
28199 pi
->phy_txcore_enable_temp
=
28200 pi
->phy_txcore_disable_temp
- PHY_HYSTERESIS_DELTATEMP
;
28202 pi
->phycal_tempdelta
= (u8
) PHY_GETINTVAR(pi
, "phycal_tempdelta");
28203 if (pi
->phycal_tempdelta
> NPHY_CAL_MAXTEMPDELTA
) {
28204 pi
->phycal_tempdelta
= 0;
28207 wlc_phy_txpwr_srom_read_ppr_nphy(pi
);
28212 void wlc_phy_txpower_recalc_target_nphy(phy_info_t
*pi
)
28214 u8 tx_pwr_ctrl_state
;
28215 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28216 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
28218 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
28220 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28221 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28222 (void)R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
);
28226 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
28228 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28229 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28232 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
)
28235 uint16 iqloCalbuf
[7];
28236 uint32 iqcomp
, locomp
, curr_locomp
;
28237 s8 locomp_i
, locomp_q
;
28238 s8 curr_locomp_i
, curr_locomp_q
;
28239 uint32 tbl_id
, tbl_len
, tbl_offset
;
28240 uint32 regval
[128];
28242 if (pi
->phyhang_avoid
)
28243 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
28245 wlc_phy_table_read_nphy(pi
, 15, 7, 80, 16, iqloCalbuf
);
28249 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28250 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28253 26) ? (((uint32
) (iqloCalbuf
[0] & 0x3ff)) << 10) |
28254 (iqloCalbuf
[1] & 0x3ff)
28255 : (((uint32
) (iqloCalbuf
[2] & 0x3ff)) << 10) |
28256 (iqloCalbuf
[3] & 0x3ff);
28258 for (idx
= 0; idx
< tbl_len
; idx
++) {
28259 regval
[idx
] = iqcomp
;
28261 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28266 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28267 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28270 (uint32
) ((tbl_id
== 26) ? iqloCalbuf
[5] : iqloCalbuf
[6]);
28271 locomp_i
= (s8
) ((locomp
>> 8) & 0xff);
28272 locomp_q
= (s8
) ((locomp
) & 0xff);
28273 for (idx
= 0; idx
< tbl_len
; idx
++) {
28274 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28275 curr_locomp_i
= locomp_i
;
28276 curr_locomp_q
= locomp_q
;
28278 curr_locomp_i
= (s8
) ((locomp_i
*
28279 nphy_tpc_loscale
[idx
] +
28282 (s8
) ((locomp_q
* nphy_tpc_loscale
[idx
] +
28285 curr_locomp
= (uint32
) ((curr_locomp_i
& 0xff) << 8);
28286 curr_locomp
|= (uint32
) (curr_locomp_q
& 0xff);
28287 regval
[idx
] = curr_locomp
;
28289 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28293 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
28295 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX1
, 0xFFFF);
28296 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX2
, 0xFFFF);
28299 if (pi
->phyhang_avoid
)
28300 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
28303 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t
*pi
)
28307 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28308 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28309 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28310 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28311 TX_SSI_MASTER
, 0x5);
28312 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28315 if (pi
->pubpi
.radiorev
!= 5)
28316 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28319 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28321 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28325 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28326 core
, TSSIG
, 0x31);
28329 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28330 TX_SSI_MASTER
, 0x9);
28331 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28333 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28336 if (pi
->pubpi
.radiorev
!= 5) {
28337 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28339 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28344 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28350 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
28352 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
28354 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
28356 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
28360 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR31
,
28361 (CHSPEC_IS2G(pi
->radio_chanspec
)) ? 0x128 :
28363 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR30
, 0x0);
28364 WRITE_RADIO_SYN(pi
, RADIO_2056
, GPIO_MASTER1
, 0x29);
28366 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28367 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_VCM_HG
,
28369 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_IDAC
,
28371 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_VCM
,
28373 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TX_AMP_DET
,
28375 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC1
,
28377 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC2
,
28379 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC3
,
28382 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28383 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28384 TX_SSI_MASTER
, 0x5);
28386 if (pi
->pubpi
.radiorev
!= 5)
28387 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28389 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
28391 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28392 core
, TSSIG
, 0x31);
28394 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28395 core
, TSSIG
, 0x11);
28397 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28400 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28401 TX_SSI_MASTER
, 0x9);
28402 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28404 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28406 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28413 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
)
28418 if (SCAN_RM_IN_PROGRESS(pi
) || PLT_INPROG_PHY(pi
) || PHY_MUTED(pi
))
28423 wlc_phy_ipa_internal_tssi_setup_nphy(pi
);
28426 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28427 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28429 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28430 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28431 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 0);
28434 wlc_phy_stopplayback_nphy(pi
);
28436 wlc_phy_tx_tone_nphy(pi
, 4000, 0, 0, 0, FALSE
);
28440 wlc_phy_poll_rssi_nphy(pi
, (u8
) NPHY_RSSI_SEL_TSSI_2G
, rssi_buf
,
28442 wlc_phy_stopplayback_nphy(pi
);
28443 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, 0);
28445 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28446 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28448 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28449 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28450 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 1);
28453 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28455 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28456 (u8
) ((int_val
>> 24) & 0xff);
28457 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28458 (u8
) ((int_val
>> 24) & 0xff);
28460 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28461 (u8
) ((int_val
>> 8) & 0xff);
28462 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28463 (u8
) ((int_val
>> 8) & 0xff);
28465 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28466 (u8
) ((int_val
>> 24) & 0xff);
28468 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28469 (u8
) ((int_val
>> 8) & 0xff);
28471 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28472 (u8
) ((int_val
>> 16) & 0xff);
28473 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28474 (u8
) ((int_val
) & 0xff);
28479 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
)
28482 int16 a1
[2], b0
[2], b1
[2];
28483 s8 target_pwr_qtrdbm
[2];
28484 int32 num
, den
, pwr_est
;
28485 u8 chan_freq_range
;
28487 uint32 tbl_id
, tbl_len
, tbl_offset
;
28491 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28492 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28493 (void)R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
);
28497 if (pi
->phyhang_avoid
)
28498 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
28500 or_phy_reg(pi
, 0x122, (0x1 << 0));
28502 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28503 and_phy_reg(pi
, 0x1e7, (uint16
) (~(0x1 << 15)));
28506 or_phy_reg(pi
, 0x1e7, (0x1 << 15));
28509 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28510 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28512 if (pi
->sh
->sromrev
< 4) {
28513 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28514 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28515 target_pwr_qtrdbm
[0] = 13 * 4;
28516 target_pwr_qtrdbm
[1] = 13 * 4;
28525 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
28526 switch (chan_freq_range
) {
28527 case WL_CHAN_FREQ_RANGE_2G
:
28528 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28529 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28530 target_pwr_qtrdbm
[0] =
28531 pi
->nphy_pwrctrl_info
[0].max_pwr_2g
;
28532 target_pwr_qtrdbm
[1] =
28533 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
;
28534 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_a1
;
28535 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_a1
;
28536 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b0
;
28537 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b0
;
28538 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b1
;
28539 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b1
;
28541 case WL_CHAN_FREQ_RANGE_5GL
:
28542 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28543 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28544 target_pwr_qtrdbm
[0] =
28545 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
;
28546 target_pwr_qtrdbm
[1] =
28547 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
;
28548 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
;
28549 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
;
28550 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
;
28551 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
;
28552 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
;
28553 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
;
28555 case WL_CHAN_FREQ_RANGE_5GM
:
28556 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28557 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28558 target_pwr_qtrdbm
[0] =
28559 pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
;
28560 target_pwr_qtrdbm
[1] =
28561 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
;
28562 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_a1
;
28563 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_a1
;
28564 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b0
;
28565 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b0
;
28566 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b1
;
28567 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b1
;
28569 case WL_CHAN_FREQ_RANGE_5GH
:
28570 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28571 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28572 target_pwr_qtrdbm
[0] =
28573 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
;
28574 target_pwr_qtrdbm
[1] =
28575 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
;
28576 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
;
28577 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
;
28578 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
;
28579 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
;
28580 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
;
28581 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
;
28584 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28585 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28586 target_pwr_qtrdbm
[0] = 13 * 4;
28587 target_pwr_qtrdbm
[1] = 13 * 4;
28598 target_pwr_qtrdbm
[0] = (s8
) pi
->tx_power_max
;
28599 target_pwr_qtrdbm
[1] = (s8
) pi
->tx_power_max
;
28601 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28602 if (pi
->srom_fem2g
.tssipos
) {
28603 or_phy_reg(pi
, 0x1e9, (0x1 << 14));
28606 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28607 for (core
= 0; core
<= 1; core
++) {
28610 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28611 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28616 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28627 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28631 radio_chanspec
)) ? 0xc : 0xe);
28632 write_radio_reg(pi
,
28633 RADIO_2056_TX_TX_SSI_MUX
|
28637 radio_chanspec
)) ? 0xc : 0xe);
28640 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28641 RADIO_2056_TX0
, 0x11);
28642 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28643 RADIO_2056_TX1
, 0x11);
28648 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28649 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28650 (void)R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
);
28654 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28655 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28656 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28658 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28659 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28662 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28663 mod_phy_reg(pi
, 0x222, (0xff << 0),
28664 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28665 } else if (NREV_GT(pi
->pubpi
.phy_rev
, 1)) {
28666 mod_phy_reg(pi
, 0x222, (0xff << 0),
28667 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28670 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28671 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28673 write_phy_reg(pi
, 0x1e8, (0x3 << 8) | (240 << 0));
28675 write_phy_reg(pi
, 0x1e9,
28676 (1 << 15) | (idle_tssi
[0] << 0) | (idle_tssi
[1] << 8));
28678 write_phy_reg(pi
, 0x1ea,
28679 (target_pwr_qtrdbm
[0] << 0) |
28680 (target_pwr_qtrdbm
[1] << 8));
28684 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28685 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28687 for (idx
= 0; idx
< tbl_len
; idx
++) {
28689 8 * (16 * b0
[tbl_id
- 26] + b1
[tbl_id
- 26] * idx
);
28690 den
= 32768 + a1
[tbl_id
- 26] * idx
;
28691 pwr_est
= MAX(((4 * num
+ den
/ 2) / den
), -8);
28692 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
28694 (uint
) (31 - idle_tssi
[tbl_id
- 26] + 1))
28697 target_pwr_qtrdbm
[tbl_id
- 26] +
28700 regval
[idx
] = (uint32
) pwr_est
;
28702 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28706 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28707 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64, 8,
28708 pi
->adj_pwr_tbl_nphy
);
28709 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64, 8,
28710 pi
->adj_pwr_tbl_nphy
);
28712 if (pi
->phyhang_avoid
)
28713 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
28716 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
)
28718 return read_phy_reg((pi
), 0x1e7) & ((0x1 << 15) |
28719 (0x1 << 14) | (0x1 << 13));
28722 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
)
28725 tmp
= read_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x1ed : 0x1ee));
28727 tmp
= (tmp
& (0x7f << 8)) >> 8;
28732 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
, u8 idx1
)
28734 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), idx0
);
28736 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28737 mod_phy_reg(pi
, 0x222, (0xff << 0), idx1
);
28740 uint16
wlc_phy_txpwr_idx_get_nphy(phy_info_t
*pi
)
28745 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28746 pwr_idx
[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_0
);
28747 pwr_idx
[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_1
);
28749 tmp
= (pwr_idx
[0] << 8) | pwr_idx
[1];
28752 ((pi
->nphy_txpwrindex
[PHY_CORE_0
].
28753 index_internal
& 0xff) << 8) | (pi
->
28756 index_internal
& 0xff);
28762 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t
*pi
)
28765 && (pi
->nphy_force_papd_cal
28766 || (wlc_phy_txpwr_ison_nphy(pi
)
28769 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 0) -
28770 pi
->nphy_papd_tx_gain_at_last_cal
[0]) >= 4)
28772 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 1) -
28773 pi
->nphy_papd_tx_gain_at_last_cal
[1]) >= 4))))) {
28774 wlc_phy_a4(pi
, TRUE
);
28778 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t
*pi
, u8 ctrl_type
)
28780 uint16 mask
= 0, val
= 0, ishw
= 0;
28787 if (pi
->phyhang_avoid
)
28788 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
28790 switch (ctrl_type
) {
28791 case PHY_TPC_HW_OFF
:
28792 case PHY_TPC_HW_ON
:
28793 pi
->nphy_txpwrctrl
= ctrl_type
;
28799 if (ctrl_type
== PHY_TPC_HW_OFF
) {
28800 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28802 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28803 for (core
= 0; core
< pi
->pubpi
.phy_corenum
;
28805 pi
->nphy_txpwr_idx
[core
] =
28806 wlc_phy_txpwr_idx_cur_get_nphy(pi
,
28815 for (ctr
= 0; ctr
< tbl_len
; ctr
++) {
28818 wlc_phy_table_write_nphy(pi
, 26, tbl_len
, tbl_offset
, 16,
28820 wlc_phy_table_write_nphy(pi
, 27, tbl_len
, tbl_offset
, 16,
28823 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28825 and_phy_reg(pi
, 0x1e7,
28826 (uint16
) (~((0x1 << 15) |
28827 (0x1 << 14) | (0x1 << 13))));
28829 and_phy_reg(pi
, 0x1e7,
28830 (uint16
) (~((0x1 << 14) | (0x1 << 13))));
28833 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28834 or_phy_reg(pi
, 0x8f, (0x1 << 8));
28835 or_phy_reg(pi
, 0xa5, (0x1 << 8));
28837 or_phy_reg(pi
, 0xa5, (0x1 << 14));
28840 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28841 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x53);
28842 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28843 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x5a);
28845 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28846 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28847 MHF1_IQSWAP_WAR
, WLC_BAND_ALL
);
28851 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64,
28852 8, pi
->adj_pwr_tbl_nphy
);
28853 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64,
28854 8, pi
->adj_pwr_tbl_nphy
);
28856 ishw
= (ctrl_type
== PHY_TPC_HW_ON
) ? 0x1 : 0x0;
28857 mask
= (0x1 << 14) | (0x1 << 13);
28858 val
= (ishw
<< 14) | (ishw
<< 13);
28860 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28861 mask
|= (0x1 << 15);
28862 val
|= (ishw
<< 15);
28865 mod_phy_reg(pi
, 0x1e7, mask
, val
);
28867 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
28868 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28869 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x32);
28870 mod_phy_reg(pi
, 0x222, (0xff << 0), 0x32);
28872 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x64);
28873 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28874 mod_phy_reg(pi
, 0x222,
28875 (0xff << 0), 0x64);
28879 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28880 if ((pi
->nphy_txpwr_idx
[0] != 128)
28881 && (pi
->nphy_txpwr_idx
[1] != 128)) {
28882 wlc_phy_txpwr_idx_cur_set_nphy(pi
,
28892 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28893 and_phy_reg(pi
, 0x8f, ~(0x1 << 8));
28894 and_phy_reg(pi
, 0xa5, ~(0x1 << 8));
28896 and_phy_reg(pi
, 0xa5, ~(0x1 << 14));
28899 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28900 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
28901 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28902 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
28904 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28905 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28906 0x0, WLC_BAND_ALL
);
28909 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
28910 0x29b, (0x1 << 2), (0) << 2);
28912 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
28913 0x29b, (0x1 << 2), (0) << 2);
28919 if (pi
->phyhang_avoid
)
28920 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
28924 wlc_phy_txpwr_index_nphy(phy_info_t
*pi
, u8 core_mask
, s8 txpwrindex
,
28927 u8 core
, txpwrctl_tbl
;
28928 uint16 tx_ind0
, iq_ind0
, lo_ind0
;
28931 uint16 rad_gain
, dac_gain
;
28934 uint16 iqcomp_a
, iqcomp_b
;
28937 u8 tx_pwr_ctrl_state
;
28938 int32 rfpwr_offset
;
28941 if (pi
->phyhang_avoid
)
28942 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
28948 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28950 if ((core_mask
& (1 << core
)) == 0) {
28954 txpwrctl_tbl
= (core
== PHY_CORE_0
) ? 26 : 27;
28956 if (txpwrindex
< 0) {
28957 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
28962 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28963 mod_phy_reg(pi
, 0x8f,
28965 pi
->nphy_txpwrindex
[core
].
28967 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
28968 pi
->nphy_txpwrindex
[core
].
28971 mod_phy_reg(pi
, 0xa5,
28973 pi
->nphy_txpwrindex
[core
].
28977 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
28979 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
);
28981 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
28982 &pi
->nphy_txpwrindex
[core
].
28985 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28986 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
28987 m1m2
|= ((core
== PHY_CORE_0
) ?
28988 (pi
->nphy_txpwrindex
[core
].bbmult
<< 8) :
28989 (pi
->nphy_txpwrindex
[core
].bbmult
<< 0));
28990 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28992 if (restore_cals
) {
28994 wlc_phy_table_write_nphy(pi
, 15, 2,
28995 (80 + 2 * core
), 16,
28997 nphy_txpwrindex
[core
].
29000 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
29003 nphy_txpwrindex
[core
].
29005 wlc_phy_table_write_nphy(pi
, 15, 1, (93 + core
),
29008 nphy_txpwrindex
[core
].
29012 wlc_phy_txpwrctrl_enable_nphy(pi
, pi
->nphy_txpwrctrl
);
29014 pi
->nphy_txpwrindex
[core
].index_internal
=
29015 pi
->nphy_txpwrindex
[core
].index_internal_save
;
29018 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
29020 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29021 mod_phy_reg(pi
, 0x8f,
29023 pi
->nphy_txpwrindex
[core
].
29025 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
29026 pi
->nphy_txpwrindex
[core
].
29029 pi
->nphy_txpwrindex
[core
].
29031 read_phy_reg(pi
, 0xa5);
29034 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
=
29037 PHY_CORE_0
) ? 0xaa : 0xab);
29039 wlc_phy_table_read_nphy(pi
, 7, 1,
29040 (0x110 + core
), 16,
29042 nphy_txpwrindex
[core
].
29045 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
29047 tmpval
>>= ((core
== PHY_CORE_0
) ? 8 : 0);
29049 pi
->nphy_txpwrindex
[core
].bbmult
=
29052 wlc_phy_table_read_nphy(pi
, 15, 2,
29053 (80 + 2 * core
), 16,
29055 nphy_txpwrindex
[core
].
29058 wlc_phy_table_read_nphy(pi
, 15, 1, (85 + core
),
29061 nphy_txpwrindex
[core
].
29064 pi
->nphy_txpwrindex
[core
].index_internal_save
=
29065 pi
->nphy_txpwrindex
[core
].index_internal
;
29068 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
29069 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
29071 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29072 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
29074 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29075 (tx_ind0
+ txpwrindex
), 32,
29078 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29080 (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
29083 (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
29085 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
29086 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
29088 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29089 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
29090 0xa5), (0x1 << 8), (0x1 << 8));
29092 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
29094 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
29095 0xaa : 0xab, dac_gain
);
29097 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
29100 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29101 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
29104 PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
29106 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29108 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29109 (iq_ind0
+ txpwrindex
), 32,
29111 iqcomp_a
= (iqcomp
>> 10) & ((1 << (19 - 10 + 1)) - 1);
29112 iqcomp_b
= (iqcomp
>> 0) & ((1 << (9 - 0 + 1)) - 1);
29114 if (restore_cals
) {
29115 regval
[0] = (uint16
) iqcomp_a
;
29116 regval
[1] = (uint16
) iqcomp_b
;
29117 wlc_phy_table_write_nphy(pi
, 15, 2,
29118 (80 + 2 * core
), 16,
29122 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29123 (lo_ind0
+ txpwrindex
), 32,
29125 if (restore_cals
) {
29126 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
29130 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29131 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
29134 wlc_phy_table_read_nphy(pi
,
29137 NPHY_TBL_ID_CORE1TXPWRCTL
29139 NPHY_TBL_ID_CORE2TXPWRCTL
),
29140 1, 576 + txpwrindex
, 32,
29143 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29144 0x29b, (0x1ff << 4),
29145 ((int16
) rfpwr_offset
) << 4);
29147 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29148 0x29b, (0x1 << 2), (1) << 2);
29152 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
29155 pi
->nphy_txpwrindex
[core
].index
= txpwrindex
;
29158 if (pi
->phyhang_avoid
)
29159 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
29163 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t
*pi
, uint chan
, u8
*max_pwr
,
29166 u8 chan_freq_range
;
29168 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, chan
);
29169 switch (chan_freq_range
) {
29170 case WL_CHAN_FREQ_RANGE_2G
:
29171 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29173 case WL_CHAN_FREQ_RANGE_5GM
:
29174 *max_pwr
= pi
->tx_srom_max_rate_5g_mid
[txp_rate_idx
];
29176 case WL_CHAN_FREQ_RANGE_5GL
:
29177 *max_pwr
= pi
->tx_srom_max_rate_5g_low
[txp_rate_idx
];
29179 case WL_CHAN_FREQ_RANGE_5GH
:
29180 *max_pwr
= pi
->tx_srom_max_rate_5g_hi
[txp_rate_idx
];
29184 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29191 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t
*pi
, bool enable
)
29193 uint16 clip_off
[] = { 0xffff, 0xffff };
29195 ASSERT(0 == (R_REG(pi
->sh
->osh
, &pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
29198 if (pi
->nphy_deaf_count
== 0) {
29199 pi
->classifier_state
=
29200 wlc_phy_classifier_nphy(pi
, 0, 0);
29201 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
29202 wlc_phy_clip_det_nphy(pi
, 0, pi
->clip_state
);
29203 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
29206 pi
->nphy_deaf_count
++;
29208 wlc_phy_resetcca_nphy(pi
);
29211 ASSERT(pi
->nphy_deaf_count
> 0);
29213 pi
->nphy_deaf_count
--;
29215 if (pi
->nphy_deaf_count
== 0) {
29216 wlc_phy_classifier_nphy(pi
, (0x7 << 0),
29217 pi
->classifier_state
);
29218 wlc_phy_clip_det_nphy(pi
, 1, pi
->clip_state
);
29223 void wlc_nphy_deaf_mode(phy_info_t
*pi
, bool mode
)
29225 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
29228 if (pi
->nphy_deaf_count
== 0)
29229 wlc_phy_stay_in_carriersearch_nphy(pi
, TRUE
);
29231 if (pi
->nphy_deaf_count
> 0)
29232 wlc_phy_stay_in_carriersearch_nphy(pi
, FALSE
);
29234 wlapi_enable_mac(pi
->sh
->physhim
);