2 * Copyright (c) 2010 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #include <linux/kernel.h>
18 #include <linux/string.h>
21 #include <linux/delay.h>
22 #include <linux/pci.h>
31 #include <wlc_phy_radio.h>
32 #include <wlc_phy_int.h>
33 #include <wlc_phyreg_n.h>
34 #include <wlc_phytbl_n.h>
36 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
37 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
38 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
39 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
40 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
41 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
42 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
43 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
45 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
46 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
47 radio_type##_##jspace##1##_##reg_name));
48 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
49 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
50 radio_type##_##jspace##1##_##reg_name), value);
51 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
52 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
53 radio_type##_##reg_name##_##jspace##1));
54 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
55 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
56 radio_type##_##reg_name##_##jspace##1), value);
58 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
59 #define NPHY_ACI_CHANNEL_DELTA 5
60 #define NPHY_ACI_CHANNEL_SKIP 4
61 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
62 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
63 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
64 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
65 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
66 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
68 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
70 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
72 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
74 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
76 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
78 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
80 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
82 #define NPHY_NOISE_ASSOC_ENTER_TH 400
84 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
86 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
87 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
89 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
91 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
93 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
95 #define NPHY_RSSICAL_MAXREAD 31
97 #define NPHY_RSSICAL_NPOLL 8
98 #define NPHY_RSSICAL_MAXD (1<<20)
99 #define NPHY_MIN_RXIQ_PWR 2
101 #define NPHY_RSSICAL_W1_TARGET 25
102 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
103 #define NPHY_RSSICAL_NB_TARGET 0
105 #define NPHY_RSSICAL_W1_TARGET_REV3 29
106 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
108 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
109 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
110 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
111 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
112 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
113 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
114 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
115 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
116 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
117 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
118 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
119 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
120 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
122 #define NPHY_IQCAL_NUMGAINS 9
123 #define NPHY_N_GCTL 0x66
125 #define NPHY_PAPD_EPS_TBL_SIZE 64
126 #define NPHY_PAPD_SCL_TBL_SIZE 64
127 #define NPHY_NUM_DIG_FILT_COEFFS 15
129 #define NPHY_PAPD_COMP_OFF 0
130 #define NPHY_PAPD_COMP_ON 1
132 #define NPHY_SROM_TEMPSHIFT 32
133 #define NPHY_SROM_MAXTEMPOFFSET 16
134 #define NPHY_SROM_MINTEMPOFFSET -16
136 #define NPHY_CAL_MAXTEMPDELTA 64
138 #define NPHY_NOISEVAR_TBLLEN40 256
139 #define NPHY_NOISEVAR_TBLLEN20 128
141 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
143 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
145 typedef struct _nphy_iqcal_params
{
153 } nphy_iqcal_params_t
;
155 typedef struct _nphy_txiqcal_ladder
{
158 } nphy_txiqcal_ladder_t
;
161 nphy_txgains_t gains
;
164 } nphy_ipa_txcalgains_t
;
166 typedef struct nphy_papd_restore_state_t
{
175 } nphy_papd_restore_state
;
177 typedef struct _nphy_ipa_txrxgain
{
184 } nphy_ipa_txrxgain_t
;
186 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
188 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz
[] = { {0, 0, 0, 0, 0, 100},
196 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz
[] = { {0, 0, 0, 0, 0, 128},
204 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7
[] = { {0, 0, 0, 0, 0, 100},
212 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7
[] = { {0, 0, 0, 0, 0, 10},
220 #define NPHY_RXCAL_TONEAMP 181
221 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
222 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
225 NPHY_RXCAL_GAIN_INIT
= 0,
230 #define wlc_phy_get_papd_nphy(pi) \
231 (read_phy_reg((pi), 0x1e7) & \
236 #define TXFILT_SHAPING_OFDM20 0
237 #define TXFILT_SHAPING_OFDM40 1
238 #define TXFILT_SHAPING_CCK 2
239 #define TXFILT_DEFAULT_OFDM20 3
240 #define TXFILT_DEFAULT_OFDM40 4
242 u16 NPHY_IPA_REV4_txdigi_filtcoeffs
[][NPHY_NUM_DIG_FILT_COEFFS
] = {
243 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
244 230, -44, 230, 201, -191, 201},
245 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
247 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
248 121, -73, 121, 91, 124, 91},
249 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
250 151, 301, 151, 602, -752, 602},
251 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
252 12, 25, 12, 13, 27, 13},
253 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
254 230, -44, 230, 201, -191, 201},
255 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
256 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
259 typedef struct _chan_info_nphy_2055
{
275 u8 RF_core1_lgbuf_a_tune
;
276 u8 RF_core1_lgbuf_g_tune
;
277 u8 RF_core1_rxrf_reg1
;
278 u8 RF_core1_tx_pga_pad_tn
;
279 u8 RF_core1_tx_mx_bgtrim
;
280 u8 RF_core2_lgbuf_a_tune
;
281 u8 RF_core2_lgbuf_g_tune
;
282 u8 RF_core2_rxrf_reg1
;
283 u8 RF_core2_tx_pga_pad_tn
;
284 u8 RF_core2_tx_mx_bgtrim
;
291 } chan_info_nphy_2055_t
;
293 typedef struct _chan_info_nphy_radio205x
{
296 u8 RF_SYN_pll_vcocal1
;
297 u8 RF_SYN_pll_vcocal2
;
298 u8 RF_SYN_pll_refdiv
;
301 u8 RF_SYN_pll_loopfilter1
;
302 u8 RF_SYN_pll_loopfilter2
;
303 u8 RF_SYN_pll_loopfilter3
;
304 u8 RF_SYN_pll_loopfilter4
;
305 u8 RF_SYN_pll_loopfilter5
;
306 u8 RF_SYN_reserved_addr27
;
307 u8 RF_SYN_reserved_addr28
;
308 u8 RF_SYN_reserved_addr29
;
309 u8 RF_SYN_logen_VCOBUF1
;
310 u8 RF_SYN_logen_MIXER2
;
311 u8 RF_SYN_logen_BUF3
;
312 u8 RF_SYN_logen_BUF4
;
315 u8 RF_TX0_intpaa_boost_tune
;
316 u8 RF_TX0_intpag_boost_tune
;
317 u8 RF_TX0_pada_boost_tune
;
318 u8 RF_TX0_padg_boost_tune
;
319 u8 RF_TX0_pgaa_boost_tune
;
320 u8 RF_TX0_pgag_boost_tune
;
321 u8 RF_TX0_mixa_boost_tune
;
322 u8 RF_TX0_mixg_boost_tune
;
325 u8 RF_TX1_intpaa_boost_tune
;
326 u8 RF_TX1_intpag_boost_tune
;
327 u8 RF_TX1_pada_boost_tune
;
328 u8 RF_TX1_padg_boost_tune
;
329 u8 RF_TX1_pgaa_boost_tune
;
330 u8 RF_TX1_pgag_boost_tune
;
331 u8 RF_TX1_mixa_boost_tune
;
332 u8 RF_TX1_mixg_boost_tune
;
339 } chan_info_nphy_radio205x_t
;
341 typedef struct _chan_info_nphy_radio2057
{
344 u8 RF_vcocal_countval0
;
345 u8 RF_vcocal_countval1
;
346 u8 RF_rfpll_refmaster_sparextalsize
;
347 u8 RF_rfpll_loopfilter_r1
;
348 u8 RF_rfpll_loopfilter_c2
;
349 u8 RF_rfpll_loopfilter_c1
;
354 u8 RF_logen_mx2g_tune
;
355 u8 RF_logen_mx5g_tune
;
356 u8 RF_logen_indbuf2g_tune
;
357 u8 RF_logen_indbuf5g_tune
;
358 u8 RF_txmix2g_tune_boost_pu_core0
;
359 u8 RF_pad2g_tune_pus_core0
;
360 u8 RF_pga_boost_tune_core0
;
361 u8 RF_txmix5g_boost_tune_core0
;
362 u8 RF_pad5g_tune_misc_pus_core0
;
363 u8 RF_lna2g_tune_core0
;
364 u8 RF_lna5g_tune_core0
;
365 u8 RF_txmix2g_tune_boost_pu_core1
;
366 u8 RF_pad2g_tune_pus_core1
;
367 u8 RF_pga_boost_tune_core1
;
368 u8 RF_txmix5g_boost_tune_core1
;
369 u8 RF_pad5g_tune_misc_pus_core1
;
370 u8 RF_lna2g_tune_core1
;
371 u8 RF_lna5g_tune_core1
;
378 } chan_info_nphy_radio2057_t
;
380 typedef struct _chan_info_nphy_radio2057_rev5
{
383 u8 RF_vcocal_countval0
;
384 u8 RF_vcocal_countval1
;
385 u8 RF_rfpll_refmaster_sparextalsize
;
386 u8 RF_rfpll_loopfilter_r1
;
387 u8 RF_rfpll_loopfilter_c2
;
388 u8 RF_rfpll_loopfilter_c1
;
393 u8 RF_logen_mx2g_tune
;
394 u8 RF_logen_indbuf2g_tune
;
395 u8 RF_txmix2g_tune_boost_pu_core0
;
396 u8 RF_pad2g_tune_pus_core0
;
397 u8 RF_lna2g_tune_core0
;
398 u8 RF_txmix2g_tune_boost_pu_core1
;
399 u8 RF_pad2g_tune_pus_core1
;
400 u8 RF_lna2g_tune_core1
;
407 } chan_info_nphy_radio2057_rev5_t
;
409 typedef struct nphy_sfo_cfg
{
418 static chan_info_nphy_2055_t chan_info_nphy_2055
[] = {
420 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
421 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
422 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
424 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
425 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
426 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
428 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
429 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
430 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
432 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
433 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
434 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
436 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
437 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
438 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
440 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
441 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
442 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
444 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
445 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
446 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
448 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
449 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
450 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
452 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
453 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
454 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
456 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
457 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
458 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
460 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
461 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
462 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
464 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
465 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
466 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
468 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
469 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
470 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
472 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
473 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
474 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
476 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
477 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
478 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
480 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
481 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
482 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
484 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
485 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
486 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
488 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
489 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
490 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
492 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
493 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
494 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
496 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
497 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
498 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
500 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
501 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
502 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
504 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
505 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
506 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
508 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
509 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
510 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
512 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
513 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
514 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
516 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
517 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
518 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
520 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
521 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
522 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
524 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
525 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
526 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
528 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
529 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
530 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
532 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
533 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
534 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
536 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
537 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
538 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
540 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
541 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
542 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
544 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
545 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
546 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
548 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
549 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
550 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
552 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
553 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
554 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
556 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
557 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
558 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
560 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
561 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
562 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
564 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
565 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
566 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
568 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
569 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
570 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
572 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
573 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
574 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
576 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
577 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
578 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
580 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
581 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
582 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
584 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
585 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
586 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
588 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
589 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
590 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
592 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
593 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
594 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
596 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
597 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
598 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
600 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
601 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
602 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
604 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
605 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
606 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
608 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
609 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
610 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
612 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
613 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
614 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
616 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
617 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
618 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
620 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
621 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
622 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
624 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
625 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
626 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
628 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
629 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
630 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
632 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
633 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
634 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
636 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
637 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
638 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
640 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
641 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
642 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
644 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
645 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
646 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
648 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
649 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
650 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
652 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
653 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
654 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
656 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
657 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
658 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
660 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
661 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
662 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
664 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
665 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
666 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
668 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
669 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
670 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
672 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
673 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
674 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
676 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
677 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
678 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
680 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
681 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
682 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
684 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
685 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
686 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
688 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
689 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
690 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
692 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
693 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
694 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
696 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
697 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
698 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
700 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
701 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
702 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
704 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
705 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
706 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
708 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
709 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
710 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
712 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
713 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
714 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
716 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
717 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
718 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
720 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
721 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
722 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
724 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
725 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
726 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
728 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
729 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
730 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
732 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
733 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
734 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
736 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
737 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
738 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
740 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
741 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
742 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
744 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
745 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
746 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
748 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
749 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
750 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
752 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
753 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
754 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
756 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
757 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
758 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
760 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
761 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
762 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
764 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
765 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
766 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
768 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
769 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
770 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
772 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
773 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
774 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
776 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
777 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
778 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
780 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
781 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
782 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
784 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
785 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
786 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
788 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
789 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
790 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
792 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
793 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
794 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
796 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
797 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
798 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
800 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
801 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
802 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
804 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
805 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
806 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
808 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
809 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
810 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
812 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
813 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
814 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
816 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
817 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
818 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
820 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
821 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
822 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
824 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
825 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
826 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
828 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
829 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
830 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
832 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
833 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
834 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
836 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
837 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
838 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
840 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
841 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
842 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
844 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
845 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
846 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
848 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
849 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
850 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
852 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
853 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
854 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
856 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
857 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
858 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
860 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
861 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
862 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
864 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
865 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
866 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
868 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
869 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
870 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
872 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
873 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
874 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
876 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
877 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
878 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
880 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
881 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
882 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
884 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
885 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
886 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
888 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
889 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
890 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
892 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
893 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
894 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
896 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
897 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
898 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
900 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
901 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
902 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
904 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
905 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
906 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
908 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
909 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
910 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
912 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
913 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
914 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
917 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056
[] = {
919 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
920 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
921 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
922 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
924 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
925 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
926 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
927 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
929 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
930 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
931 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
932 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
934 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
935 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
936 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
937 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
939 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
940 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
941 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
942 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
944 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
945 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
946 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
947 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
949 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
950 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
951 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
952 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
954 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
955 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
956 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
957 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
959 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
960 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
961 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
962 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
964 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
965 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
966 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
967 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
969 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
970 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
971 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
972 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
974 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
975 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
976 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
977 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
979 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
980 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
981 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
982 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
984 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
985 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
986 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
987 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
989 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
990 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
991 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
992 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
994 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
995 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
996 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
997 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
999 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1000 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1001 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1002 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1004 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1005 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1006 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1007 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1009 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1010 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1011 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1012 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1014 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1015 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1016 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1017 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1019 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1020 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1021 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1022 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1024 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1025 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1026 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1027 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1029 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1030 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1031 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1032 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1034 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1035 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1036 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1037 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1039 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1040 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1041 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1042 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1044 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1045 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1046 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1047 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1049 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1050 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1051 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1052 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1054 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1055 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1056 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1057 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1059 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1060 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1061 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1062 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1064 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1065 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1066 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1067 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1069 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1070 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1071 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1072 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1074 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1075 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1076 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1077 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1079 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1080 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1081 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1082 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1084 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1085 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1086 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1087 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1089 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1090 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1091 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1092 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1094 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1095 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1096 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1097 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1099 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1100 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1101 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1102 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1104 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1105 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1106 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1107 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1109 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1110 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1111 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1112 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1114 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1115 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1116 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1117 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1119 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1120 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1121 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1122 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1124 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1125 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1126 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1127 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1129 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1130 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1131 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1132 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1134 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1135 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1136 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1137 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1139 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1140 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1141 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1142 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1144 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1145 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1146 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1147 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1149 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1150 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1151 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1152 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1154 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1155 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1156 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1157 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1159 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1160 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1161 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1162 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1164 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1165 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1166 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1167 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1169 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1170 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1171 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1172 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1174 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1175 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1176 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1177 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1179 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1180 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1181 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1182 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1184 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1185 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1186 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1187 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1189 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1190 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1191 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1192 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1194 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1195 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1196 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1197 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1199 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1200 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1201 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1202 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1204 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1205 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1206 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1207 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1209 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1210 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1211 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1212 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1214 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1215 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1216 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1217 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1219 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1220 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1221 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1222 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1224 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1225 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1226 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1227 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1229 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1230 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1231 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1232 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1234 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1235 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1236 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1237 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1239 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1240 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1241 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1242 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1244 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1245 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1246 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1247 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1249 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1250 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1251 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1252 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1254 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1255 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1256 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1257 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1259 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1260 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1261 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1262 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1264 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1265 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1266 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1267 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1269 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1270 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1271 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1272 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1274 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1275 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1276 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1277 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1279 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1280 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1281 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1282 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1284 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1285 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1286 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1287 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1289 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1290 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1291 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1292 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1294 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1295 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1296 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1297 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1299 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1300 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1301 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1302 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1304 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1305 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1306 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1307 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1309 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1310 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1311 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1312 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1314 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1315 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1316 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1317 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1319 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1320 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1321 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1322 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1324 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1325 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1326 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1327 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1329 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1330 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1331 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1332 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1334 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1335 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1336 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1337 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1339 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1340 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1341 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1342 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1344 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1345 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1346 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1347 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1349 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1350 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1351 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1352 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1354 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1355 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1356 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1357 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1359 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1360 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1361 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1362 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1364 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1365 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1366 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1367 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1369 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1370 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1371 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1372 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1374 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1375 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1376 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1377 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1379 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1380 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1381 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1382 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1384 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1385 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1386 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1387 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1389 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1390 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1391 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1392 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1394 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1395 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1396 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1397 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1399 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1400 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1401 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1402 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1404 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1405 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1406 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1407 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1409 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1410 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1411 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1412 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1414 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1415 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1416 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1417 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1419 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1420 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1421 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1422 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1424 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1425 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1426 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1427 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1429 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1430 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1431 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1432 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1434 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1435 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1436 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1437 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1439 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1440 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1441 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1442 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1444 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1445 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1446 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1447 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1449 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1450 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1451 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1452 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1454 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1455 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1456 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1457 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1459 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1460 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1461 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1462 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1464 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1465 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1466 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1467 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1469 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1470 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1471 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1472 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1474 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1475 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1476 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1477 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1479 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1480 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1481 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1482 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1484 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1485 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1486 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1487 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1489 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1490 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1491 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1492 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1494 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1495 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1496 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1497 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1499 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1500 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1501 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1502 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1504 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1505 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1506 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1507 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1509 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1510 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1511 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1512 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1514 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1515 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1516 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1517 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1519 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1520 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1521 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1522 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1524 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1525 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1526 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1527 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1529 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1530 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1531 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1532 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1534 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1535 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1536 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1537 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1540 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1
[] = {
1542 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1543 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1544 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1545 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1547 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1548 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1549 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1550 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1552 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1553 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1554 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1555 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1557 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1558 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1559 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1560 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1562 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1563 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1564 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1565 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1567 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1568 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1569 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1570 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1572 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1573 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1574 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1575 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1577 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1578 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1579 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1580 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1582 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1583 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1584 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1585 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1587 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1588 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1589 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1590 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1592 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1593 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1594 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1595 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1597 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1598 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1599 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1600 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1602 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1603 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1604 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1605 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1607 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1608 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1609 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1610 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1612 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1613 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1614 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1615 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1617 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1618 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1619 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1620 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1622 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1623 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1624 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1625 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1627 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1628 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1629 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1630 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1632 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1633 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1634 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1635 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1637 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1638 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1639 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1640 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1642 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1643 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1644 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1645 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1647 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1648 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1649 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1650 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1652 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1653 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1654 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1655 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1657 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1658 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1659 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1660 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1662 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1663 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1664 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1665 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1667 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1668 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1669 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1670 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1672 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1673 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1674 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1675 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1677 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1678 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1679 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1680 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1682 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1683 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1684 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1685 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1687 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1688 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1689 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1690 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1692 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1693 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1694 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1695 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1697 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1698 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1699 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1700 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1702 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1703 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1704 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1705 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1707 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1708 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1709 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1710 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1712 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1713 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1714 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1715 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1717 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1718 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1719 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1720 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1722 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1723 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1724 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1725 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1727 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1728 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1729 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1730 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1732 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1733 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1734 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1735 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1737 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1738 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1739 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1740 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1742 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1743 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1744 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1745 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1747 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1748 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1749 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1750 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1752 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1753 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1754 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1755 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1757 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1758 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1759 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1760 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1762 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1763 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1764 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1765 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1767 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1768 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1769 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1770 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1772 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1773 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1774 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1775 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1777 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1778 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1779 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1780 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1782 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1783 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1784 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1785 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1787 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1788 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1789 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1790 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1792 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1793 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1794 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1795 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1797 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1798 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1799 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1800 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1802 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1803 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1804 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1805 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1807 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1808 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1809 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1810 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1812 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1813 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1814 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1815 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1817 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1818 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1819 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1820 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1822 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1823 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1824 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1825 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1827 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1828 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1829 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1830 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1832 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1833 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1834 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1835 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1837 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1838 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1839 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1840 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1842 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1843 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1844 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1845 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1847 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1848 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1849 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1850 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1852 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1853 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1854 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1855 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1857 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1858 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1859 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1860 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1862 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1863 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1864 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1865 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1867 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1868 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1869 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1870 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1872 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1873 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1874 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1875 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1877 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1878 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1879 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1880 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1882 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1883 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1884 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1885 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1887 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1888 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1889 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1890 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1892 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1893 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1894 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1895 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1897 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1898 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1899 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1900 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1902 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1903 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1904 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1905 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1907 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1908 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1909 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1910 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1912 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1913 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1914 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1915 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1917 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1918 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1919 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1920 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1922 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1923 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1924 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1925 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1927 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1928 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1929 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1930 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1932 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1933 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1934 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1935 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1937 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1938 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1939 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1940 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1942 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1943 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1944 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1945 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1947 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1948 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1949 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1950 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1952 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1953 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1954 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1955 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1957 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1958 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1959 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1960 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1962 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1963 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1964 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1965 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1967 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1968 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1969 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1970 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1972 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1973 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1974 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1975 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1977 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1978 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1979 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1980 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1982 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1983 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1984 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1985 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1987 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1988 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1989 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1990 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1992 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1993 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1994 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1995 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1997 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1998 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1999 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2000 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2002 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2003 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2004 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2005 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2007 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2008 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2009 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2010 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2012 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2013 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2014 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2015 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2017 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2018 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2019 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2020 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2022 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2023 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2024 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2025 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2027 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2028 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2029 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2030 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2032 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2033 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2034 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2035 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2037 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2038 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2039 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2040 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2042 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2043 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2044 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2045 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2047 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2048 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2049 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2050 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2052 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2053 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2054 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2055 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2057 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2058 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2059 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2060 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2062 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2063 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2064 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2065 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2067 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2068 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2069 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2070 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2072 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2073 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2074 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2075 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2077 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2078 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2079 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2080 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2082 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2083 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2084 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2085 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2087 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2088 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2089 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2090 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2092 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2093 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2094 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2095 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2097 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2098 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2099 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2100 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2102 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2103 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2104 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2105 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2107 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2108 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2109 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2110 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2112 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2113 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2114 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2115 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2117 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2118 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2119 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2120 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2122 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2123 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2124 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2125 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2127 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2128 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2129 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2130 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2132 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2133 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2134 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2135 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2137 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2138 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2139 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2140 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2142 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2143 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2144 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2145 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2147 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2148 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2149 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2150 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2152 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2153 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2154 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2155 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2157 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2158 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2159 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2160 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2163 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5
[] = {
2165 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2166 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2167 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2168 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2170 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2171 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2172 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2173 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2175 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2176 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2177 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2178 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2180 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2181 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2182 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2183 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2185 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2186 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2187 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2188 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2190 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2191 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2192 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2193 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2195 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2196 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2197 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2198 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2200 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2201 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2202 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2203 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2205 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2206 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2207 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2208 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2210 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2211 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2212 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2213 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2215 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2216 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2217 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2218 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2220 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2221 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2222 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2223 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2225 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2226 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2227 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2228 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2230 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2231 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2232 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2233 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2235 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2236 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2237 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2238 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2240 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2241 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2242 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2243 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2245 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2246 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2247 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2248 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2250 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2251 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2252 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2253 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2255 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2256 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2257 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2258 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2260 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2261 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2262 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2263 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2265 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2266 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2267 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2268 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2270 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2271 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2272 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2273 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2275 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2276 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2277 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2278 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2280 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2281 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2282 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2283 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2285 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2286 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2287 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2288 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2290 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2291 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2292 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2293 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2295 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2296 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2297 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2298 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2300 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2301 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2302 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2303 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2305 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2306 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2307 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2308 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2310 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2311 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2312 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2313 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2315 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2316 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2317 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2318 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2320 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2321 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2322 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2323 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2325 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2326 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2327 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2328 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2330 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2331 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2332 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2333 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2335 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2336 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2337 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2338 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2340 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2341 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2342 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2343 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2345 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2346 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2347 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2348 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2350 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2351 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2352 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2353 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2355 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2356 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2357 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2358 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2360 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2361 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2362 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2363 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2365 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2366 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2367 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2368 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2370 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2371 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2372 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2373 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2375 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2376 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2377 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2378 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2380 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2381 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2382 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2383 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2385 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2386 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2387 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2388 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2390 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2391 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2392 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2393 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2395 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2396 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2397 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2398 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2400 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2401 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2402 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2403 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2405 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2406 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2407 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2408 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2410 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2411 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2412 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2413 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2415 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2416 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2417 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2418 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2420 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2421 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2422 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2423 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2425 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2426 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2427 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2428 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2430 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2431 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2432 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2433 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2435 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2436 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2437 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2438 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2440 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2441 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2442 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2443 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2445 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2446 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2447 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2448 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2450 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2451 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2452 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2453 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2455 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2456 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2457 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2458 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2460 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2461 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2462 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2463 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2465 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2466 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2467 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2468 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2470 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2471 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2472 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2473 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2475 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2476 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2477 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2478 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2480 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2481 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2482 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2483 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2485 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2486 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2487 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2488 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2490 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2491 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2492 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2493 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2495 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2496 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2497 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2498 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2500 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2501 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2502 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2503 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2505 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2506 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2507 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2508 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2510 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2511 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2512 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2513 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2515 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2516 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2517 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2518 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2520 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2521 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2522 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2523 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2525 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2526 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2527 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2528 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2530 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2531 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2532 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2533 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2535 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2536 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2537 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2538 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2540 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2541 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2542 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2543 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2545 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2546 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2547 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2548 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2550 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2551 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2552 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2553 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2555 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2556 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2557 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2558 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2560 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2561 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2562 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2563 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2565 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2566 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2567 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2568 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2570 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2571 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2572 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2573 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2575 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2576 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2577 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2578 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2580 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2581 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2582 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2583 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2585 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2586 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2587 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2588 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2590 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2591 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2592 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2593 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2595 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2596 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2597 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2598 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2600 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2601 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2602 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2603 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2605 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2606 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2607 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2608 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2610 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2611 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2612 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2613 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2615 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2616 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2617 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2618 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2620 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2621 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2622 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2623 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2625 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2626 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2627 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2628 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2630 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2631 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2632 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2633 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2635 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2636 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2637 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2638 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2640 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2641 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2642 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2643 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2645 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2646 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2647 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2648 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2650 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2651 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2652 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2653 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2655 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2656 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2657 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2658 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2660 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2661 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2662 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2663 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2665 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2666 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2667 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2668 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2670 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2671 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2672 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2673 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2675 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2676 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2677 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2678 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2680 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2681 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2682 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2683 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2685 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2686 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2687 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2688 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2690 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2691 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2692 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2693 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2695 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2696 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2697 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2698 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2700 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2701 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2702 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2703 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2705 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2706 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2707 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2708 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2710 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2711 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2712 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2713 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2715 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2716 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2717 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2718 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2720 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2721 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2722 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2723 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2725 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2726 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2727 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2728 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2730 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2731 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2732 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2733 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2735 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2736 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2737 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2738 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2740 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2741 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2742 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2743 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2745 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2746 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2747 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2748 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2750 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2751 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2752 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2753 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2755 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2756 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2757 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2758 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2760 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2761 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2762 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2763 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2765 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2766 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2767 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2768 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2770 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2771 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2772 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2773 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2775 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2776 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2777 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2778 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2780 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2781 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2782 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2783 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2786 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6
[] = {
2788 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2789 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2790 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2791 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2793 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2794 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2795 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2796 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2798 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2799 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2800 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2801 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2803 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2804 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2805 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2806 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2808 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2809 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2810 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2811 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2813 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2814 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2815 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2816 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2818 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2819 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2820 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2821 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2823 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2824 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2825 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2826 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2828 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2829 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2830 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2831 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2833 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2834 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2835 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2836 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2838 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2839 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2840 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2841 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2843 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2844 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2845 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2846 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2848 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2849 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2850 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2851 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2853 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2854 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2855 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2856 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2858 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2859 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2860 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2861 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2863 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2864 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2865 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2866 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2868 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2869 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2870 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2871 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2873 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2874 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2875 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2876 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2878 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2879 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2880 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2881 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2883 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2884 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2885 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2886 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2888 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2889 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2890 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2891 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2893 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2894 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2895 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2896 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2898 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2899 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2900 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2901 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2903 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2904 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2905 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2906 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2908 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2909 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2910 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2911 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2913 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2914 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2915 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2916 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2918 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2919 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2920 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2921 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2923 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2924 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2925 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2926 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2928 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2929 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2930 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2931 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2933 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2934 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2935 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2936 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2938 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2939 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2940 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2941 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2943 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2944 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2945 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2946 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2948 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2949 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2950 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2951 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2953 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2954 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2955 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2956 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2958 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2959 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2960 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2961 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2963 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2964 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2965 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2966 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2968 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2969 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2970 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2971 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2973 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2974 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2975 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2976 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2978 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2979 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2980 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2981 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2983 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2984 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2985 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2986 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2988 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2989 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2990 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2991 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2993 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2994 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2995 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2996 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2998 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2999 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3000 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3001 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3003 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3004 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3005 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3006 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3008 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3009 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3010 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3011 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3013 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3014 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3015 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3016 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3018 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3019 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3020 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3021 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3023 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3024 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3025 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3026 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3028 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3029 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3030 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3031 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3033 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3034 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3035 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3036 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3038 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3039 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3040 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3041 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3043 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3044 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3045 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3046 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3048 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3049 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3050 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3051 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3053 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3054 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3055 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3056 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3058 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3059 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3060 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3061 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3063 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3064 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3065 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3066 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3068 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3069 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3070 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3071 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3073 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3074 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3075 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3076 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3078 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3079 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3080 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3081 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3083 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3084 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3085 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3086 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3088 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3089 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3090 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3091 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3093 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3094 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3095 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3096 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3098 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3099 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3100 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3101 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3103 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3104 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3105 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3106 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3108 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3109 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3110 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3111 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3113 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3114 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3115 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3116 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3118 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3119 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3120 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3121 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3123 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3124 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3125 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3126 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3128 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3129 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3130 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3131 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3133 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3134 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3135 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3136 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3138 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3139 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3140 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3141 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3143 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3144 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3145 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3146 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3148 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3149 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3150 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3151 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3153 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3154 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3155 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3156 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3158 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3159 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3160 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3161 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3163 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3164 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3165 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3166 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3168 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3169 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3170 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3171 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3173 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3174 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3175 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3176 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3178 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3179 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3180 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3181 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3183 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3184 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3185 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3186 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3188 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3189 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3190 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3191 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3193 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3194 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3195 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3196 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3198 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3199 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3200 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3201 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3203 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3204 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3205 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3206 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3208 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3209 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3210 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3211 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3213 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3214 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3215 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3216 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3218 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3219 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3220 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3221 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3223 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3224 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3225 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3226 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3228 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3229 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3230 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3231 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3233 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3234 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3235 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3236 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3238 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3239 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3240 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3241 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3243 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3244 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3245 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3246 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3248 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3249 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3250 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3251 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3253 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3254 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3255 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3256 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3258 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3259 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3260 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3261 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3263 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3264 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3265 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3266 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3268 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3269 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3270 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3271 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3273 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3274 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3275 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3276 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3278 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3279 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3280 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3281 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3283 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3284 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3285 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3286 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3288 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3289 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3290 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3291 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3293 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3294 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3295 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3296 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3298 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3299 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3300 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3301 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3303 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3304 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3305 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3306 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3308 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3309 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3310 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3311 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3313 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3314 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3315 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3316 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3318 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3319 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3320 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3321 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3323 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3324 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3325 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3326 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3328 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3329 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3330 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3331 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3333 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3334 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3335 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3336 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3338 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3339 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3340 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3341 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3343 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3344 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3345 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3346 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3348 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3349 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3350 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3351 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3353 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3354 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3355 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3356 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3358 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3359 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3360 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3361 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3363 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3364 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3365 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3366 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3368 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3369 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3370 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3371 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3373 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3374 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3375 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3376 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3378 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3379 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3380 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3381 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3383 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3384 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3385 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3386 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3388 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3389 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3390 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3391 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3393 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3394 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3395 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3396 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3398 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3399 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3400 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3401 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3403 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3404 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3405 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3406 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3409 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7
[] = {
3411 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3412 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3413 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3414 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3416 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3417 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3418 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3419 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3421 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3422 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3423 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3424 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3426 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3427 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3428 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3429 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3431 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3432 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3433 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3434 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3436 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3437 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3438 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3439 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3441 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3442 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3443 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3444 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3446 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3447 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3448 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3449 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3451 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3452 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3453 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3454 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3456 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3457 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3458 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3459 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3461 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3462 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3463 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3464 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3466 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3467 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3468 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3469 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3471 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3472 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3473 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3474 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3476 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3477 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3478 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3479 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3481 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3482 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3483 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3484 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3486 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3487 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3488 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3489 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3491 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3492 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3493 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3494 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3496 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3497 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3498 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3499 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3501 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3502 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3503 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3504 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3506 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3507 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3508 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3509 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3511 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3512 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3513 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3514 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3516 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3517 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3518 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3519 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3521 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3522 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3523 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3524 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3526 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3527 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3528 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3529 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3531 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3532 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3533 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3534 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3536 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3537 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3538 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3539 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3541 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3542 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3543 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3544 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3546 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3547 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3548 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3549 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3551 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3552 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3553 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3554 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3556 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3557 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3558 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3559 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3561 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3562 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3563 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3564 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3566 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3567 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3568 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3569 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3571 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3572 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3573 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3574 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3576 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3577 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3578 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3579 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3581 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3582 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3583 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3584 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3586 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3587 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3588 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3589 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3591 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3592 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3593 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3594 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3596 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3597 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3598 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3599 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3601 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3602 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3603 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3604 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3606 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3607 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3608 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3609 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3611 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3612 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3613 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3614 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3616 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3617 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3618 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3619 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3621 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3622 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3623 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3624 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3626 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3627 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3628 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3629 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3631 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3632 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3633 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3634 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3636 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3637 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3638 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3639 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3641 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3642 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3643 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3644 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3646 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3647 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3648 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3649 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3651 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3652 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3653 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3654 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3656 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3657 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3658 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3659 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3661 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3662 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3663 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3664 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3666 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3667 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3668 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3669 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3671 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3672 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3673 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3674 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3676 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3677 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3678 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3679 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3681 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3682 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3683 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3684 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3686 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3687 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3688 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3689 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3691 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3692 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3693 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3694 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3696 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3697 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3698 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3699 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3701 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3702 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3703 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3704 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3706 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3707 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3708 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3709 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3711 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3712 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3713 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3714 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3716 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3717 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3718 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3719 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3721 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3722 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3723 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3724 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3726 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3727 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3728 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3729 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3731 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3732 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3733 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3734 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3736 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3737 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3738 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3739 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3741 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3742 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3743 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3744 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3746 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3747 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3748 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3749 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3751 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3752 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3753 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3754 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3756 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3757 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3758 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3759 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3761 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3762 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3763 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3764 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3766 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3767 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3768 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3769 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3771 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3772 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3773 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3774 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3776 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3777 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3778 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3779 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3781 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3782 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3783 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3784 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3786 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3787 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3788 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3789 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3791 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3792 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3793 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3794 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3796 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3797 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3798 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3799 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3801 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3802 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3803 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3804 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3806 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3807 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3808 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3809 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3811 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3812 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3813 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3814 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3816 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3817 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3818 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3819 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3821 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3822 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3823 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3824 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3826 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3827 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3828 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3829 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3831 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3832 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3833 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3834 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3836 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3837 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3838 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3839 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3841 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3842 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3843 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3844 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3846 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3847 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3848 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3849 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3851 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3852 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3853 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3854 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3856 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3857 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3858 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3859 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3861 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3862 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3863 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3864 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3866 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3867 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3868 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3869 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3871 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3872 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3873 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3874 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3876 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3877 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3878 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3879 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3881 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3882 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3883 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3884 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3886 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3887 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3888 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3889 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3891 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3892 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3893 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3894 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3896 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3897 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3898 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3899 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3901 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3902 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3903 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3904 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3906 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3907 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3908 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3909 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3911 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3912 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3913 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3914 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3916 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3917 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3918 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3919 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3921 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3922 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3923 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3924 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3926 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3927 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3928 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3929 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3931 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3932 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3933 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3934 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3936 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3937 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3938 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3939 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3941 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3942 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3943 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3944 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3946 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3947 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3948 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3949 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3951 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3952 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3953 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3954 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3956 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3957 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3958 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3959 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3961 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3962 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3963 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3964 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3966 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3967 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3968 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3969 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3971 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3972 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3973 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3974 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3976 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3977 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3978 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3979 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3981 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3982 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3983 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3984 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3986 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3987 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3988 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3989 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3991 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3992 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3993 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3994 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3996 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3997 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3998 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3999 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4001 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4002 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4003 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4004 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4006 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4007 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4008 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4009 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4011 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4012 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4013 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4014 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4016 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4017 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4018 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4019 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4021 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4022 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4023 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4024 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4026 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4027 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4028 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4029 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4032 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8
[] = {
4034 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4035 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4036 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4037 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4039 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4040 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4041 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4042 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4044 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4045 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4046 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4047 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4049 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4050 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4051 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4052 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4054 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4055 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4056 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4057 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4059 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4060 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4061 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4062 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4064 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4065 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4066 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4067 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4069 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4070 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4071 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4072 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4074 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4075 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4076 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4077 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4079 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4080 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4081 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4082 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4084 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4085 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4086 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4087 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4089 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4090 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4091 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4092 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4094 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4095 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4096 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4097 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4099 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4100 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4101 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4102 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4104 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4105 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4106 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4107 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4109 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4110 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4111 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4112 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4114 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4115 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4116 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4117 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4119 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4120 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4121 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4122 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4124 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4125 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4126 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4127 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4129 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4130 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4131 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4132 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4134 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4135 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4136 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4137 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4139 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4140 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4141 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4142 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4144 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4145 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4146 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4147 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4149 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4150 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4151 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4152 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4154 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4155 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4156 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4157 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4159 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4160 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4161 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4162 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4164 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4165 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4166 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4167 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4169 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4170 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4171 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4172 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4174 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4175 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4176 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4177 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4179 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4180 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4181 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4182 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4184 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4185 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4186 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4187 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4189 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4190 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4191 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4192 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4194 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4195 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4196 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4197 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4199 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4200 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4201 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4202 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4204 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4205 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4206 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4207 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4209 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4210 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4211 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4212 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4214 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4215 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4216 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4217 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4219 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4220 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4221 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4222 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4224 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4225 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4226 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4227 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4229 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4230 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4231 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4232 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4234 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4235 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4236 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4237 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4239 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4240 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4241 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4242 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4244 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4245 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4246 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4247 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4249 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4250 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4251 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4252 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4254 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4255 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4256 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4257 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4259 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4260 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4261 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4262 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4264 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4265 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4266 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4267 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4269 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4270 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4271 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4272 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4274 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4275 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4276 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4277 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4279 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4280 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4281 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4282 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4284 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4285 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4286 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4287 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4289 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4290 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4291 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4292 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4294 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4295 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4296 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4297 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4299 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4300 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4301 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4302 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4304 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4305 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4306 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4307 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4309 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4310 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4311 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4312 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4314 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4315 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4316 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4317 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4319 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4320 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4321 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4322 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4324 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4325 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4326 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4327 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4329 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4330 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4331 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4332 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4334 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4335 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4336 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4337 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4339 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4340 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4341 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4342 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4344 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4345 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4346 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4347 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4349 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4350 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4351 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4352 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4354 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4355 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4356 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4357 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4359 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4360 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4361 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4362 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4364 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4365 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4366 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4367 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4369 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4370 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4371 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4372 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4374 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4375 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4376 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4377 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4379 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4380 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4381 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4382 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4384 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4385 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4386 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4387 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4389 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4390 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4391 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4392 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4394 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4395 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4396 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4397 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4399 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4400 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4401 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4402 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4404 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4405 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4406 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4407 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4409 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4410 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4411 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4412 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4414 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4415 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4416 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4417 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4419 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4420 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4421 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4422 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4424 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4425 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4426 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4427 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4429 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4430 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4431 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4432 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4434 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4435 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4436 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4437 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4439 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4440 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4441 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4442 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4444 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4445 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4446 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4447 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4449 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4450 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4451 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4452 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4454 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4455 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4456 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4457 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4459 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4460 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4461 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4462 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4464 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4465 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4466 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4467 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4469 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4470 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4471 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4472 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4474 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4475 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4476 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4477 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4479 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4480 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4481 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4482 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4484 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4485 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4486 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4487 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4489 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4490 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4491 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4492 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4494 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4495 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4496 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4497 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4499 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4500 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4501 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4502 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4504 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4505 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4506 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4507 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4509 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4510 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4511 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4512 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4514 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4515 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4516 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4517 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4519 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4520 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4521 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4522 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4524 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4525 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4526 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4527 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4529 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4530 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4531 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4532 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4534 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4535 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4536 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4537 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4539 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4540 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4541 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4542 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4544 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4545 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4546 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4547 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4549 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4550 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4551 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4552 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4554 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4555 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4556 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4557 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4559 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4560 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4561 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4562 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4564 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4565 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4566 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4567 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4569 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4570 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4571 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4572 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4574 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4575 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4576 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4577 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4579 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4580 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4581 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4582 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4584 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4585 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4586 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4587 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4589 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4590 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4591 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4592 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4594 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4595 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4596 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4597 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4599 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4600 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4601 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4602 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4604 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4605 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4606 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4607 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4609 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4610 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4611 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4612 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4614 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4615 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4616 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4617 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4619 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4620 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4621 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4622 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4624 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4625 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4626 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4627 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4629 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4630 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4631 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4632 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4634 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4635 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4636 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4637 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4639 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4640 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4641 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4642 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4644 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4645 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4646 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4647 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4649 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4650 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4651 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4652 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4655 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11
[] = {
4657 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4658 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4659 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4660 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4662 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4663 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4664 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4665 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4667 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4668 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4669 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4670 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4672 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4673 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4674 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4675 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4677 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4678 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4679 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4680 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4682 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4683 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4684 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4685 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4687 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4688 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4689 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4690 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4692 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4693 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4694 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4695 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4697 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4698 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4699 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4700 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4702 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4703 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4704 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4705 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4707 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4708 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4709 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4710 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4712 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4713 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4714 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4715 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4717 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4718 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4719 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4720 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4722 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4723 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4724 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4725 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4727 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4728 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4729 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4730 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4732 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4733 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4734 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4735 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4737 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4738 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4739 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4740 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4742 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4743 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4744 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4745 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4747 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4748 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4749 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4750 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4752 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4753 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4754 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4755 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4757 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4758 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4759 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4760 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4762 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4763 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4764 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4765 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4767 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4768 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4769 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4770 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4772 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4773 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4774 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4775 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4777 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4778 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4779 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4780 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4782 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4783 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4784 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4785 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4787 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4788 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4789 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4790 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4792 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4793 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4794 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4795 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4797 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4798 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4799 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4800 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4802 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4803 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4804 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4805 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4807 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4808 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4809 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4810 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4812 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4813 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4814 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4815 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4817 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4818 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4819 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4820 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4822 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4823 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4824 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4825 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4827 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4828 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4829 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4830 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4832 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4833 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4834 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4835 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4837 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4838 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4839 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4840 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4842 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4843 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4844 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4845 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4847 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4848 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4849 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4850 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4852 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4853 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4854 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4855 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4857 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4858 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4859 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4860 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4862 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4863 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4864 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4865 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4867 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4868 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4869 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4870 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4872 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4873 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4874 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4875 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4877 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4878 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4879 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4880 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4882 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4883 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4884 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4885 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4887 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4888 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4889 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4890 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4892 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4893 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4894 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4895 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4897 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4898 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4899 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4900 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4902 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4903 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4904 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4905 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4907 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4908 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4909 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4910 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4912 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4913 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4914 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4915 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4917 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4918 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4919 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4920 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4922 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4923 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4924 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4925 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4927 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4928 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4929 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4930 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4932 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4933 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4934 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4935 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4937 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4938 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4939 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4940 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4942 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4943 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4944 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4945 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4947 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4948 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4949 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4950 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4952 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4953 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4954 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4955 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4957 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4958 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4959 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4960 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4962 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4963 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4964 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4965 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4967 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4968 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4969 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4970 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4972 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4973 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4974 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4975 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4977 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4978 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4979 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4980 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4982 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4983 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4984 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4985 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4987 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4988 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4989 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4990 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4992 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4993 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4994 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4995 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4997 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4998 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4999 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5000 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5002 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5003 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5004 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5005 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5007 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5008 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5009 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5010 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5012 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5013 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5014 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5015 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5017 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5018 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5019 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5020 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5022 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5023 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5024 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5025 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5027 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5028 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5029 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5030 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5032 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5033 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5034 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5035 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5037 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5038 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5039 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5040 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5042 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5043 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5044 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5045 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5047 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5048 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5049 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5050 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5052 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5053 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5054 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5055 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5057 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5058 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5059 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5060 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5062 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5063 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5064 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5065 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5067 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5068 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5069 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5070 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5072 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5073 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5074 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5075 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5077 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5078 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5079 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5080 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5082 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5083 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5084 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5085 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5087 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5088 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5089 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5090 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5092 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5093 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5094 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5095 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5097 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5098 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5099 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5100 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5102 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5103 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5104 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5105 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5107 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5108 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5109 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5110 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5112 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5113 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5114 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5115 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5117 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5118 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5119 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5120 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5122 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5123 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5124 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5125 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5127 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5128 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5129 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5130 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5132 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5133 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5134 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5135 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5137 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5138 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5139 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5140 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5142 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5143 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5144 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5145 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5147 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5148 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5149 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5150 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5152 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5153 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5154 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5155 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5157 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5158 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5159 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5160 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5162 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5163 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5164 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5165 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5167 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5168 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5169 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5170 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5172 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5173 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5174 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5175 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5177 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5178 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5179 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5180 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5182 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5183 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5184 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5185 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5187 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5188 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5189 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5190 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5192 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5193 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5194 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5195 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5197 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5198 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5199 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5200 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5202 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5203 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5204 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5205 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5207 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5208 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5209 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5210 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5212 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5213 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5214 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5215 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5217 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5218 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5219 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5220 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5222 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5223 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5224 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5225 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5227 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5228 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5229 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5230 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5232 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5233 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5234 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5235 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5237 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5238 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5239 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5240 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5242 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5243 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5244 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5245 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5247 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5248 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5249 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5250 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5252 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5253 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5254 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5255 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5257 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5258 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5259 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5260 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5262 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5263 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5264 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5265 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5267 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5268 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5269 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5270 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5272 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5273 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5274 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5275 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5278 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4
[] = {
5280 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5281 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5282 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5287 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5288 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5289 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5294 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5295 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5296 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5301 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5302 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5303 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5308 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5309 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5310 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5315 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5316 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5317 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5322 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5323 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5324 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5329 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5330 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5331 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5336 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5337 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5338 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5343 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5344 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5345 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5350 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5351 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5352 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5357 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5358 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5359 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5364 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5365 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5366 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5371 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5372 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5373 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5378 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5379 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5380 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5385 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5386 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5387 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5392 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5393 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5394 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5399 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5400 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5401 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5406 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5407 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5408 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5413 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5414 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5415 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5420 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5421 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5422 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5427 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5428 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5429 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5434 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5435 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5436 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5441 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5442 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5443 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5448 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5449 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5450 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5455 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5456 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5457 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5462 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5463 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5464 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5469 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5470 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5471 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5476 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5477 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5478 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5483 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5484 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5485 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5490 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5491 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5492 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5497 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5498 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5499 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5504 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5505 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5506 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5511 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5512 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5513 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5518 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5519 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5520 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5525 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5526 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5527 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5532 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5533 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5534 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5539 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5540 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5541 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5546 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5547 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5548 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5553 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5554 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5555 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5560 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5561 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5562 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5567 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5568 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5569 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5574 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5575 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5576 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5581 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5582 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5583 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5588 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5589 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5590 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5595 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5596 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5597 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5602 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5603 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5604 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5609 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5610 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5611 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5616 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5617 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5618 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5623 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5624 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5625 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5630 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5631 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5632 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5637 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5638 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5639 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5644 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5645 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5646 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5651 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5652 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5653 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5658 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5659 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5660 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5665 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5666 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5667 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5672 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5673 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5674 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5679 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5680 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5681 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5686 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5687 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5688 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5693 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5694 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5695 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5700 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5701 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5702 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5707 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5708 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5709 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5714 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5715 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5716 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5721 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5722 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5723 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5728 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5729 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5730 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5735 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5736 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5737 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5742 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5743 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5744 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5749 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5750 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5751 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5756 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5757 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5758 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5763 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5764 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5765 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5770 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5771 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5772 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5777 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5778 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5779 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5784 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5785 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5786 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5791 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5792 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5793 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5798 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5799 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5800 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5805 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5806 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5807 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5812 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5813 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5814 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5819 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5820 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5821 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5826 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5827 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5828 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5833 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5834 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5835 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5840 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5841 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5842 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5847 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5848 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5849 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5854 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5855 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5856 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5861 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5862 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5863 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5868 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5869 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5870 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5875 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5876 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5877 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5882 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5883 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5884 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5889 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5890 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5891 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5896 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5897 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5898 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5903 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5904 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5905 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5910 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5911 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5912 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5917 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5918 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5919 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5924 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5925 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5926 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5931 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5932 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5933 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5938 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5939 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5940 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5945 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5946 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5947 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5952 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5953 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5954 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5959 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5960 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5961 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5966 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5967 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5968 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5973 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5974 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5975 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5980 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5981 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5982 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5987 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5988 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5989 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5994 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5995 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5996 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6001 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6002 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6003 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6008 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6009 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6010 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6015 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6016 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6017 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6022 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6023 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6024 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6029 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6030 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6031 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6036 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6037 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6038 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6043 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6044 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6045 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6050 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6051 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6052 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6057 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6058 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6059 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6064 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6065 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6066 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6071 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6072 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6073 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6078 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6079 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6080 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6085 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6086 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6087 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6092 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6093 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6094 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6099 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6100 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6101 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6106 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6107 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6108 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6113 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6114 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6115 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6120 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6121 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6122 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6127 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6128 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6129 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6134 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6135 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6136 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6141 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5
[] = {
6143 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6144 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6145 0x043a, 0x043f, 0x0443},
6147 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6148 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6149 0x0438, 0x043d, 0x0441},
6151 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6152 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6153 0x0436, 0x043a, 0x043f},
6155 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6156 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6157 0x0434, 0x0438, 0x043d},
6159 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6160 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6161 0x0431, 0x0436, 0x043a},
6163 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6164 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6165 0x042f, 0x0434, 0x0438},
6167 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6168 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6169 0x042d, 0x0431, 0x0436},
6171 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6172 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6173 0x042b, 0x042f, 0x0434},
6175 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6176 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6177 0x0429, 0x042d, 0x0431},
6179 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6180 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6181 0x0427, 0x042b, 0x042f},
6183 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6184 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6185 0x0424, 0x0429, 0x042d},
6187 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6188 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6189 0x0422, 0x0427, 0x042b},
6191 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6192 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6193 0x0420, 0x0424, 0x0429},
6195 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6196 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6197 0x041b, 0x041f, 0x0424}
6200 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1
[] = {
6202 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6203 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6204 0x043a, 0x043f, 0x0443},
6206 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6207 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6208 0x0438, 0x043d, 0x0441},
6210 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6211 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6212 0x0436, 0x043a, 0x043f},
6214 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6215 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6216 0x0434, 0x0438, 0x043d},
6218 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6219 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6220 0x0431, 0x0436, 0x043a},
6222 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6223 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6224 0x042f, 0x0434, 0x0438},
6226 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6227 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6228 0x042d, 0x0431, 0x0436},
6230 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6231 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6232 0x042b, 0x042f, 0x0434},
6234 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6235 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6236 0x0429, 0x042d, 0x0431},
6238 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6239 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6240 0x0427, 0x042b, 0x042f},
6242 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6243 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6244 0x0424, 0x0429, 0x042d},
6246 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6247 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6248 0x0422, 0x0427, 0x042b},
6250 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6251 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6252 0x0420, 0x0424, 0x0429},
6254 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6255 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6256 0x041b, 0x041f, 0x0424}
6259 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7
[] = {
6261 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6262 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6263 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6267 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6268 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6269 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6273 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6274 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6275 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6279 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6280 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6281 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6285 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6286 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6287 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6291 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6292 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6293 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6297 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6298 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6299 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6303 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6304 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6305 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6309 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6310 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6311 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6315 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6316 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6317 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6321 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6322 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6323 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6327 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6328 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6329 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6333 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6334 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6335 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6339 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6340 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6341 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6345 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6346 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6347 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6351 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6352 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6353 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6357 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6358 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6359 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6363 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6364 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6365 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6369 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6370 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6371 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6375 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6376 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6377 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6381 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6382 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6383 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6387 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6388 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6389 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6393 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6394 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6395 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6399 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6400 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6401 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6405 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6406 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6407 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6411 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6412 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6413 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6417 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6418 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6419 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6423 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6424 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6425 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6429 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6430 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6431 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6435 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6436 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6437 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6441 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6442 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6443 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6447 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6448 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6449 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6453 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6454 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6455 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6459 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6460 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6461 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6465 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6466 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6467 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6471 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6472 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6473 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6477 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6478 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6479 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6483 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6484 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6485 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6489 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6490 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6491 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6495 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6496 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6497 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6501 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6502 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6503 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6507 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6508 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6509 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6513 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6514 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6515 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6519 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6520 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6521 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6525 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6526 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6527 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6531 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6532 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6533 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6537 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6538 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6539 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6543 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6544 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6545 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6549 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6550 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6551 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6555 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6556 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6557 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6561 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6562 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6563 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6567 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6568 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6569 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6573 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6574 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6575 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6579 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6580 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6581 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6585 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6586 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6587 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6591 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6592 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6593 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6597 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6598 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6599 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6603 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6604 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6605 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6609 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6610 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6611 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6615 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6616 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6617 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6621 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6622 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6623 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6627 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6628 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6629 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6633 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6634 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6635 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6639 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6640 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6641 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6645 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6646 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6647 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6651 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6652 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6653 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6657 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6658 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6659 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6663 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6664 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6665 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6669 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6670 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6671 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6675 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6676 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6677 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6681 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6682 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6683 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6687 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6688 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6689 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6693 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6694 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6695 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6699 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6700 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6701 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6705 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6706 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6707 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6711 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6712 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6713 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6717 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6718 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6719 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6723 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6724 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6725 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6729 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6730 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6731 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6735 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6736 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6737 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6741 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6742 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6743 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6747 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6748 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6749 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6753 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6754 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6755 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6759 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6760 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6761 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6765 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6766 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6767 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6771 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6772 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6773 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6777 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6778 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6779 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6783 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6784 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6785 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6789 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6790 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6791 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6795 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6796 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6797 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6801 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6802 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6803 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6807 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6808 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6809 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6813 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6814 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6815 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6819 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6820 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6821 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6825 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6826 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6827 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6831 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6832 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6833 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6837 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6838 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6839 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6843 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6844 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6845 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6849 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6850 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6851 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6855 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6856 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6857 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6861 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6862 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6863 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6867 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6868 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6869 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6873 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6874 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6875 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6879 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6880 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6881 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6885 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6886 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6887 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6891 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6892 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6893 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6897 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6898 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6899 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6903 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6904 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6905 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6909 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6910 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6911 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6915 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6916 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6917 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6921 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6922 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6923 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6927 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6928 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6929 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6933 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6934 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6935 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6939 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6940 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6941 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6945 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6946 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6947 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6951 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6952 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6953 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6957 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6958 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6959 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6963 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6964 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6965 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6969 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6970 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6971 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6975 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6976 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6977 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6981 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6982 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6983 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6987 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6988 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6989 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6993 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6994 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6995 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7000 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8
[] = {
7002 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7003 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7004 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7008 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7009 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7010 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7014 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7015 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7016 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7020 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7021 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7022 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7026 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7027 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7028 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7032 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7033 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7034 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7038 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7039 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7040 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7044 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7045 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7046 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7050 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7051 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7052 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7056 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7057 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7058 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7062 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7063 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7064 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7068 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7069 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7070 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7074 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7075 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7076 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7080 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7081 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7082 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7086 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7087 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7088 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7092 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7093 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7094 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7098 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7099 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7100 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7104 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7105 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7106 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7110 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7111 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7112 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7116 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7117 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7118 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7122 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7123 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7124 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7128 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7129 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7130 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7134 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7135 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7136 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7140 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7141 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7142 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7146 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7147 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7148 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7152 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7153 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7154 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7158 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7159 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7160 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7164 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7165 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7166 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7170 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7171 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7172 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7176 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7177 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7178 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7182 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7183 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7184 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7188 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7189 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7190 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7194 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7195 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7196 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7200 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7201 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7202 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7206 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7207 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7208 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7212 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7213 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7214 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7218 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7219 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7220 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7224 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7225 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7226 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7230 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7231 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7232 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7236 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7237 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7238 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7242 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7243 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7244 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7248 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7249 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7250 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7254 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7255 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7256 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7260 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7261 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7262 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7266 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7267 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7268 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7272 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7273 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7274 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7278 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7279 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7280 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7284 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7285 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7286 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7290 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7291 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7292 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7296 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7297 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7298 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7302 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7303 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7304 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7308 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7309 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7310 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7314 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7315 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7316 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7320 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7321 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7322 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7326 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7327 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7328 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7332 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7333 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7334 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7338 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7339 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7340 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7344 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7345 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7346 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7350 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7351 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7352 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7356 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7357 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7358 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7362 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7363 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7364 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7368 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7369 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7370 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7374 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7375 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7376 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7380 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7381 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7382 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7386 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7387 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7388 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7392 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7393 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7394 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7398 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7399 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7400 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7404 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7405 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7406 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7410 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7411 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7412 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7416 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7417 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7418 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7422 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7423 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7424 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7428 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7429 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7430 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7434 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7435 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7436 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7440 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7441 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7442 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7446 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7447 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7448 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7452 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7453 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7454 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7458 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7459 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7460 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7464 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7465 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7466 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7470 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7471 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7472 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7476 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7477 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7478 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7482 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7483 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7484 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7488 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7489 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7490 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7494 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7495 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7496 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7500 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7501 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7502 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7506 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7507 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7508 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7512 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7513 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7514 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7518 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7519 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7520 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7524 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7525 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7526 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7530 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7531 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7532 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7536 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7537 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7538 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7542 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7543 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7544 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7548 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7549 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7550 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7554 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7555 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7556 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7560 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7561 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7562 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7566 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7567 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7568 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7572 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7573 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7574 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7578 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7579 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7580 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7584 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7585 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7586 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7590 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7591 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7592 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7596 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7597 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7598 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7602 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7603 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7604 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7608 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7609 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7610 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7614 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7615 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7616 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7620 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7621 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7622 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7626 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7627 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7628 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7632 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7633 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7634 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7638 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7639 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7640 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7644 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7645 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7646 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7650 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7651 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7652 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7656 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7657 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7658 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7662 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7663 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7664 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7668 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7669 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7670 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7674 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7675 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7676 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7680 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7681 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7682 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7686 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7687 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7688 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7692 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7693 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7694 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7698 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7699 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7700 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7704 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7705 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7706 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7710 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7711 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7712 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7716 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7717 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7718 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7722 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7723 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7724 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7728 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7729 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7730 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7735 radio_regs_t regs_2055
[] = {
7736 {0x02, 0x80, 0x80, 0, 0},
7738 {0x04, 0x27, 0x27, 0, 0},
7740 {0x06, 0x27, 0x27, 0, 0},
7741 {0x07, 0x7f, 0x7f, 1, 1},
7742 {0x08, 0x7, 0x7, 1, 1},
7743 {0x09, 0x7f, 0x7f, 1, 1},
7744 {0x0A, 0x7, 0x7, 1, 1},
7745 {0x0B, 0x15, 0x15, 0, 0},
7746 {0x0C, 0x15, 0x15, 0, 0},
7747 {0x0D, 0x4f, 0x4f, 1, 1},
7748 {0x0E, 0x5, 0x5, 1, 1},
7749 {0x0F, 0x4f, 0x4f, 1, 1},
7750 {0x10, 0x5, 0x5, 1, 1},
7751 {0x11, 0xd0, 0xd0, 0, 0},
7752 {0x12, 0x2, 0x2, 0, 0},
7754 {0x14, 0x40, 0x40, 0, 0},
7763 {0x1D, 0xc0, 0xc0, 0, 0},
7764 {0x1E, 0xff, 0xff, 0, 0},
7765 {0x1F, 0xc0, 0xc0, 0, 0},
7766 {0x20, 0xff, 0xff, 0, 0},
7767 {0x21, 0xc0, 0xc0, 0, 0},
7769 {0x23, 0x2c, 0x2c, 0, 0},
7779 {0x2D, 0xa4, 0xa4, 0, 0},
7780 {0x2E, 0x38, 0x38, 0, 0},
7782 {0x30, 0x4, 0x4, 1, 1},
7784 {0x32, 0xa, 0xa, 0, 0},
7785 {0x33, 0x87, 0x87, 0, 0},
7786 {0x34, 0x9, 0x9, 0, 0},
7787 {0x35, 0x70, 0x70, 0, 0},
7788 {0x36, 0x11, 0x11, 0, 0},
7789 {0x37, 0x18, 0x18, 1, 1},
7790 {0x38, 0x6, 0x6, 0, 0},
7791 {0x39, 0x4, 0x4, 1, 1},
7792 {0x3A, 0x6, 0x6, 0, 0},
7793 {0x3B, 0x9e, 0x9e, 0, 0},
7794 {0x3C, 0x9, 0x9, 0, 0},
7795 {0x3D, 0xc8, 0xc8, 1, 1},
7796 {0x3E, 0x88, 0x88, 0, 0},
7800 {0x42, 0x1, 0x1, 0, 0},
7801 {0x43, 0x2, 0x2, 0, 0},
7802 {0x44, 0x96, 0x96, 0, 0},
7803 {0x45, 0x3e, 0x3e, 0, 0},
7804 {0x46, 0x3e, 0x3e, 0, 0},
7805 {0x47, 0x13, 0x13, 0, 0},
7806 {0x48, 0x2, 0x2, 0, 0},
7807 {0x49, 0x15, 0x15, 0, 0},
7808 {0x4A, 0x7, 0x7, 0, 0},
7814 {0x50, 0x8, 0x8, 0, 0},
7815 {0x51, 0x8, 0x8, 0, 0},
7816 {0x52, 0x6, 0x6, 0, 0},
7817 {0x53, 0x84, 0x84, 1, 1},
7818 {0x54, 0xc3, 0xc3, 0, 0},
7819 {0x55, 0x8f, 0x8f, 0, 0},
7820 {0x56, 0xff, 0xff, 0, 0},
7821 {0x57, 0xff, 0xff, 0, 0},
7822 {0x58, 0x88, 0x88, 0, 0},
7823 {0x59, 0x88, 0x88, 0, 0},
7825 {0x5B, 0xcc, 0xcc, 0, 0},
7826 {0x5C, 0x6, 0x6, 0, 0},
7827 {0x5D, 0x80, 0x80, 0, 0},
7828 {0x5E, 0x80, 0x80, 0, 0},
7829 {0x5F, 0xf8, 0xf8, 0, 0},
7830 {0x60, 0x88, 0x88, 0, 0},
7831 {0x61, 0x88, 0x88, 0, 0},
7832 {0x62, 0x88, 0x8, 1, 1},
7833 {0x63, 0x88, 0x88, 0, 0},
7835 {0x65, 0x1, 0x1, 1, 1},
7836 {0x66, 0x8a, 0x8a, 0, 0},
7837 {0x67, 0x8, 0x8, 0, 0},
7838 {0x68, 0x83, 0x83, 0, 0},
7839 {0x69, 0x6, 0x6, 0, 0},
7840 {0x6A, 0xa0, 0xa0, 0, 0},
7841 {0x6B, 0xa, 0xa, 0, 0},
7842 {0x6C, 0x87, 0x87, 1, 1},
7843 {0x6D, 0x2a, 0x2a, 0, 0},
7844 {0x6E, 0x2a, 0x2a, 0, 0},
7845 {0x6F, 0x2a, 0x2a, 0, 0},
7846 {0x70, 0x2a, 0x2a, 0, 0},
7847 {0x71, 0x18, 0x18, 0, 0},
7848 {0x72, 0x6a, 0x6a, 1, 1},
7849 {0x73, 0xab, 0xab, 1, 1},
7850 {0x74, 0x13, 0x13, 1, 1},
7851 {0x75, 0xc1, 0xc1, 1, 1},
7852 {0x76, 0xaa, 0xaa, 1, 1},
7853 {0x77, 0x87, 0x87, 1, 1},
7855 {0x79, 0x6, 0x6, 0, 0},
7856 {0x7A, 0x7, 0x7, 0, 0},
7857 {0x7B, 0x7, 0x7, 0, 0},
7858 {0x7C, 0x15, 0x15, 0, 0},
7859 {0x7D, 0x55, 0x55, 0, 0},
7860 {0x7E, 0x97, 0x97, 1, 1},
7861 {0x7F, 0x8, 0x8, 0, 0},
7862 {0x80, 0x14, 0x14, 1, 1},
7863 {0x81, 0x33, 0x33, 0, 0},
7864 {0x82, 0x88, 0x88, 0, 0},
7865 {0x83, 0x6, 0x6, 0, 0},
7866 {0x84, 0x3, 0x3, 1, 1},
7867 {0x85, 0xa, 0xa, 0, 0},
7868 {0x86, 0x3, 0x3, 1, 1},
7869 {0x87, 0x2a, 0x2a, 0, 0},
7870 {0x88, 0xa4, 0xa4, 0, 0},
7871 {0x89, 0x18, 0x18, 0, 0},
7872 {0x8A, 0x28, 0x28, 0, 0},
7874 {0x8C, 0x4a, 0x4a, 0, 0},
7876 {0x8E, 0xf8, 0xf8, 0, 0},
7877 {0x8F, 0x88, 0x88, 0, 0},
7878 {0x90, 0x88, 0x88, 0, 0},
7879 {0x91, 0x88, 0x8, 1, 1},
7880 {0x92, 0x88, 0x88, 0, 0},
7882 {0x94, 0x1, 0x1, 1, 1},
7883 {0x95, 0x8a, 0x8a, 0, 0},
7884 {0x96, 0x8, 0x8, 0, 0},
7885 {0x97, 0x83, 0x83, 0, 0},
7886 {0x98, 0x6, 0x6, 0, 0},
7887 {0x99, 0xa0, 0xa0, 0, 0},
7888 {0x9A, 0xa, 0xa, 0, 0},
7889 {0x9B, 0x87, 0x87, 1, 1},
7890 {0x9C, 0x2a, 0x2a, 0, 0},
7891 {0x9D, 0x2a, 0x2a, 0, 0},
7892 {0x9E, 0x2a, 0x2a, 0, 0},
7893 {0x9F, 0x2a, 0x2a, 0, 0},
7894 {0xA0, 0x18, 0x18, 0, 0},
7895 {0xA1, 0x6a, 0x6a, 1, 1},
7896 {0xA2, 0xab, 0xab, 1, 1},
7897 {0xA3, 0x13, 0x13, 1, 1},
7898 {0xA4, 0xc1, 0xc1, 1, 1},
7899 {0xA5, 0xaa, 0xaa, 1, 1},
7900 {0xA6, 0x87, 0x87, 1, 1},
7902 {0xA8, 0x6, 0x6, 0, 0},
7903 {0xA9, 0x7, 0x7, 0, 0},
7904 {0xAA, 0x7, 0x7, 0, 0},
7905 {0xAB, 0x15, 0x15, 0, 0},
7906 {0xAC, 0x55, 0x55, 0, 0},
7907 {0xAD, 0x97, 0x97, 1, 1},
7908 {0xAE, 0x8, 0x8, 0, 0},
7909 {0xAF, 0x14, 0x14, 1, 1},
7910 {0xB0, 0x33, 0x33, 0, 0},
7911 {0xB1, 0x88, 0x88, 0, 0},
7912 {0xB2, 0x6, 0x6, 0, 0},
7913 {0xB3, 0x3, 0x3, 1, 1},
7914 {0xB4, 0xa, 0xa, 0, 0},
7915 {0xB5, 0x3, 0x3, 1, 1},
7916 {0xB6, 0x2a, 0x2a, 0, 0},
7917 {0xB7, 0xa4, 0xa4, 0, 0},
7918 {0xB8, 0x18, 0x18, 0, 0},
7919 {0xB9, 0x28, 0x28, 0, 0},
7921 {0xBB, 0x4a, 0x4a, 0, 0},
7923 {0xBD, 0x71, 0x71, 0, 0},
7924 {0xBE, 0x72, 0x72, 0, 0},
7925 {0xBF, 0x73, 0x73, 0, 0},
7926 {0xC0, 0x74, 0x74, 0, 0},
7927 {0xC1, 0x75, 0x75, 0, 0},
7928 {0xC2, 0x76, 0x76, 0, 0},
7929 {0xC3, 0x77, 0x77, 0, 0},
7930 {0xC4, 0x78, 0x78, 0, 0},
7931 {0xC5, 0x79, 0x79, 0, 0},
7932 {0xC6, 0x7a, 0x7a, 0, 0},
7940 {0xCE, 0x6, 0x6, 0, 0},
7943 {0xD1, 0x18, 0x18, 0, 0},
7944 {0xD2, 0x88, 0x88, 0, 0},
7952 {0xDA, 0x6, 0x6, 0, 0},
7955 {0xDD, 0x18, 0x18, 0, 0},
7956 {0xDE, 0x88, 0x88, 0, 0},
7961 {0xFFFF, 0, 0, 0, 0},
7964 radio_regs_t regs_SYN_2056
[] = {
7972 {0x09, 0x1, 0x1, 0, 0},
7997 {0x22, 0x60, 0x60, 0, 0},
7998 {0x23, 0x6, 0x6, 0, 0},
7999 {0x24, 0xc, 0xc, 0, 0},
8003 {0x28, 0x1, 0x1, 0, 0},
8009 {0x2E, 0xd, 0xd, 0, 0},
8010 {0x2F, 0x1f, 0x1f, 0, 0},
8011 {0x30, 0x15, 0x15, 0, 0},
8012 {0x31, 0xf, 0xf, 0, 0},
8023 {0x3C, 0x13, 0x13, 0, 0},
8024 {0x3D, 0xf, 0xf, 0, 0},
8025 {0x3E, 0x18, 0x18, 0, 0},
8028 {0x41, 0x20, 0x20, 0, 0},
8029 {0x42, 0x20, 0x20, 0, 0},
8031 {0x44, 0x77, 0x77, 0, 0},
8032 {0x45, 0x7, 0x7, 0, 0},
8033 {0x46, 0x1, 0x1, 0, 0},
8034 {0x47, 0x4, 0x4, 0, 0},
8035 {0x48, 0xf, 0xf, 0, 0},
8036 {0x49, 0x30, 0x30, 0, 0},
8037 {0x4A, 0x32, 0x32, 0, 0},
8038 {0x4B, 0xd, 0xd, 0, 0},
8039 {0x4C, 0xd, 0xd, 0, 0},
8040 {0x4D, 0x4, 0x4, 0, 0},
8041 {0x4E, 0x6, 0x6, 0, 0},
8042 {0x4F, 0x1, 0x1, 0, 0},
8043 {0x50, 0x1c, 0x1c, 0, 0},
8044 {0x51, 0x2, 0x2, 0, 0},
8045 {0x52, 0x2, 0x2, 0, 0},
8046 {0x53, 0xf7, 0xf7, 1, 1},
8047 {0x54, 0xb4, 0xb4, 0, 0},
8048 {0x55, 0xd2, 0xd2, 0, 0},
8051 {0x58, 0x4, 0x4, 0, 0},
8052 {0x59, 0x96, 0x96, 0, 0},
8053 {0x5A, 0x3e, 0x3e, 0, 0},
8054 {0x5B, 0x3e, 0x3e, 0, 0},
8055 {0x5C, 0x13, 0x13, 0, 0},
8056 {0x5D, 0x2, 0x2, 0, 0},
8058 {0x5F, 0x7, 0x7, 0, 0},
8059 {0x60, 0x7, 0x7, 1, 1},
8060 {0x61, 0x8, 0x8, 0, 0},
8061 {0x62, 0x3, 0x3, 0, 0},
8067 {0x68, 0x40, 0x40, 0, 0},
8072 {0x6D, 0x1, 0x1, 0, 0},
8075 {0x70, 0x60, 0x60, 0, 0},
8076 {0x71, 0x66, 0x66, 0, 0},
8077 {0x72, 0xc, 0xc, 0, 0},
8078 {0x73, 0x66, 0x66, 0, 0},
8079 {0x74, 0x8f, 0x8f, 1, 1},
8081 {0x76, 0xcc, 0xcc, 0, 0},
8082 {0x77, 0x1, 0x1, 0, 0},
8083 {0x78, 0x66, 0x66, 0, 0},
8084 {0x79, 0x66, 0x66, 0, 0},
8096 {0x85, 0xff, 0xff, 0, 0},
8122 {0x9F, 0x6, 0x6, 0, 0},
8123 {0xA0, 0x66, 0x66, 0, 0},
8124 {0xA1, 0x66, 0x66, 0, 0},
8125 {0xA2, 0x66, 0x66, 0, 0},
8126 {0xA3, 0x66, 0x66, 0, 0},
8127 {0xA4, 0x66, 0x66, 0, 0},
8128 {0xA5, 0x66, 0x66, 0, 0},
8129 {0xA6, 0x66, 0x66, 0, 0},
8130 {0xA7, 0x66, 0x66, 0, 0},
8131 {0xA8, 0x66, 0x66, 0, 0},
8132 {0xA9, 0x66, 0x66, 0, 0},
8133 {0xAA, 0x66, 0x66, 0, 0},
8134 {0xAB, 0x66, 0x66, 0, 0},
8135 {0xAC, 0x66, 0x66, 0, 0},
8136 {0xAD, 0x66, 0x66, 0, 0},
8137 {0xAE, 0x66, 0x66, 0, 0},
8138 {0xAF, 0x66, 0x66, 0, 0},
8139 {0xB0, 0x66, 0x66, 0, 0},
8140 {0xB1, 0x66, 0x66, 0, 0},
8141 {0xB2, 0x66, 0x66, 0, 0},
8142 {0xB3, 0xa, 0xa, 0, 0},
8146 {0xFFFF, 0, 0, 0, 0}
8149 radio_regs_t regs_TX_2056
[] = {
8181 {0x21, 0x88, 0x88, 0, 0},
8182 {0x22, 0x88, 0x88, 0, 0},
8183 {0x23, 0x88, 0x88, 0, 0},
8184 {0x24, 0x88, 0x88, 0, 0},
8185 {0x25, 0xc, 0xc, 0, 0},
8187 {0x27, 0x3, 0x3, 0, 0},
8189 {0x29, 0x3, 0x3, 0, 0},
8190 {0x2A, 0x37, 0x37, 0, 0},
8191 {0x2B, 0x3, 0x3, 0, 0},
8194 {0x2E, 0x1, 0x1, 0, 0},
8195 {0x2F, 0x1, 0x1, 0, 0},
8199 {0x33, 0x11, 0x11, 0, 0},
8200 {0x34, 0x11, 0x11, 0, 0},
8203 {0x37, 0x3, 0x3, 0, 0},
8204 {0x38, 0xf, 0xf, 0, 0},
8206 {0x3A, 0x2d, 0x2d, 0, 0},
8208 {0x3C, 0x6e, 0x6e, 0, 0},
8209 {0x3D, 0xf0, 0xf0, 1, 1},
8213 {0x41, 0x3, 0x3, 0, 0},
8214 {0x42, 0x3, 0x3, 0, 0},
8216 {0x44, 0x1e, 0x1e, 0, 0},
8218 {0x46, 0x6e, 0x6e, 0, 0},
8219 {0x47, 0xf0, 0xf0, 1, 1},
8221 {0x49, 0x2, 0x2, 0, 0},
8222 {0x4A, 0xff, 0xff, 1, 1},
8223 {0x4B, 0xc, 0xc, 0, 0},
8225 {0x4D, 0x38, 0x38, 0, 0},
8226 {0x4E, 0x70, 0x70, 1, 1},
8227 {0x4F, 0x2, 0x2, 0, 0},
8228 {0x50, 0x88, 0x88, 0, 0},
8229 {0x51, 0xc, 0xc, 0, 0},
8231 {0x53, 0x8, 0x8, 0, 0},
8232 {0x54, 0x70, 0x70, 1, 1},
8233 {0x55, 0x2, 0x2, 0, 0},
8234 {0x56, 0xff, 0xff, 1, 1},
8236 {0x58, 0x83, 0x83, 0, 0},
8237 {0x59, 0x77, 0x77, 1, 1},
8239 {0x5B, 0x2, 0x2, 0, 0},
8240 {0x5C, 0x88, 0x88, 0, 0},
8242 {0x5E, 0x8, 0x8, 0, 0},
8243 {0x5F, 0x77, 0x77, 1, 1},
8244 {0x60, 0x1, 0x1, 0, 0},
8246 {0x62, 0x7, 0x7, 0, 0},
8248 {0x64, 0x7, 0x7, 0, 0},
8251 {0x67, 0x74, 0x74, 1, 1},
8253 {0x69, 0xa, 0xa, 0, 0},
8261 {0x71, 0x2, 0x2, 0, 0},
8264 {0x74, 0xe, 0xe, 0, 0},
8265 {0x75, 0xe, 0xe, 0, 0},
8266 {0x76, 0xe, 0xe, 0, 0},
8267 {0x77, 0x13, 0x13, 0, 0},
8268 {0x78, 0x13, 0x13, 0, 0},
8269 {0x79, 0x1b, 0x1b, 0, 0},
8270 {0x7A, 0x1b, 0x1b, 0, 0},
8271 {0x7B, 0x55, 0x55, 0, 0},
8272 {0x7C, 0x5b, 0x5b, 0, 0},
8295 {0xFFFF, 0, 0, 0, 0}
8298 radio_regs_t regs_RX_2056
[] = {
8329 {0x20, 0x3, 0x3, 0, 0},
8332 {0x23, 0x90, 0x90, 0, 0},
8333 {0x24, 0x55, 0x55, 0, 0},
8334 {0x25, 0x15, 0x15, 0, 0},
8335 {0x26, 0x5, 0x5, 0, 0},
8336 {0x27, 0x15, 0x15, 0, 0},
8337 {0x28, 0x5, 0x5, 0, 0},
8338 {0x29, 0x20, 0x20, 0, 0},
8339 {0x2A, 0x11, 0x11, 0, 0},
8340 {0x2B, 0x90, 0x90, 0, 0},
8342 {0x2D, 0x88, 0x88, 0, 0},
8343 {0x2E, 0x32, 0x32, 0, 0},
8344 {0x2F, 0x77, 0x77, 0, 0},
8345 {0x30, 0x17, 0x17, 1, 1},
8346 {0x31, 0xff, 0xff, 1, 1},
8347 {0x32, 0x20, 0x20, 0, 0},
8349 {0x34, 0x88, 0x88, 0, 0},
8350 {0x35, 0x32, 0x32, 0, 0},
8351 {0x36, 0x77, 0x77, 0, 0},
8352 {0x37, 0x17, 0x17, 1, 1},
8353 {0x38, 0xf0, 0xf0, 1, 1},
8354 {0x39, 0x20, 0x20, 0, 0},
8355 {0x3A, 0x8, 0x8, 0, 0},
8356 {0x3B, 0x99, 0x99, 0, 0},
8358 {0x3D, 0x44, 0x44, 1, 1},
8360 {0x3F, 0x44, 0x44, 0, 0},
8361 {0x40, 0xf, 0xf, 1, 1},
8362 {0x41, 0x6, 0x6, 0, 0},
8363 {0x42, 0x4, 0x4, 0, 0},
8364 {0x43, 0x50, 0x50, 1, 1},
8365 {0x44, 0x8, 0x8, 0, 0},
8366 {0x45, 0x99, 0x99, 0, 0},
8368 {0x47, 0x11, 0x11, 0, 0},
8370 {0x49, 0x44, 0x44, 0, 0},
8371 {0x4A, 0x7, 0x7, 0, 0},
8372 {0x4B, 0x6, 0x6, 0, 0},
8373 {0x4C, 0x4, 0x4, 0, 0},
8376 {0x4F, 0x66, 0x66, 0, 0},
8377 {0x50, 0x66, 0x66, 0, 0},
8378 {0x51, 0x57, 0x57, 0, 0},
8379 {0x52, 0x57, 0x57, 0, 0},
8380 {0x53, 0x44, 0x44, 0, 0},
8383 {0x56, 0x8, 0x8, 0, 0},
8384 {0x57, 0x8, 0x8, 0, 0},
8385 {0x58, 0x7, 0x7, 0, 0},
8386 {0x59, 0x22, 0x22, 0, 0},
8387 {0x5A, 0x22, 0x22, 0, 0},
8388 {0x5B, 0x2, 0x2, 0, 0},
8389 {0x5C, 0x23, 0x23, 0, 0},
8390 {0x5D, 0x7, 0x7, 0, 0},
8391 {0x5E, 0x55, 0x55, 0, 0},
8392 {0x5F, 0x23, 0x23, 0, 0},
8393 {0x60, 0x41, 0x41, 0, 0},
8394 {0x61, 0x1, 0x1, 0, 0},
8395 {0x62, 0xa, 0xa, 0, 0},
8404 {0x6B, 0xc, 0xc, 0, 0},
8411 {0x72, 0x22, 0x22, 0, 0},
8412 {0x73, 0x22, 0x22, 0, 0},
8413 {0x74, 0x2, 0x2, 0, 0},
8414 {0x75, 0xa, 0xa, 0, 0},
8415 {0x76, 0x1, 0x1, 0, 0},
8416 {0x77, 0x22, 0x22, 0, 0},
8417 {0x78, 0x30, 0x30, 0, 0},
8446 {0xFFFF, 0, 0, 0, 0}
8449 radio_regs_t regs_SYN_2056_A1
[] = {
8457 {0x09, 0x1, 0x1, 0, 0},
8482 {0x22, 0x60, 0x60, 0, 0},
8483 {0x23, 0x6, 0x6, 0, 0},
8484 {0x24, 0xc, 0xc, 0, 0},
8488 {0x28, 0x1, 0x1, 0, 0},
8494 {0x2E, 0xd, 0xd, 0, 0},
8495 {0x2F, 0x1f, 0x1f, 0, 0},
8496 {0x30, 0x15, 0x15, 0, 0},
8497 {0x31, 0xf, 0xf, 0, 0},
8508 {0x3C, 0x13, 0x13, 0, 0},
8509 {0x3D, 0xf, 0xf, 0, 0},
8510 {0x3E, 0x18, 0x18, 0, 0},
8513 {0x41, 0x20, 0x20, 0, 0},
8514 {0x42, 0x20, 0x20, 0, 0},
8516 {0x44, 0x77, 0x77, 0, 0},
8517 {0x45, 0x7, 0x7, 0, 0},
8518 {0x46, 0x1, 0x1, 0, 0},
8519 {0x47, 0x4, 0x4, 0, 0},
8520 {0x48, 0xf, 0xf, 0, 0},
8521 {0x49, 0x30, 0x30, 0, 0},
8522 {0x4A, 0x32, 0x32, 0, 0},
8523 {0x4B, 0xd, 0xd, 0, 0},
8524 {0x4C, 0xd, 0xd, 0, 0},
8525 {0x4D, 0x4, 0x4, 0, 0},
8526 {0x4E, 0x6, 0x6, 0, 0},
8527 {0x4F, 0x1, 0x1, 0, 0},
8528 {0x50, 0x1c, 0x1c, 0, 0},
8529 {0x51, 0x2, 0x2, 0, 0},
8530 {0x52, 0x2, 0x2, 0, 0},
8531 {0x53, 0xf7, 0xf7, 1, 1},
8532 {0x54, 0xb4, 0xb4, 0, 0},
8533 {0x55, 0xd2, 0xd2, 0, 0},
8536 {0x58, 0x4, 0x4, 0, 0},
8537 {0x59, 0x96, 0x96, 0, 0},
8538 {0x5A, 0x3e, 0x3e, 0, 0},
8539 {0x5B, 0x3e, 0x3e, 0, 0},
8540 {0x5C, 0x13, 0x13, 0, 0},
8541 {0x5D, 0x2, 0x2, 0, 0},
8543 {0x5F, 0x7, 0x7, 0, 0},
8544 {0x60, 0x7, 0x7, 1, 1},
8545 {0x61, 0x8, 0x8, 0, 0},
8546 {0x62, 0x3, 0x3, 0, 0},
8552 {0x68, 0x40, 0x40, 0, 0},
8557 {0x6D, 0x1, 0x1, 0, 0},
8560 {0x70, 0x60, 0x60, 0, 0},
8561 {0x71, 0x66, 0x66, 0, 0},
8562 {0x72, 0xc, 0xc, 0, 0},
8563 {0x73, 0x66, 0x66, 0, 0},
8564 {0x74, 0x8f, 0x8f, 1, 1},
8566 {0x76, 0xcc, 0xcc, 0, 0},
8567 {0x77, 0x1, 0x1, 0, 0},
8568 {0x78, 0x66, 0x66, 0, 0},
8569 {0x79, 0x66, 0x66, 0, 0},
8581 {0x85, 0xff, 0xff, 0, 0},
8607 {0x9F, 0x6, 0x6, 0, 0},
8608 {0xA0, 0x66, 0x66, 0, 0},
8609 {0xA1, 0x66, 0x66, 0, 0},
8610 {0xA2, 0x66, 0x66, 0, 0},
8611 {0xA3, 0x66, 0x66, 0, 0},
8612 {0xA4, 0x66, 0x66, 0, 0},
8613 {0xA5, 0x66, 0x66, 0, 0},
8614 {0xA6, 0x66, 0x66, 0, 0},
8615 {0xA7, 0x66, 0x66, 0, 0},
8616 {0xA8, 0x66, 0x66, 0, 0},
8617 {0xA9, 0x66, 0x66, 0, 0},
8618 {0xAA, 0x66, 0x66, 0, 0},
8619 {0xAB, 0x66, 0x66, 0, 0},
8620 {0xAC, 0x66, 0x66, 0, 0},
8621 {0xAD, 0x66, 0x66, 0, 0},
8622 {0xAE, 0x66, 0x66, 0, 0},
8623 {0xAF, 0x66, 0x66, 0, 0},
8624 {0xB0, 0x66, 0x66, 0, 0},
8625 {0xB1, 0x66, 0x66, 0, 0},
8626 {0xB2, 0x66, 0x66, 0, 0},
8627 {0xB3, 0xa, 0xa, 0, 0},
8631 {0xFFFF, 0, 0, 0, 0}
8634 radio_regs_t regs_TX_2056_A1
[] = {
8666 {0x21, 0x88, 0x88, 0, 0},
8667 {0x22, 0x88, 0x88, 0, 0},
8668 {0x23, 0x88, 0x88, 0, 0},
8669 {0x24, 0x88, 0x88, 0, 0},
8670 {0x25, 0xc, 0xc, 0, 0},
8672 {0x27, 0x3, 0x3, 0, 0},
8674 {0x29, 0x3, 0x3, 0, 0},
8675 {0x2A, 0x37, 0x37, 0, 0},
8676 {0x2B, 0x3, 0x3, 0, 0},
8679 {0x2E, 0x1, 0x1, 0, 0},
8680 {0x2F, 0x1, 0x1, 0, 0},
8684 {0x33, 0x11, 0x11, 0, 0},
8685 {0x34, 0x11, 0x11, 0, 0},
8688 {0x37, 0x3, 0x3, 0, 0},
8689 {0x38, 0xf, 0xf, 0, 0},
8691 {0x3A, 0x2d, 0x2d, 0, 0},
8693 {0x3C, 0x6e, 0x6e, 0, 0},
8694 {0x3D, 0xf0, 0xf0, 1, 1},
8698 {0x41, 0x3, 0x3, 0, 0},
8699 {0x42, 0x3, 0x3, 0, 0},
8701 {0x44, 0x1e, 0x1e, 0, 0},
8703 {0x46, 0x6e, 0x6e, 0, 0},
8704 {0x47, 0xf0, 0xf0, 1, 1},
8706 {0x49, 0x2, 0x2, 0, 0},
8707 {0x4A, 0xff, 0xff, 1, 1},
8708 {0x4B, 0xc, 0xc, 0, 0},
8710 {0x4D, 0x38, 0x38, 0, 0},
8711 {0x4E, 0x70, 0x70, 1, 1},
8712 {0x4F, 0x2, 0x2, 0, 0},
8713 {0x50, 0x88, 0x88, 0, 0},
8714 {0x51, 0xc, 0xc, 0, 0},
8716 {0x53, 0x8, 0x8, 0, 0},
8717 {0x54, 0x70, 0x70, 1, 1},
8718 {0x55, 0x2, 0x2, 0, 0},
8719 {0x56, 0xff, 0xff, 1, 1},
8721 {0x58, 0x83, 0x83, 0, 0},
8722 {0x59, 0x77, 0x77, 1, 1},
8724 {0x5B, 0x2, 0x2, 0, 0},
8725 {0x5C, 0x88, 0x88, 0, 0},
8727 {0x5E, 0x8, 0x8, 0, 0},
8728 {0x5F, 0x77, 0x77, 1, 1},
8729 {0x60, 0x1, 0x1, 0, 0},
8731 {0x62, 0x7, 0x7, 0, 0},
8733 {0x64, 0x7, 0x7, 0, 0},
8736 {0x67, 0x72, 0x72, 1, 1},
8738 {0x69, 0xa, 0xa, 0, 0},
8746 {0x71, 0x2, 0x2, 0, 0},
8749 {0x74, 0xe, 0xe, 0, 0},
8750 {0x75, 0xe, 0xe, 0, 0},
8751 {0x76, 0xe, 0xe, 0, 0},
8752 {0x77, 0x13, 0x13, 0, 0},
8753 {0x78, 0x13, 0x13, 0, 0},
8754 {0x79, 0x1b, 0x1b, 0, 0},
8755 {0x7A, 0x1b, 0x1b, 0, 0},
8756 {0x7B, 0x55, 0x55, 0, 0},
8757 {0x7C, 0x5b, 0x5b, 0, 0},
8780 {0xFFFF, 0, 0, 0, 0}
8783 radio_regs_t regs_RX_2056_A1
[] = {
8814 {0x20, 0x3, 0x3, 0, 0},
8817 {0x23, 0x90, 0x90, 0, 0},
8818 {0x24, 0x55, 0x55, 0, 0},
8819 {0x25, 0x15, 0x15, 0, 0},
8820 {0x26, 0x5, 0x5, 0, 0},
8821 {0x27, 0x15, 0x15, 0, 0},
8822 {0x28, 0x5, 0x5, 0, 0},
8823 {0x29, 0x20, 0x20, 0, 0},
8824 {0x2A, 0x11, 0x11, 0, 0},
8825 {0x2B, 0x90, 0x90, 0, 0},
8827 {0x2D, 0x88, 0x88, 0, 0},
8828 {0x2E, 0x32, 0x32, 0, 0},
8829 {0x2F, 0x77, 0x77, 0, 0},
8830 {0x30, 0x17, 0x17, 1, 1},
8831 {0x31, 0xff, 0xff, 1, 1},
8832 {0x32, 0x20, 0x20, 0, 0},
8834 {0x34, 0x88, 0x88, 0, 0},
8835 {0x35, 0x32, 0x32, 0, 0},
8836 {0x36, 0x77, 0x77, 0, 0},
8837 {0x37, 0x17, 0x17, 1, 1},
8838 {0x38, 0xf0, 0xf0, 1, 1},
8839 {0x39, 0x20, 0x20, 0, 0},
8840 {0x3A, 0x8, 0x8, 0, 0},
8841 {0x3B, 0x55, 0x55, 1, 1},
8843 {0x3D, 0x44, 0x44, 1, 1},
8845 {0x3F, 0x44, 0x44, 0, 0},
8846 {0x40, 0xf, 0xf, 1, 1},
8847 {0x41, 0x6, 0x6, 0, 0},
8848 {0x42, 0x4, 0x4, 0, 0},
8849 {0x43, 0x50, 0x50, 1, 1},
8850 {0x44, 0x8, 0x8, 0, 0},
8851 {0x45, 0x55, 0x55, 1, 1},
8853 {0x47, 0x11, 0x11, 0, 0},
8855 {0x49, 0x44, 0x44, 0, 0},
8856 {0x4A, 0x7, 0x7, 0, 0},
8857 {0x4B, 0x6, 0x6, 0, 0},
8858 {0x4C, 0x4, 0x4, 0, 0},
8861 {0x4F, 0x26, 0x26, 1, 1},
8862 {0x50, 0x26, 0x26, 1, 1},
8863 {0x51, 0xf, 0xf, 1, 1},
8864 {0x52, 0xf, 0xf, 1, 1},
8865 {0x53, 0x44, 0x44, 0, 0},
8868 {0x56, 0x8, 0x8, 0, 0},
8869 {0x57, 0x8, 0x8, 0, 0},
8870 {0x58, 0x7, 0x7, 0, 0},
8871 {0x59, 0x22, 0x22, 0, 0},
8872 {0x5A, 0x22, 0x22, 0, 0},
8873 {0x5B, 0x2, 0x2, 0, 0},
8874 {0x5C, 0x2f, 0x2f, 1, 1},
8875 {0x5D, 0x7, 0x7, 0, 0},
8876 {0x5E, 0x55, 0x55, 0, 0},
8877 {0x5F, 0x23, 0x23, 0, 0},
8878 {0x60, 0x41, 0x41, 0, 0},
8879 {0x61, 0x1, 0x1, 0, 0},
8880 {0x62, 0xa, 0xa, 0, 0},
8889 {0x6B, 0xc, 0xc, 0, 0},
8896 {0x72, 0x22, 0x22, 0, 0},
8897 {0x73, 0x22, 0x22, 0, 0},
8899 {0x75, 0xa, 0xa, 0, 0},
8900 {0x76, 0x1, 0x1, 0, 0},
8901 {0x77, 0x22, 0x22, 0, 0},
8902 {0x78, 0x30, 0x30, 0, 0},
8931 {0xFFFF, 0, 0, 0, 0}
8934 radio_regs_t regs_SYN_2056_rev5
[] = {
8942 {0x09, 0x1, 0x1, 0, 0},
8967 {0x22, 0x60, 0x60, 0, 0},
8968 {0x23, 0x6, 0x6, 0, 0},
8969 {0x24, 0xc, 0xc, 0, 0},
8973 {0x28, 0x1, 0x1, 0, 0},
8980 {0x2F, 0x1f, 0x1f, 0, 0},
8981 {0x30, 0x15, 0x15, 0, 0},
8982 {0x31, 0xf, 0xf, 0, 0},
8993 {0x3C, 0x13, 0x13, 0, 0},
8994 {0x3D, 0xf, 0xf, 0, 0},
8995 {0x3E, 0x18, 0x18, 0, 0},
8998 {0x41, 0x20, 0x20, 0, 0},
8999 {0x42, 0x20, 0x20, 0, 0},
9001 {0x44, 0x77, 0x77, 0, 0},
9002 {0x45, 0x7, 0x7, 0, 0},
9003 {0x46, 0x1, 0x1, 0, 0},
9004 {0x47, 0x4, 0x4, 0, 0},
9005 {0x48, 0xf, 0xf, 0, 0},
9006 {0x49, 0x30, 0x30, 0, 0},
9007 {0x4A, 0x32, 0x32, 0, 0},
9008 {0x4B, 0xd, 0xd, 0, 0},
9009 {0x4C, 0xd, 0xd, 0, 0},
9010 {0x4D, 0x4, 0x4, 0, 0},
9011 {0x4E, 0x6, 0x6, 0, 0},
9012 {0x4F, 0x1, 0x1, 0, 0},
9013 {0x50, 0x1c, 0x1c, 0, 0},
9014 {0x51, 0x2, 0x2, 0, 0},
9015 {0x52, 0x2, 0x2, 0, 0},
9016 {0x53, 0xf7, 0xf7, 1, 1},
9017 {0x54, 0xb4, 0xb4, 0, 0},
9018 {0x55, 0xd2, 0xd2, 0, 0},
9021 {0x58, 0x4, 0x4, 0, 0},
9022 {0x59, 0x96, 0x96, 0, 0},
9023 {0x5A, 0x3e, 0x3e, 0, 0},
9024 {0x5B, 0x3e, 0x3e, 0, 0},
9025 {0x5C, 0x13, 0x13, 0, 0},
9026 {0x5D, 0x2, 0x2, 0, 0},
9028 {0x5F, 0x7, 0x7, 0, 0},
9029 {0x60, 0x7, 0x7, 1, 1},
9030 {0x61, 0x8, 0x8, 0, 0},
9031 {0x62, 0x3, 0x3, 0, 0},
9037 {0x68, 0x40, 0x40, 0, 0},
9042 {0x6D, 0x1, 0x1, 0, 0},
9045 {0x70, 0x60, 0x60, 0, 0},
9046 {0x71, 0x66, 0x66, 0, 0},
9047 {0x72, 0xc, 0xc, 0, 0},
9048 {0x73, 0x66, 0x66, 0, 0},
9049 {0x74, 0x8f, 0x8f, 1, 1},
9051 {0x76, 0xcc, 0xcc, 0, 0},
9052 {0x77, 0x1, 0x1, 0, 0},
9053 {0x78, 0x66, 0x66, 0, 0},
9054 {0x79, 0x66, 0x66, 0, 0},
9066 {0x85, 0xff, 0xff, 0, 0},
9092 {0x9F, 0x6, 0x6, 0, 0},
9093 {0xA0, 0x66, 0x66, 0, 0},
9094 {0xA1, 0x66, 0x66, 0, 0},
9095 {0xA2, 0x66, 0x66, 0, 0},
9096 {0xA3, 0x66, 0x66, 0, 0},
9097 {0xA4, 0x66, 0x66, 0, 0},
9098 {0xA5, 0x66, 0x66, 0, 0},
9099 {0xA6, 0x66, 0x66, 0, 0},
9100 {0xA7, 0x66, 0x66, 0, 0},
9101 {0xA8, 0x66, 0x66, 0, 0},
9102 {0xA9, 0x66, 0x66, 0, 0},
9103 {0xAA, 0x66, 0x66, 0, 0},
9104 {0xAB, 0x66, 0x66, 0, 0},
9105 {0xAC, 0x66, 0x66, 0, 0},
9106 {0xAD, 0x66, 0x66, 0, 0},
9107 {0xAE, 0x66, 0x66, 0, 0},
9108 {0xAF, 0x66, 0x66, 0, 0},
9109 {0xB0, 0x66, 0x66, 0, 0},
9110 {0xB1, 0x66, 0x66, 0, 0},
9111 {0xB2, 0x66, 0x66, 0, 0},
9112 {0xB3, 0xa, 0xa, 0, 0},
9116 {0xFFFF, 0, 0, 0, 0}
9119 radio_regs_t regs_TX_2056_rev5
[] = {
9151 {0x21, 0x88, 0x88, 0, 0},
9152 {0x22, 0x88, 0x88, 0, 0},
9153 {0x23, 0x88, 0x88, 0, 0},
9154 {0x24, 0x88, 0x88, 0, 0},
9155 {0x25, 0xc, 0xc, 0, 0},
9157 {0x27, 0x3, 0x3, 0, 0},
9159 {0x29, 0x3, 0x3, 0, 0},
9160 {0x2A, 0x37, 0x37, 0, 0},
9161 {0x2B, 0x3, 0x3, 0, 0},
9164 {0x2E, 0x1, 0x1, 0, 0},
9165 {0x2F, 0x1, 0x1, 0, 0},
9169 {0x33, 0x11, 0x11, 0, 0},
9170 {0x34, 0x11, 0x11, 0, 0},
9173 {0x37, 0x3, 0x3, 0, 0},
9174 {0x38, 0xf, 0xf, 0, 0},
9176 {0x3A, 0x2d, 0x2d, 0, 0},
9178 {0x3C, 0x6e, 0x6e, 0, 0},
9179 {0x3D, 0xf0, 0xf0, 1, 1},
9183 {0x41, 0x3, 0x3, 0, 0},
9184 {0x42, 0x3, 0x3, 0, 0},
9186 {0x44, 0x1e, 0x1e, 0, 0},
9188 {0x46, 0x6e, 0x6e, 0, 0},
9189 {0x47, 0xf0, 0xf0, 1, 1},
9191 {0x49, 0x2, 0x2, 0, 0},
9192 {0x4A, 0xff, 0xff, 1, 1},
9193 {0x4B, 0xc, 0xc, 0, 0},
9195 {0x4D, 0x38, 0x38, 0, 0},
9196 {0x4E, 0x70, 0x70, 1, 1},
9197 {0x4F, 0x2, 0x2, 0, 0},
9198 {0x50, 0x88, 0x88, 0, 0},
9199 {0x51, 0xc, 0xc, 0, 0},
9201 {0x53, 0x8, 0x8, 0, 0},
9202 {0x54, 0x70, 0x70, 1, 1},
9203 {0x55, 0x2, 0x2, 0, 0},
9204 {0x56, 0xff, 0xff, 1, 1},
9206 {0x58, 0x83, 0x83, 0, 0},
9207 {0x59, 0x77, 0x77, 1, 1},
9209 {0x5B, 0x2, 0x2, 0, 0},
9210 {0x5C, 0x88, 0x88, 0, 0},
9212 {0x5E, 0x8, 0x8, 0, 0},
9213 {0x5F, 0x77, 0x77, 1, 1},
9214 {0x60, 0x1, 0x1, 0, 0},
9216 {0x62, 0x7, 0x7, 0, 0},
9218 {0x64, 0x7, 0x7, 0, 0},
9223 {0x69, 0xa, 0xa, 0, 0},
9231 {0x71, 0x2, 0x2, 0, 0},
9234 {0x74, 0xe, 0xe, 0, 0},
9235 {0x75, 0xe, 0xe, 0, 0},
9236 {0x76, 0xe, 0xe, 0, 0},
9237 {0x77, 0x13, 0x13, 0, 0},
9238 {0x78, 0x13, 0x13, 0, 0},
9239 {0x79, 0x1b, 0x1b, 0, 0},
9240 {0x7A, 0x1b, 0x1b, 0, 0},
9241 {0x7B, 0x55, 0x55, 0, 0},
9242 {0x7C, 0x5b, 0x5b, 0, 0},
9265 {0x93, 0x70, 0x70, 0, 0},
9266 {0x94, 0x70, 0x70, 0, 0},
9267 {0x95, 0x71, 0x71, 1, 1},
9268 {0x96, 0x71, 0x71, 1, 1},
9269 {0x97, 0x72, 0x72, 1, 1},
9270 {0x98, 0x73, 0x73, 1, 1},
9271 {0x99, 0x74, 0x74, 1, 1},
9272 {0x9A, 0x75, 0x75, 1, 1},
9273 {0xFFFF, 0, 0, 0, 0}
9276 radio_regs_t regs_RX_2056_rev5
[] = {
9307 {0x20, 0x3, 0x3, 0, 0},
9310 {0x23, 0x90, 0x90, 0, 0},
9311 {0x24, 0x55, 0x55, 0, 0},
9312 {0x25, 0x15, 0x15, 0, 0},
9313 {0x26, 0x5, 0x5, 0, 0},
9314 {0x27, 0x15, 0x15, 0, 0},
9315 {0x28, 0x5, 0x5, 0, 0},
9316 {0x29, 0x20, 0x20, 0, 0},
9317 {0x2A, 0x11, 0x11, 0, 0},
9318 {0x2B, 0x90, 0x90, 0, 0},
9320 {0x2D, 0x88, 0x88, 0, 0},
9321 {0x2E, 0x32, 0x32, 0, 0},
9322 {0x2F, 0x77, 0x77, 0, 0},
9323 {0x30, 0x17, 0x17, 1, 1},
9324 {0x31, 0xff, 0xff, 1, 1},
9325 {0x32, 0x20, 0x20, 0, 0},
9327 {0x34, 0x88, 0x88, 0, 0},
9328 {0x35, 0x32, 0x32, 0, 0},
9329 {0x36, 0x77, 0x77, 0, 0},
9330 {0x37, 0x17, 0x17, 1, 1},
9331 {0x38, 0xf0, 0xf0, 1, 1},
9332 {0x39, 0x20, 0x20, 0, 0},
9333 {0x3A, 0x8, 0x8, 0, 0},
9334 {0x3B, 0x55, 0x55, 1, 1},
9336 {0x3D, 0x88, 0x88, 1, 1},
9339 {0x40, 0x7, 0x7, 1, 1},
9340 {0x41, 0x6, 0x6, 0, 0},
9341 {0x42, 0x4, 0x4, 0, 0},
9343 {0x44, 0x8, 0x8, 0, 0},
9344 {0x45, 0x55, 0x55, 1, 1},
9346 {0x47, 0x11, 0x11, 0, 0},
9349 {0x4A, 0x7, 0x7, 0, 0},
9350 {0x4B, 0x6, 0x6, 0, 0},
9351 {0x4C, 0x4, 0x4, 0, 0},
9354 {0x4F, 0x26, 0x26, 1, 1},
9355 {0x50, 0x26, 0x26, 1, 1},
9356 {0x51, 0xf, 0xf, 1, 1},
9357 {0x52, 0xf, 0xf, 1, 1},
9358 {0x53, 0x44, 0x44, 0, 0},
9361 {0x56, 0x8, 0x8, 0, 0},
9362 {0x57, 0x8, 0x8, 0, 0},
9363 {0x58, 0x7, 0x7, 0, 0},
9364 {0x59, 0x22, 0x22, 0, 0},
9365 {0x5A, 0x22, 0x22, 0, 0},
9366 {0x5B, 0x2, 0x2, 0, 0},
9367 {0x5C, 0x4, 0x4, 1, 1},
9368 {0x5D, 0x7, 0x7, 0, 0},
9369 {0x5E, 0x55, 0x55, 0, 0},
9370 {0x5F, 0x23, 0x23, 0, 0},
9371 {0x60, 0x41, 0x41, 0, 0},
9372 {0x61, 0x1, 0x1, 0, 0},
9373 {0x62, 0xa, 0xa, 0, 0},
9382 {0x6B, 0xc, 0xc, 0, 0},
9389 {0x72, 0x22, 0x22, 0, 0},
9390 {0x73, 0x22, 0x22, 0, 0},
9392 {0x75, 0xa, 0xa, 0, 0},
9393 {0x76, 0x1, 0x1, 0, 0},
9394 {0x77, 0x22, 0x22, 0, 0},
9395 {0x78, 0x30, 0x30, 0, 0},
9424 {0xFFFF, 0, 0, 0, 0}
9427 radio_regs_t regs_SYN_2056_rev6
[] = {
9435 {0x09, 0x1, 0x1, 0, 0},
9460 {0x22, 0x60, 0x60, 0, 0},
9461 {0x23, 0x6, 0x6, 0, 0},
9462 {0x24, 0xc, 0xc, 0, 0},
9466 {0x28, 0x1, 0x1, 0, 0},
9473 {0x2F, 0x1f, 0x1f, 0, 0},
9474 {0x30, 0x15, 0x15, 0, 0},
9475 {0x31, 0xf, 0xf, 0, 0},
9486 {0x3C, 0x13, 0x13, 0, 0},
9487 {0x3D, 0xf, 0xf, 0, 0},
9488 {0x3E, 0x18, 0x18, 0, 0},
9491 {0x41, 0x20, 0x20, 0, 0},
9492 {0x42, 0x20, 0x20, 0, 0},
9494 {0x44, 0x77, 0x77, 0, 0},
9495 {0x45, 0x7, 0x7, 0, 0},
9496 {0x46, 0x1, 0x1, 0, 0},
9497 {0x47, 0x4, 0x4, 0, 0},
9498 {0x48, 0xf, 0xf, 0, 0},
9499 {0x49, 0x30, 0x30, 0, 0},
9500 {0x4A, 0x32, 0x32, 0, 0},
9501 {0x4B, 0xd, 0xd, 0, 0},
9502 {0x4C, 0xd, 0xd, 0, 0},
9503 {0x4D, 0x4, 0x4, 0, 0},
9504 {0x4E, 0x6, 0x6, 0, 0},
9505 {0x4F, 0x1, 0x1, 0, 0},
9506 {0x50, 0x1c, 0x1c, 0, 0},
9507 {0x51, 0x2, 0x2, 0, 0},
9508 {0x52, 0x2, 0x2, 0, 0},
9509 {0x53, 0xf7, 0xf7, 1, 1},
9510 {0x54, 0xb4, 0xb4, 0, 0},
9511 {0x55, 0xd2, 0xd2, 0, 0},
9514 {0x58, 0x4, 0x4, 0, 0},
9515 {0x59, 0x96, 0x96, 0, 0},
9516 {0x5A, 0x3e, 0x3e, 0, 0},
9517 {0x5B, 0x3e, 0x3e, 0, 0},
9518 {0x5C, 0x13, 0x13, 0, 0},
9519 {0x5D, 0x2, 0x2, 0, 0},
9521 {0x5F, 0x7, 0x7, 0, 0},
9522 {0x60, 0x7, 0x7, 1, 1},
9523 {0x61, 0x8, 0x8, 0, 0},
9524 {0x62, 0x3, 0x3, 0, 0},
9530 {0x68, 0x40, 0x40, 0, 0},
9535 {0x6D, 0x1, 0x1, 0, 0},
9538 {0x70, 0x60, 0x60, 0, 0},
9539 {0x71, 0x66, 0x66, 0, 0},
9540 {0x72, 0xc, 0xc, 0, 0},
9541 {0x73, 0x66, 0x66, 0, 0},
9542 {0x74, 0x8f, 0x8f, 1, 1},
9544 {0x76, 0xcc, 0xcc, 0, 0},
9545 {0x77, 0x1, 0x1, 0, 0},
9546 {0x78, 0x66, 0x66, 0, 0},
9547 {0x79, 0x66, 0x66, 0, 0},
9559 {0x85, 0xff, 0xff, 0, 0},
9585 {0x9F, 0x6, 0x6, 0, 0},
9586 {0xA0, 0x66, 0x66, 0, 0},
9587 {0xA1, 0x66, 0x66, 0, 0},
9588 {0xA2, 0x66, 0x66, 0, 0},
9589 {0xA3, 0x66, 0x66, 0, 0},
9590 {0xA4, 0x66, 0x66, 0, 0},
9591 {0xA5, 0x66, 0x66, 0, 0},
9592 {0xA6, 0x66, 0x66, 0, 0},
9593 {0xA7, 0x66, 0x66, 0, 0},
9594 {0xA8, 0x66, 0x66, 0, 0},
9595 {0xA9, 0x66, 0x66, 0, 0},
9596 {0xAA, 0x66, 0x66, 0, 0},
9597 {0xAB, 0x66, 0x66, 0, 0},
9598 {0xAC, 0x66, 0x66, 0, 0},
9599 {0xAD, 0x66, 0x66, 0, 0},
9600 {0xAE, 0x66, 0x66, 0, 0},
9601 {0xAF, 0x66, 0x66, 0, 0},
9602 {0xB0, 0x66, 0x66, 0, 0},
9603 {0xB1, 0x66, 0x66, 0, 0},
9604 {0xB2, 0x66, 0x66, 0, 0},
9605 {0xB3, 0xa, 0xa, 0, 0},
9609 {0xFFFF, 0, 0, 0, 0}
9612 radio_regs_t regs_TX_2056_rev6
[] = {
9644 {0x21, 0x88, 0x88, 0, 0},
9645 {0x22, 0x88, 0x88, 0, 0},
9646 {0x23, 0x88, 0x88, 0, 0},
9647 {0x24, 0x88, 0x88, 0, 0},
9648 {0x25, 0xc, 0xc, 0, 0},
9650 {0x27, 0x3, 0x3, 0, 0},
9652 {0x29, 0x3, 0x3, 0, 0},
9653 {0x2A, 0x37, 0x37, 0, 0},
9654 {0x2B, 0x3, 0x3, 0, 0},
9657 {0x2E, 0x1, 0x1, 0, 0},
9658 {0x2F, 0x1, 0x1, 0, 0},
9662 {0x33, 0x11, 0x11, 0, 0},
9663 {0x34, 0xee, 0xee, 1, 1},
9666 {0x37, 0x3, 0x3, 0, 0},
9667 {0x38, 0x50, 0x50, 1, 1},
9669 {0x3A, 0x50, 0x50, 1, 1},
9671 {0x3C, 0x6e, 0x6e, 0, 0},
9672 {0x3D, 0xf0, 0xf0, 1, 1},
9676 {0x41, 0x3, 0x3, 0, 0},
9677 {0x42, 0x3, 0x3, 0, 0},
9679 {0x44, 0x1e, 0x1e, 0, 0},
9681 {0x46, 0x6e, 0x6e, 0, 0},
9682 {0x47, 0xf0, 0xf0, 1, 1},
9684 {0x49, 0x2, 0x2, 0, 0},
9685 {0x4A, 0xff, 0xff, 1, 1},
9686 {0x4B, 0xc, 0xc, 0, 0},
9688 {0x4D, 0x38, 0x38, 0, 0},
9689 {0x4E, 0x70, 0x70, 1, 1},
9690 {0x4F, 0x2, 0x2, 0, 0},
9691 {0x50, 0x88, 0x88, 0, 0},
9692 {0x51, 0xc, 0xc, 0, 0},
9694 {0x53, 0x8, 0x8, 0, 0},
9695 {0x54, 0x70, 0x70, 1, 1},
9696 {0x55, 0x2, 0x2, 0, 0},
9697 {0x56, 0xff, 0xff, 1, 1},
9699 {0x58, 0x83, 0x83, 0, 0},
9700 {0x59, 0x77, 0x77, 1, 1},
9702 {0x5B, 0x2, 0x2, 0, 0},
9703 {0x5C, 0x88, 0x88, 0, 0},
9705 {0x5E, 0x8, 0x8, 0, 0},
9706 {0x5F, 0x77, 0x77, 1, 1},
9707 {0x60, 0x1, 0x1, 0, 0},
9709 {0x62, 0x7, 0x7, 0, 0},
9711 {0x64, 0x7, 0x7, 0, 0},
9716 {0x69, 0xa, 0xa, 0, 0},
9724 {0x71, 0x2, 0x2, 0, 0},
9727 {0x74, 0xe, 0xe, 0, 0},
9728 {0x75, 0xe, 0xe, 0, 0},
9729 {0x76, 0xe, 0xe, 0, 0},
9730 {0x77, 0x13, 0x13, 0, 0},
9731 {0x78, 0x13, 0x13, 0, 0},
9732 {0x79, 0x1b, 0x1b, 0, 0},
9733 {0x7A, 0x1b, 0x1b, 0, 0},
9734 {0x7B, 0x55, 0x55, 0, 0},
9735 {0x7C, 0x5b, 0x5b, 0, 0},
9736 {0x7D, 0x30, 0x30, 1, 1},
9758 {0x93, 0x70, 0x70, 0, 0},
9759 {0x94, 0x70, 0x70, 0, 0},
9760 {0x95, 0x70, 0x70, 0, 0},
9761 {0x96, 0x70, 0x70, 0, 0},
9762 {0x97, 0x70, 0x70, 0, 0},
9763 {0x98, 0x70, 0x70, 0, 0},
9764 {0x99, 0x70, 0x70, 0, 0},
9765 {0x9A, 0x70, 0x70, 0, 0},
9766 {0xFFFF, 0, 0, 0, 0}
9769 radio_regs_t regs_RX_2056_rev6
[] = {
9800 {0x20, 0x3, 0x3, 0, 0},
9803 {0x23, 0x90, 0x90, 0, 0},
9804 {0x24, 0x55, 0x55, 0, 0},
9805 {0x25, 0x15, 0x15, 0, 0},
9806 {0x26, 0x5, 0x5, 0, 0},
9807 {0x27, 0x15, 0x15, 0, 0},
9808 {0x28, 0x5, 0x5, 0, 0},
9809 {0x29, 0x20, 0x20, 0, 0},
9810 {0x2A, 0x11, 0x11, 0, 0},
9811 {0x2B, 0x90, 0x90, 0, 0},
9813 {0x2D, 0x88, 0x88, 0, 0},
9814 {0x2E, 0x32, 0x32, 0, 0},
9815 {0x2F, 0x77, 0x77, 0, 0},
9816 {0x30, 0x17, 0x17, 1, 1},
9817 {0x31, 0xff, 0xff, 1, 1},
9818 {0x32, 0x20, 0x20, 0, 0},
9820 {0x34, 0x88, 0x88, 0, 0},
9821 {0x35, 0x32, 0x32, 0, 0},
9822 {0x36, 0x77, 0x77, 0, 0},
9823 {0x37, 0x17, 0x17, 1, 1},
9824 {0x38, 0xf0, 0xf0, 1, 1},
9825 {0x39, 0x20, 0x20, 0, 0},
9826 {0x3A, 0x8, 0x8, 0, 0},
9827 {0x3B, 0x55, 0x55, 1, 1},
9829 {0x3D, 0x88, 0x88, 1, 1},
9831 {0x3F, 0x44, 0x44, 0, 0},
9832 {0x40, 0x7, 0x7, 1, 1},
9833 {0x41, 0x6, 0x6, 0, 0},
9834 {0x42, 0x4, 0x4, 0, 0},
9836 {0x44, 0x8, 0x8, 0, 0},
9837 {0x45, 0x55, 0x55, 1, 1},
9839 {0x47, 0x11, 0x11, 0, 0},
9841 {0x49, 0x44, 0x44, 0, 0},
9842 {0x4A, 0x7, 0x7, 0, 0},
9843 {0x4B, 0x6, 0x6, 0, 0},
9844 {0x4C, 0x4, 0x4, 0, 0},
9847 {0x4F, 0x26, 0x26, 1, 1},
9848 {0x50, 0x26, 0x26, 1, 1},
9849 {0x51, 0xf, 0xf, 1, 1},
9850 {0x52, 0xf, 0xf, 1, 1},
9851 {0x53, 0x44, 0x44, 0, 0},
9854 {0x56, 0x8, 0x8, 0, 0},
9855 {0x57, 0x8, 0x8, 0, 0},
9856 {0x58, 0x7, 0x7, 0, 0},
9857 {0x59, 0x22, 0x22, 0, 0},
9858 {0x5A, 0x22, 0x22, 0, 0},
9859 {0x5B, 0x2, 0x2, 0, 0},
9860 {0x5C, 0x4, 0x4, 1, 1},
9861 {0x5D, 0x7, 0x7, 0, 0},
9862 {0x5E, 0x55, 0x55, 0, 0},
9863 {0x5F, 0x23, 0x23, 0, 0},
9864 {0x60, 0x41, 0x41, 0, 0},
9865 {0x61, 0x1, 0x1, 0, 0},
9866 {0x62, 0xa, 0xa, 0, 0},
9875 {0x6B, 0xc, 0xc, 0, 0},
9882 {0x72, 0x22, 0x22, 0, 0},
9883 {0x73, 0x22, 0x22, 0, 0},
9885 {0x75, 0xa, 0xa, 0, 0},
9886 {0x76, 0x1, 0x1, 0, 0},
9887 {0x77, 0x22, 0x22, 0, 0},
9888 {0x78, 0x30, 0x30, 0, 0},
9893 {0x7D, 0x5, 0x5, 1, 1},
9917 {0xFFFF, 0, 0, 0, 0}
9920 radio_regs_t regs_SYN_2056_rev7
[] = {
9928 {0x09, 0x1, 0x1, 0, 0},
9953 {0x22, 0x60, 0x60, 0, 0},
9954 {0x23, 0x6, 0x6, 0, 0},
9955 {0x24, 0xc, 0xc, 0, 0},
9959 {0x28, 0x1, 0x1, 0, 0},
9966 {0x2F, 0x1f, 0x1f, 0, 0},
9967 {0x30, 0x15, 0x15, 0, 0},
9968 {0x31, 0xf, 0xf, 0, 0},
9979 {0x3C, 0x13, 0x13, 0, 0},
9980 {0x3D, 0xf, 0xf, 0, 0},
9981 {0x3E, 0x18, 0x18, 0, 0},
9984 {0x41, 0x20, 0x20, 0, 0},
9985 {0x42, 0x20, 0x20, 0, 0},
9987 {0x44, 0x77, 0x77, 0, 0},
9988 {0x45, 0x7, 0x7, 0, 0},
9989 {0x46, 0x1, 0x1, 0, 0},
9990 {0x47, 0x4, 0x4, 0, 0},
9991 {0x48, 0xf, 0xf, 0, 0},
9992 {0x49, 0x30, 0x30, 0, 0},
9993 {0x4A, 0x32, 0x32, 0, 0},
9994 {0x4B, 0xd, 0xd, 0, 0},
9995 {0x4C, 0xd, 0xd, 0, 0},
9996 {0x4D, 0x4, 0x4, 0, 0},
9997 {0x4E, 0x6, 0x6, 0, 0},
9998 {0x4F, 0x1, 0x1, 0, 0},
9999 {0x50, 0x1c, 0x1c, 0, 0},
10000 {0x51, 0x2, 0x2, 0, 0},
10001 {0x52, 0x2, 0x2, 0, 0},
10002 {0x53, 0xf7, 0xf7, 1, 1},
10003 {0x54, 0xb4, 0xb4, 0, 0},
10004 {0x55, 0xd2, 0xd2, 0, 0},
10005 {0x56, 0, 0, 0, 0},
10006 {0x57, 0, 0, 0, 0},
10007 {0x58, 0x4, 0x4, 0, 0},
10008 {0x59, 0x96, 0x96, 0, 0},
10009 {0x5A, 0x3e, 0x3e, 0, 0},
10010 {0x5B, 0x3e, 0x3e, 0, 0},
10011 {0x5C, 0x13, 0x13, 0, 0},
10012 {0x5D, 0x2, 0x2, 0, 0},
10013 {0x5E, 0, 0, 0, 0},
10014 {0x5F, 0x7, 0x7, 0, 0},
10015 {0x60, 0x7, 0x7, 1, 1},
10016 {0x61, 0x8, 0x8, 0, 0},
10017 {0x62, 0x3, 0x3, 0, 0},
10018 {0x63, 0, 0, 0, 0},
10019 {0x64, 0, 0, 0, 0},
10020 {0x65, 0, 0, 0, 0},
10021 {0x66, 0, 0, 0, 0},
10022 {0x67, 0, 0, 0, 0},
10023 {0x68, 0x40, 0x40, 0, 0},
10024 {0x69, 0, 0, 0, 0},
10025 {0x6A, 0, 0, 0, 0},
10026 {0x6B, 0, 0, 0, 0},
10027 {0x6C, 0, 0, 0, 0},
10028 {0x6D, 0x1, 0x1, 0, 0},
10029 {0x6E, 0, 0, 0, 0},
10030 {0x6F, 0, 0, 0, 0},
10031 {0x70, 0x60, 0x60, 0, 0},
10032 {0x71, 0x66, 0x66, 0, 0},
10033 {0x72, 0xc, 0xc, 0, 0},
10034 {0x73, 0x66, 0x66, 0, 0},
10035 {0x74, 0x8f, 0x8f, 1, 1},
10036 {0x75, 0, 0, 0, 0},
10037 {0x76, 0xcc, 0xcc, 0, 0},
10038 {0x77, 0x1, 0x1, 0, 0},
10039 {0x78, 0x66, 0x66, 0, 0},
10040 {0x79, 0x66, 0x66, 0, 0},
10041 {0x7A, 0, 0, 0, 0},
10042 {0x7B, 0, 0, 0, 0},
10043 {0x7C, 0, 0, 0, 0},
10044 {0x7D, 0, 0, 0, 0},
10045 {0x7E, 0, 0, 0, 0},
10046 {0x7F, 0, 0, 0, 0},
10047 {0x80, 0, 0, 0, 0},
10048 {0x81, 0, 0, 0, 0},
10049 {0x82, 0, 0, 0, 0},
10050 {0x83, 0, 0, 0, 0},
10051 {0x84, 0, 0, 0, 0},
10052 {0x85, 0xff, 0xff, 0, 0},
10053 {0x86, 0, 0, 0, 0},
10054 {0x87, 0, 0, 0, 0},
10055 {0x88, 0, 0, 0, 0},
10056 {0x89, 0, 0, 0, 0},
10057 {0x8A, 0, 0, 0, 0},
10058 {0x8B, 0, 0, 0, 0},
10059 {0x8C, 0, 0, 0, 0},
10060 {0x8D, 0, 0, 0, 0},
10061 {0x8E, 0, 0, 0, 0},
10062 {0x8F, 0, 0, 0, 0},
10063 {0x90, 0, 0, 0, 0},
10064 {0x91, 0, 0, 0, 0},
10065 {0x92, 0, 0, 0, 0},
10066 {0x93, 0, 0, 0, 0},
10067 {0x94, 0, 0, 0, 0},
10068 {0x95, 0, 0, 0, 0},
10069 {0x96, 0, 0, 0, 0},
10070 {0x97, 0, 0, 0, 0},
10071 {0x98, 0, 0, 0, 0},
10072 {0x99, 0, 0, 0, 0},
10073 {0x9A, 0, 0, 0, 0},
10074 {0x9B, 0, 0, 0, 0},
10075 {0x9C, 0, 0, 0, 0},
10076 {0x9D, 0, 0, 0, 0},
10077 {0x9E, 0, 0, 0, 0},
10078 {0x9F, 0x6, 0x6, 0, 0},
10079 {0xA0, 0x66, 0x66, 0, 0},
10080 {0xA1, 0x66, 0x66, 0, 0},
10081 {0xA2, 0x66, 0x66, 0, 0},
10082 {0xA3, 0x66, 0x66, 0, 0},
10083 {0xA4, 0x66, 0x66, 0, 0},
10084 {0xA5, 0x66, 0x66, 0, 0},
10085 {0xA6, 0x66, 0x66, 0, 0},
10086 {0xA7, 0x66, 0x66, 0, 0},
10087 {0xA8, 0x66, 0x66, 0, 0},
10088 {0xA9, 0x66, 0x66, 0, 0},
10089 {0xAA, 0x66, 0x66, 0, 0},
10090 {0xAB, 0x66, 0x66, 0, 0},
10091 {0xAC, 0x66, 0x66, 0, 0},
10092 {0xAD, 0x66, 0x66, 0, 0},
10093 {0xAE, 0x66, 0x66, 0, 0},
10094 {0xAF, 0x66, 0x66, 0, 0},
10095 {0xB0, 0x66, 0x66, 0, 0},
10096 {0xB1, 0x66, 0x66, 0, 0},
10097 {0xB2, 0x66, 0x66, 0, 0},
10098 {0xB3, 0xa, 0xa, 0, 0},
10099 {0xB4, 0, 0, 0, 0},
10100 {0xB5, 0, 0, 0, 0},
10101 {0xB6, 0, 0, 0, 0},
10102 {0xFFFF, 0, 0, 0, 0},
10105 radio_regs_t regs_TX_2056_rev7
[] = {
10106 {0x02, 0, 0, 0, 0},
10107 {0x03, 0, 0, 0, 0},
10108 {0x04, 0, 0, 0, 0},
10109 {0x05, 0, 0, 0, 0},
10110 {0x06, 0, 0, 0, 0},
10111 {0x07, 0, 0, 0, 0},
10112 {0x08, 0, 0, 0, 0},
10113 {0x09, 0, 0, 0, 0},
10114 {0x0A, 0, 0, 0, 0},
10115 {0x0B, 0, 0, 0, 0},
10116 {0x0C, 0, 0, 0, 0},
10117 {0x0D, 0, 0, 0, 0},
10118 {0x0E, 0, 0, 0, 0},
10119 {0x0F, 0, 0, 0, 0},
10120 {0x10, 0, 0, 0, 0},
10121 {0x11, 0, 0, 0, 0},
10122 {0x12, 0, 0, 0, 0},
10123 {0x13, 0, 0, 0, 0},
10124 {0x14, 0, 0, 0, 0},
10125 {0x15, 0, 0, 0, 0},
10126 {0x16, 0, 0, 0, 0},
10127 {0x17, 0, 0, 0, 0},
10128 {0x18, 0, 0, 0, 0},
10129 {0x19, 0, 0, 0, 0},
10130 {0x1A, 0, 0, 0, 0},
10131 {0x1B, 0, 0, 0, 0},
10132 {0x1C, 0, 0, 0, 0},
10133 {0x1D, 0, 0, 0, 0},
10134 {0x1E, 0, 0, 0, 0},
10135 {0x1F, 0, 0, 0, 0},
10136 {0x20, 0, 0, 0, 0},
10137 {0x21, 0x88, 0x88, 0, 0},
10138 {0x22, 0x88, 0x88, 0, 0},
10139 {0x23, 0x88, 0x88, 0, 0},
10140 {0x24, 0x88, 0x88, 0, 0},
10141 {0x25, 0xc, 0xc, 0, 0},
10142 {0x26, 0, 0, 0, 0},
10143 {0x27, 0x3, 0x3, 0, 0},
10144 {0x28, 0, 0, 0, 0},
10145 {0x29, 0x3, 0x3, 0, 0},
10146 {0x2A, 0x37, 0x37, 0, 0},
10147 {0x2B, 0x3, 0x3, 0, 0},
10148 {0x2C, 0, 0, 0, 0},
10149 {0x2D, 0, 0, 0, 0},
10150 {0x2E, 0x1, 0x1, 0, 0},
10151 {0x2F, 0x1, 0x1, 0, 0},
10152 {0x30, 0, 0, 0, 0},
10153 {0x31, 0, 0, 0, 0},
10154 {0x32, 0, 0, 0, 0},
10155 {0x33, 0x11, 0x11, 0, 0},
10156 {0x34, 0xee, 0xee, 1, 1},
10157 {0x35, 0, 0, 0, 0},
10158 {0x36, 0, 0, 0, 0},
10159 {0x37, 0x3, 0x3, 0, 0},
10160 {0x38, 0x50, 0x50, 1, 1},
10161 {0x39, 0, 0, 0, 0},
10162 {0x3A, 0x50, 0x50, 1, 1},
10163 {0x3B, 0, 0, 0, 0},
10164 {0x3C, 0x6e, 0x6e, 0, 0},
10165 {0x3D, 0xf0, 0xf0, 1, 1},
10166 {0x3E, 0, 0, 0, 0},
10167 {0x3F, 0, 0, 0, 0},
10168 {0x40, 0, 0, 0, 0},
10169 {0x41, 0x3, 0x3, 0, 0},
10170 {0x42, 0x3, 0x3, 0, 0},
10171 {0x43, 0, 0, 0, 0},
10172 {0x44, 0x1e, 0x1e, 0, 0},
10173 {0x45, 0, 0, 0, 0},
10174 {0x46, 0x6e, 0x6e, 0, 0},
10175 {0x47, 0xf0, 0xf0, 1, 1},
10176 {0x48, 0, 0, 0, 0},
10177 {0x49, 0x2, 0x2, 0, 0},
10178 {0x4A, 0xff, 0xff, 1, 1},
10179 {0x4B, 0xc, 0xc, 0, 0},
10180 {0x4C, 0, 0, 0, 0},
10181 {0x4D, 0x38, 0x38, 0, 0},
10182 {0x4E, 0x70, 0x70, 1, 1},
10183 {0x4F, 0x2, 0x2, 0, 0},
10184 {0x50, 0x88, 0x88, 0, 0},
10185 {0x51, 0xc, 0xc, 0, 0},
10186 {0x52, 0, 0, 0, 0},
10187 {0x53, 0x8, 0x8, 0, 0},
10188 {0x54, 0x70, 0x70, 1, 1},
10189 {0x55, 0x2, 0x2, 0, 0},
10190 {0x56, 0xff, 0xff, 1, 1},
10191 {0x57, 0, 0, 0, 0},
10192 {0x58, 0x83, 0x83, 0, 0},
10193 {0x59, 0x77, 0x77, 1, 1},
10194 {0x5A, 0, 0, 0, 0},
10195 {0x5B, 0x2, 0x2, 0, 0},
10196 {0x5C, 0x88, 0x88, 0, 0},
10197 {0x5D, 0, 0, 0, 0},
10198 {0x5E, 0x8, 0x8, 0, 0},
10199 {0x5F, 0x77, 0x77, 1, 1},
10200 {0x60, 0x1, 0x1, 0, 0},
10201 {0x61, 0, 0, 0, 0},
10202 {0x62, 0x7, 0x7, 0, 0},
10203 {0x63, 0, 0, 0, 0},
10204 {0x64, 0x7, 0x7, 0, 0},
10205 {0x65, 0, 0, 0, 0},
10206 {0x66, 0, 0, 0, 0},
10207 {0x67, 0, 0, 1, 1},
10208 {0x68, 0, 0, 0, 0},
10209 {0x69, 0xa, 0xa, 0, 0},
10210 {0x6A, 0, 0, 0, 0},
10211 {0x6B, 0, 0, 0, 0},
10212 {0x6C, 0, 0, 0, 0},
10213 {0x6D, 0, 0, 0, 0},
10214 {0x6E, 0, 0, 0, 0},
10215 {0x6F, 0, 0, 0, 0},
10216 {0x70, 0, 0, 0, 0},
10217 {0x71, 0x2, 0x2, 0, 0},
10218 {0x72, 0, 0, 0, 0},
10219 {0x73, 0, 0, 0, 0},
10220 {0x74, 0xe, 0xe, 0, 0},
10221 {0x75, 0xe, 0xe, 0, 0},
10222 {0x76, 0xe, 0xe, 0, 0},
10223 {0x77, 0x13, 0x13, 0, 0},
10224 {0x78, 0x13, 0x13, 0, 0},
10225 {0x79, 0x1b, 0x1b, 0, 0},
10226 {0x7A, 0x1b, 0x1b, 0, 0},
10227 {0x7B, 0x55, 0x55, 0, 0},
10228 {0x7C, 0x5b, 0x5b, 0, 0},
10229 {0x7D, 0x30, 0x30, 1, 1},
10230 {0x7E, 0, 0, 0, 0},
10231 {0x7F, 0, 0, 0, 0},
10232 {0x80, 0, 0, 0, 0},
10233 {0x81, 0, 0, 0, 0},
10234 {0x82, 0, 0, 0, 0},
10235 {0x83, 0, 0, 0, 0},
10236 {0x84, 0, 0, 0, 0},
10237 {0x85, 0, 0, 0, 0},
10238 {0x86, 0, 0, 0, 0},
10239 {0x87, 0, 0, 0, 0},
10240 {0x88, 0, 0, 0, 0},
10241 {0x89, 0, 0, 0, 0},
10242 {0x8A, 0, 0, 0, 0},
10243 {0x8B, 0, 0, 0, 0},
10244 {0x8C, 0, 0, 0, 0},
10245 {0x8D, 0, 0, 0, 0},
10246 {0x8E, 0, 0, 0, 0},
10247 {0x8F, 0, 0, 0, 0},
10248 {0x90, 0, 0, 0, 0},
10249 {0x91, 0, 0, 0, 0},
10250 {0x92, 0, 0, 0, 0},
10251 {0x93, 0x70, 0x70, 0, 0},
10252 {0x94, 0x70, 0x70, 0, 0},
10253 {0x95, 0x71, 0x71, 1, 1},
10254 {0x96, 0x71, 0x71, 1, 1},
10255 {0x97, 0x72, 0x72, 1, 1},
10256 {0x98, 0x73, 0x73, 1, 1},
10257 {0x99, 0x74, 0x74, 1, 1},
10258 {0x9A, 0x75, 0x75, 1, 1},
10259 {0xFFFF, 0, 0, 0, 0},
10262 radio_regs_t regs_RX_2056_rev7
[] = {
10263 {0x02, 0, 0, 0, 0},
10264 {0x03, 0, 0, 0, 0},
10265 {0x04, 0, 0, 0, 0},
10266 {0x05, 0, 0, 0, 0},
10267 {0x06, 0, 0, 0, 0},
10268 {0x07, 0, 0, 0, 0},
10269 {0x08, 0, 0, 0, 0},
10270 {0x09, 0, 0, 0, 0},
10271 {0x0A, 0, 0, 0, 0},
10272 {0x0B, 0, 0, 0, 0},
10273 {0x0C, 0, 0, 0, 0},
10274 {0x0D, 0, 0, 0, 0},
10275 {0x0E, 0, 0, 0, 0},
10276 {0x0F, 0, 0, 0, 0},
10277 {0x10, 0, 0, 0, 0},
10278 {0x11, 0, 0, 0, 0},
10279 {0x12, 0, 0, 0, 0},
10280 {0x13, 0, 0, 0, 0},
10281 {0x14, 0, 0, 0, 0},
10282 {0x15, 0, 0, 0, 0},
10283 {0x16, 0, 0, 0, 0},
10284 {0x17, 0, 0, 0, 0},
10285 {0x18, 0, 0, 0, 0},
10286 {0x19, 0, 0, 0, 0},
10287 {0x1A, 0, 0, 0, 0},
10288 {0x1B, 0, 0, 0, 0},
10289 {0x1C, 0, 0, 0, 0},
10290 {0x1D, 0, 0, 0, 0},
10291 {0x1E, 0, 0, 0, 0},
10292 {0x1F, 0, 0, 0, 0},
10293 {0x20, 0x3, 0x3, 0, 0},
10294 {0x21, 0, 0, 0, 0},
10295 {0x22, 0, 0, 0, 0},
10296 {0x23, 0x90, 0x90, 0, 0},
10297 {0x24, 0x55, 0x55, 0, 0},
10298 {0x25, 0x15, 0x15, 0, 0},
10299 {0x26, 0x5, 0x5, 0, 0},
10300 {0x27, 0x15, 0x15, 0, 0},
10301 {0x28, 0x5, 0x5, 0, 0},
10302 {0x29, 0x20, 0x20, 0, 0},
10303 {0x2A, 0x11, 0x11, 0, 0},
10304 {0x2B, 0x90, 0x90, 0, 0},
10305 {0x2C, 0, 0, 0, 0},
10306 {0x2D, 0x88, 0x88, 0, 0},
10307 {0x2E, 0x32, 0x32, 0, 0},
10308 {0x2F, 0x77, 0x77, 0, 0},
10309 {0x30, 0x17, 0x17, 1, 1},
10310 {0x31, 0xff, 0xff, 1, 1},
10311 {0x32, 0x20, 0x20, 0, 0},
10312 {0x33, 0, 0, 0, 0},
10313 {0x34, 0x88, 0x88, 0, 0},
10314 {0x35, 0x32, 0x32, 0, 0},
10315 {0x36, 0x77, 0x77, 0, 0},
10316 {0x37, 0x17, 0x17, 1, 1},
10317 {0x38, 0xf0, 0xf0, 1, 1},
10318 {0x39, 0x20, 0x20, 0, 0},
10319 {0x3A, 0x8, 0x8, 0, 0},
10320 {0x3B, 0x55, 0x55, 1, 1},
10321 {0x3C, 0, 0, 0, 0},
10322 {0x3D, 0x88, 0x88, 1, 1},
10323 {0x3E, 0, 0, 0, 0},
10324 {0x3F, 0, 0, 1, 1},
10325 {0x40, 0x7, 0x7, 1, 1},
10326 {0x41, 0x6, 0x6, 0, 0},
10327 {0x42, 0x4, 0x4, 0, 0},
10328 {0x43, 0, 0, 0, 0},
10329 {0x44, 0x8, 0x8, 0, 0},
10330 {0x45, 0x55, 0x55, 1, 1},
10331 {0x46, 0, 0, 0, 0},
10332 {0x47, 0x11, 0x11, 0, 0},
10333 {0x48, 0, 0, 0, 0},
10334 {0x49, 0, 0, 1, 1},
10335 {0x4A, 0x7, 0x7, 0, 0},
10336 {0x4B, 0x6, 0x6, 0, 0},
10337 {0x4C, 0x4, 0x4, 0, 0},
10338 {0x4D, 0, 0, 0, 0},
10339 {0x4E, 0, 0, 0, 0},
10340 {0x4F, 0x26, 0x26, 1, 1},
10341 {0x50, 0x26, 0x26, 1, 1},
10342 {0x51, 0xf, 0xf, 1, 1},
10343 {0x52, 0xf, 0xf, 1, 1},
10344 {0x53, 0x44, 0x44, 0, 0},
10345 {0x54, 0, 0, 0, 0},
10346 {0x55, 0, 0, 0, 0},
10347 {0x56, 0x8, 0x8, 0, 0},
10348 {0x57, 0x8, 0x8, 0, 0},
10349 {0x58, 0x7, 0x7, 0, 0},
10350 {0x59, 0x22, 0x22, 0, 0},
10351 {0x5A, 0x22, 0x22, 0, 0},
10352 {0x5B, 0x2, 0x2, 0, 0},
10353 {0x5C, 0x4, 0x4, 1, 1},
10354 {0x5D, 0x7, 0x7, 0, 0},
10355 {0x5E, 0x55, 0x55, 0, 0},
10356 {0x5F, 0x23, 0x23, 0, 0},
10357 {0x60, 0x41, 0x41, 0, 0},
10358 {0x61, 0x1, 0x1, 0, 0},
10359 {0x62, 0xa, 0xa, 0, 0},
10360 {0x63, 0, 0, 0, 0},
10361 {0x64, 0, 0, 0, 0},
10362 {0x65, 0, 0, 0, 0},
10363 {0x66, 0, 0, 0, 0},
10364 {0x67, 0, 0, 0, 0},
10365 {0x68, 0, 0, 0, 0},
10366 {0x69, 0, 0, 0, 0},
10367 {0x6A, 0, 0, 0, 0},
10368 {0x6B, 0xc, 0xc, 0, 0},
10369 {0x6C, 0, 0, 0, 0},
10370 {0x6D, 0, 0, 0, 0},
10371 {0x6E, 0, 0, 0, 0},
10372 {0x6F, 0, 0, 0, 0},
10373 {0x70, 0, 0, 0, 0},
10374 {0x71, 0, 0, 0, 0},
10375 {0x72, 0x22, 0x22, 0, 0},
10376 {0x73, 0x22, 0x22, 0, 0},
10377 {0x74, 0, 0, 1, 1},
10378 {0x75, 0xa, 0xa, 0, 0},
10379 {0x76, 0x1, 0x1, 0, 0},
10380 {0x77, 0x22, 0x22, 0, 0},
10381 {0x78, 0x30, 0x30, 0, 0},
10382 {0x79, 0, 0, 0, 0},
10383 {0x7A, 0, 0, 0, 0},
10384 {0x7B, 0, 0, 0, 0},
10385 {0x7C, 0, 0, 0, 0},
10386 {0x7D, 0, 0, 0, 0},
10387 {0x7E, 0, 0, 0, 0},
10388 {0x7F, 0, 0, 0, 0},
10389 {0x80, 0, 0, 0, 0},
10390 {0x81, 0, 0, 0, 0},
10391 {0x82, 0, 0, 0, 0},
10392 {0x83, 0, 0, 0, 0},
10393 {0x84, 0, 0, 0, 0},
10394 {0x85, 0, 0, 0, 0},
10395 {0x86, 0, 0, 0, 0},
10396 {0x87, 0, 0, 0, 0},
10397 {0x88, 0, 0, 0, 0},
10398 {0x89, 0, 0, 0, 0},
10399 {0x8A, 0, 0, 0, 0},
10400 {0x8B, 0, 0, 0, 0},
10401 {0x8C, 0, 0, 0, 0},
10402 {0x8D, 0, 0, 0, 0},
10403 {0x8E, 0, 0, 0, 0},
10404 {0x8F, 0, 0, 0, 0},
10405 {0x90, 0, 0, 0, 0},
10406 {0x91, 0, 0, 0, 0},
10407 {0x92, 0, 0, 0, 0},
10408 {0x93, 0, 0, 0, 0},
10409 {0x94, 0, 0, 0, 0},
10410 {0xFFFF, 0, 0, 0, 0},
10413 radio_regs_t regs_SYN_2056_rev8
[] = {
10414 {0x02, 0, 0, 0, 0},
10415 {0x03, 0, 0, 0, 0},
10416 {0x04, 0, 0, 0, 0},
10417 {0x05, 0, 0, 0, 0},
10418 {0x06, 0, 0, 0, 0},
10419 {0x07, 0, 0, 0, 0},
10420 {0x08, 0, 0, 0, 0},
10421 {0x09, 0x1, 0x1, 0, 0},
10422 {0x0A, 0, 0, 0, 0},
10423 {0x0B, 0, 0, 0, 0},
10424 {0x0C, 0, 0, 0, 0},
10425 {0x0D, 0, 0, 0, 0},
10426 {0x0E, 0, 0, 0, 0},
10427 {0x0F, 0, 0, 0, 0},
10428 {0x10, 0, 0, 0, 0},
10429 {0x11, 0, 0, 0, 0},
10430 {0x12, 0, 0, 0, 0},
10431 {0x13, 0, 0, 0, 0},
10432 {0x14, 0, 0, 0, 0},
10433 {0x15, 0, 0, 0, 0},
10434 {0x16, 0, 0, 0, 0},
10435 {0x17, 0, 0, 0, 0},
10436 {0x18, 0, 0, 0, 0},
10437 {0x19, 0, 0, 0, 0},
10438 {0x1A, 0, 0, 0, 0},
10439 {0x1B, 0, 0, 0, 0},
10440 {0x1C, 0, 0, 0, 0},
10441 {0x1D, 0, 0, 0, 0},
10442 {0x1E, 0, 0, 0, 0},
10443 {0x1F, 0, 0, 0, 0},
10444 {0x20, 0, 0, 0, 0},
10445 {0x21, 0, 0, 0, 0},
10446 {0x22, 0x60, 0x60, 0, 0},
10447 {0x23, 0x6, 0x6, 0, 0},
10448 {0x24, 0xc, 0xc, 0, 0},
10449 {0x25, 0, 0, 0, 0},
10450 {0x26, 0, 0, 0, 0},
10451 {0x27, 0, 0, 0, 0},
10452 {0x28, 0x1, 0x1, 0, 0},
10453 {0x29, 0, 0, 0, 0},
10454 {0x2A, 0, 0, 0, 0},
10455 {0x2B, 0, 0, 0, 0},
10456 {0x2C, 0, 0, 0, 0},
10457 {0x2D, 0, 0, 0, 0},
10458 {0x2E, 0, 0, 0, 0},
10459 {0x2F, 0x1f, 0x1f, 0, 0},
10460 {0x30, 0x15, 0x15, 0, 0},
10461 {0x31, 0xf, 0xf, 0, 0},
10462 {0x32, 0, 0, 0, 0},
10463 {0x33, 0, 0, 0, 0},
10464 {0x34, 0, 0, 0, 0},
10465 {0x35, 0, 0, 0, 0},
10466 {0x36, 0, 0, 0, 0},
10467 {0x37, 0, 0, 0, 0},
10468 {0x38, 0, 0, 0, 0},
10469 {0x39, 0, 0, 0, 0},
10470 {0x3A, 0, 0, 0, 0},
10471 {0x3B, 0, 0, 0, 0},
10472 {0x3C, 0x13, 0x13, 0, 0},
10473 {0x3D, 0xf, 0xf, 0, 0},
10474 {0x3E, 0x18, 0x18, 0, 0},
10475 {0x3F, 0, 0, 0, 0},
10476 {0x40, 0, 0, 0, 0},
10477 {0x41, 0x20, 0x20, 0, 0},
10478 {0x42, 0x20, 0x20, 0, 0},
10479 {0x43, 0, 0, 0, 0},
10480 {0x44, 0x77, 0x77, 0, 0},
10481 {0x45, 0x7, 0x7, 0, 0},
10482 {0x46, 0x1, 0x1, 0, 0},
10483 {0x47, 0x4, 0x4, 0, 0},
10484 {0x48, 0xf, 0xf, 0, 0},
10485 {0x49, 0x30, 0x30, 0, 0},
10486 {0x4A, 0x32, 0x32, 0, 0},
10487 {0x4B, 0xd, 0xd, 0, 0},
10488 {0x4C, 0xd, 0xd, 0, 0},
10489 {0x4D, 0x4, 0x4, 0, 0},
10490 {0x4E, 0x6, 0x6, 0, 0},
10491 {0x4F, 0x1, 0x1, 0, 0},
10492 {0x50, 0x1c, 0x1c, 0, 0},
10493 {0x51, 0x2, 0x2, 0, 0},
10494 {0x52, 0x2, 0x2, 0, 0},
10495 {0x53, 0xf7, 0xf7, 1, 1},
10496 {0x54, 0xb4, 0xb4, 0, 0},
10497 {0x55, 0xd2, 0xd2, 0, 0},
10498 {0x56, 0, 0, 0, 0},
10499 {0x57, 0, 0, 0, 0},
10500 {0x58, 0x4, 0x4, 0, 0},
10501 {0x59, 0x96, 0x96, 0, 0},
10502 {0x5A, 0x3e, 0x3e, 0, 0},
10503 {0x5B, 0x3e, 0x3e, 0, 0},
10504 {0x5C, 0x13, 0x13, 0, 0},
10505 {0x5D, 0x2, 0x2, 0, 0},
10506 {0x5E, 0, 0, 0, 0},
10507 {0x5F, 0x7, 0x7, 0, 0},
10508 {0x60, 0x7, 0x7, 1, 1},
10509 {0x61, 0x8, 0x8, 0, 0},
10510 {0x62, 0x3, 0x3, 0, 0},
10511 {0x63, 0, 0, 0, 0},
10512 {0x64, 0, 0, 0, 0},
10513 {0x65, 0, 0, 0, 0},
10514 {0x66, 0, 0, 0, 0},
10515 {0x67, 0, 0, 0, 0},
10516 {0x68, 0x40, 0x40, 0, 0},
10517 {0x69, 0, 0, 0, 0},
10518 {0x6A, 0, 0, 0, 0},
10519 {0x6B, 0, 0, 0, 0},
10520 {0x6C, 0, 0, 0, 0},
10521 {0x6D, 0x1, 0x1, 0, 0},
10522 {0x6E, 0, 0, 0, 0},
10523 {0x6F, 0, 0, 0, 0},
10524 {0x70, 0x60, 0x60, 0, 0},
10525 {0x71, 0x66, 0x66, 0, 0},
10526 {0x72, 0xc, 0xc, 0, 0},
10527 {0x73, 0x66, 0x66, 0, 0},
10528 {0x74, 0x8f, 0x8f, 1, 1},
10529 {0x75, 0, 0, 0, 0},
10530 {0x76, 0xcc, 0xcc, 0, 0},
10531 {0x77, 0x1, 0x1, 0, 0},
10532 {0x78, 0x66, 0x66, 0, 0},
10533 {0x79, 0x66, 0x66, 0, 0},
10534 {0x7A, 0, 0, 0, 0},
10535 {0x7B, 0, 0, 0, 0},
10536 {0x7C, 0, 0, 0, 0},
10537 {0x7D, 0, 0, 0, 0},
10538 {0x7E, 0, 0, 0, 0},
10539 {0x7F, 0, 0, 0, 0},
10540 {0x80, 0, 0, 0, 0},
10541 {0x81, 0, 0, 0, 0},
10542 {0x82, 0, 0, 0, 0},
10543 {0x83, 0, 0, 0, 0},
10544 {0x84, 0, 0, 0, 0},
10545 {0x85, 0xff, 0xff, 0, 0},
10546 {0x86, 0, 0, 0, 0},
10547 {0x87, 0, 0, 0, 0},
10548 {0x88, 0, 0, 0, 0},
10549 {0x89, 0, 0, 0, 0},
10550 {0x8A, 0, 0, 0, 0},
10551 {0x8B, 0, 0, 0, 0},
10552 {0x8C, 0, 0, 0, 0},
10553 {0x8D, 0, 0, 0, 0},
10554 {0x8E, 0, 0, 0, 0},
10555 {0x8F, 0, 0, 0, 0},
10556 {0x90, 0, 0, 0, 0},
10557 {0x91, 0, 0, 0, 0},
10558 {0x92, 0, 0, 0, 0},
10559 {0x93, 0, 0, 0, 0},
10560 {0x94, 0, 0, 0, 0},
10561 {0x95, 0, 0, 0, 0},
10562 {0x96, 0, 0, 0, 0},
10563 {0x97, 0, 0, 0, 0},
10564 {0x98, 0, 0, 0, 0},
10565 {0x99, 0, 0, 0, 0},
10566 {0x9A, 0, 0, 0, 0},
10567 {0x9B, 0, 0, 0, 0},
10568 {0x9C, 0, 0, 0, 0},
10569 {0x9D, 0, 0, 0, 0},
10570 {0x9E, 0, 0, 0, 0},
10571 {0x9F, 0x6, 0x6, 0, 0},
10572 {0xA0, 0x66, 0x66, 0, 0},
10573 {0xA1, 0x66, 0x66, 0, 0},
10574 {0xA2, 0x66, 0x66, 0, 0},
10575 {0xA3, 0x66, 0x66, 0, 0},
10576 {0xA4, 0x66, 0x66, 0, 0},
10577 {0xA5, 0x66, 0x66, 0, 0},
10578 {0xA6, 0x66, 0x66, 0, 0},
10579 {0xA7, 0x66, 0x66, 0, 0},
10580 {0xA8, 0x66, 0x66, 0, 0},
10581 {0xA9, 0x66, 0x66, 0, 0},
10582 {0xAA, 0x66, 0x66, 0, 0},
10583 {0xAB, 0x66, 0x66, 0, 0},
10584 {0xAC, 0x66, 0x66, 0, 0},
10585 {0xAD, 0x66, 0x66, 0, 0},
10586 {0xAE, 0x66, 0x66, 0, 0},
10587 {0xAF, 0x66, 0x66, 0, 0},
10588 {0xB0, 0x66, 0x66, 0, 0},
10589 {0xB1, 0x66, 0x66, 0, 0},
10590 {0xB2, 0x66, 0x66, 0, 0},
10591 {0xB3, 0xa, 0xa, 0, 0},
10592 {0xB4, 0, 0, 0, 0},
10593 {0xB5, 0, 0, 0, 0},
10594 {0xB6, 0, 0, 0, 0},
10595 {0xFFFF, 0, 0, 0, 0},
10598 radio_regs_t regs_TX_2056_rev8
[] = {
10599 {0x02, 0, 0, 0, 0},
10600 {0x03, 0, 0, 0, 0},
10601 {0x04, 0, 0, 0, 0},
10602 {0x05, 0, 0, 0, 0},
10603 {0x06, 0, 0, 0, 0},
10604 {0x07, 0, 0, 0, 0},
10605 {0x08, 0, 0, 0, 0},
10606 {0x09, 0, 0, 0, 0},
10607 {0x0A, 0, 0, 0, 0},
10608 {0x0B, 0, 0, 0, 0},
10609 {0x0C, 0, 0, 0, 0},
10610 {0x0D, 0, 0, 0, 0},
10611 {0x0E, 0, 0, 0, 0},
10612 {0x0F, 0, 0, 0, 0},
10613 {0x10, 0, 0, 0, 0},
10614 {0x11, 0, 0, 0, 0},
10615 {0x12, 0, 0, 0, 0},
10616 {0x13, 0, 0, 0, 0},
10617 {0x14, 0, 0, 0, 0},
10618 {0x15, 0, 0, 0, 0},
10619 {0x16, 0, 0, 0, 0},
10620 {0x17, 0, 0, 0, 0},
10621 {0x18, 0, 0, 0, 0},
10622 {0x19, 0, 0, 0, 0},
10623 {0x1A, 0, 0, 0, 0},
10624 {0x1B, 0, 0, 0, 0},
10625 {0x1C, 0, 0, 0, 0},
10626 {0x1D, 0, 0, 0, 0},
10627 {0x1E, 0, 0, 0, 0},
10628 {0x1F, 0, 0, 0, 0},
10629 {0x20, 0, 0, 0, 0},
10630 {0x21, 0x88, 0x88, 0, 0},
10631 {0x22, 0x88, 0x88, 0, 0},
10632 {0x23, 0x88, 0x88, 0, 0},
10633 {0x24, 0x88, 0x88, 0, 0},
10634 {0x25, 0xc, 0xc, 0, 0},
10635 {0x26, 0, 0, 0, 0},
10636 {0x27, 0x3, 0x3, 0, 0},
10637 {0x28, 0, 0, 0, 0},
10638 {0x29, 0x3, 0x3, 0, 0},
10639 {0x2A, 0x37, 0x37, 0, 0},
10640 {0x2B, 0x3, 0x3, 0, 0},
10641 {0x2C, 0, 0, 0, 0},
10642 {0x2D, 0, 0, 0, 0},
10643 {0x2E, 0x1, 0x1, 0, 0},
10644 {0x2F, 0x1, 0x1, 0, 0},
10645 {0x30, 0, 0, 0, 0},
10646 {0x31, 0, 0, 0, 0},
10647 {0x32, 0, 0, 0, 0},
10648 {0x33, 0x11, 0x11, 0, 0},
10649 {0x34, 0xee, 0xee, 1, 1},
10650 {0x35, 0, 0, 0, 0},
10651 {0x36, 0, 0, 0, 0},
10652 {0x37, 0x3, 0x3, 0, 0},
10653 {0x38, 0x50, 0x50, 1, 1},
10654 {0x39, 0, 0, 0, 0},
10655 {0x3A, 0x50, 0x50, 1, 1},
10656 {0x3B, 0, 0, 0, 0},
10657 {0x3C, 0x6e, 0x6e, 0, 0},
10658 {0x3D, 0xf0, 0xf0, 1, 1},
10659 {0x3E, 0, 0, 0, 0},
10660 {0x3F, 0, 0, 0, 0},
10661 {0x40, 0, 0, 0, 0},
10662 {0x41, 0x3, 0x3, 0, 0},
10663 {0x42, 0x3, 0x3, 0, 0},
10664 {0x43, 0, 0, 0, 0},
10665 {0x44, 0x1e, 0x1e, 0, 0},
10666 {0x45, 0, 0, 0, 0},
10667 {0x46, 0x6e, 0x6e, 0, 0},
10668 {0x47, 0xf0, 0xf0, 1, 1},
10669 {0x48, 0, 0, 0, 0},
10670 {0x49, 0x2, 0x2, 0, 0},
10671 {0x4A, 0xff, 0xff, 1, 1},
10672 {0x4B, 0xc, 0xc, 0, 0},
10673 {0x4C, 0, 0, 0, 0},
10674 {0x4D, 0x38, 0x38, 0, 0},
10675 {0x4E, 0x70, 0x70, 1, 1},
10676 {0x4F, 0x2, 0x2, 0, 0},
10677 {0x50, 0x88, 0x88, 0, 0},
10678 {0x51, 0xc, 0xc, 0, 0},
10679 {0x52, 0, 0, 0, 0},
10680 {0x53, 0x8, 0x8, 0, 0},
10681 {0x54, 0x70, 0x70, 1, 1},
10682 {0x55, 0x2, 0x2, 0, 0},
10683 {0x56, 0xff, 0xff, 1, 1},
10684 {0x57, 0, 0, 0, 0},
10685 {0x58, 0x83, 0x83, 0, 0},
10686 {0x59, 0x77, 0x77, 1, 1},
10687 {0x5A, 0, 0, 0, 0},
10688 {0x5B, 0x2, 0x2, 0, 0},
10689 {0x5C, 0x88, 0x88, 0, 0},
10690 {0x5D, 0, 0, 0, 0},
10691 {0x5E, 0x8, 0x8, 0, 0},
10692 {0x5F, 0x77, 0x77, 1, 1},
10693 {0x60, 0x1, 0x1, 0, 0},
10694 {0x61, 0, 0, 0, 0},
10695 {0x62, 0x7, 0x7, 0, 0},
10696 {0x63, 0, 0, 0, 0},
10697 {0x64, 0x7, 0x7, 0, 0},
10698 {0x65, 0, 0, 0, 0},
10699 {0x66, 0, 0, 0, 0},
10700 {0x67, 0, 0, 1, 1},
10701 {0x68, 0, 0, 0, 0},
10702 {0x69, 0xa, 0xa, 0, 0},
10703 {0x6A, 0, 0, 0, 0},
10704 {0x6B, 0, 0, 0, 0},
10705 {0x6C, 0, 0, 0, 0},
10706 {0x6D, 0, 0, 0, 0},
10707 {0x6E, 0, 0, 0, 0},
10708 {0x6F, 0, 0, 0, 0},
10709 {0x70, 0, 0, 0, 0},
10710 {0x71, 0x2, 0x2, 0, 0},
10711 {0x72, 0, 0, 0, 0},
10712 {0x73, 0, 0, 0, 0},
10713 {0x74, 0xe, 0xe, 0, 0},
10714 {0x75, 0xe, 0xe, 0, 0},
10715 {0x76, 0xe, 0xe, 0, 0},
10716 {0x77, 0x13, 0x13, 0, 0},
10717 {0x78, 0x13, 0x13, 0, 0},
10718 {0x79, 0x1b, 0x1b, 0, 0},
10719 {0x7A, 0x1b, 0x1b, 0, 0},
10720 {0x7B, 0x55, 0x55, 0, 0},
10721 {0x7C, 0x5b, 0x5b, 0, 0},
10722 {0x7D, 0x30, 0x30, 1, 1},
10723 {0x7E, 0, 0, 0, 0},
10724 {0x7F, 0, 0, 0, 0},
10725 {0x80, 0, 0, 0, 0},
10726 {0x81, 0, 0, 0, 0},
10727 {0x82, 0, 0, 0, 0},
10728 {0x83, 0, 0, 0, 0},
10729 {0x84, 0, 0, 0, 0},
10730 {0x85, 0, 0, 0, 0},
10731 {0x86, 0, 0, 0, 0},
10732 {0x87, 0, 0, 0, 0},
10733 {0x88, 0, 0, 0, 0},
10734 {0x89, 0, 0, 0, 0},
10735 {0x8A, 0, 0, 0, 0},
10736 {0x8B, 0, 0, 0, 0},
10737 {0x8C, 0, 0, 0, 0},
10738 {0x8D, 0, 0, 0, 0},
10739 {0x8E, 0, 0, 0, 0},
10740 {0x8F, 0, 0, 0, 0},
10741 {0x90, 0, 0, 0, 0},
10742 {0x91, 0, 0, 0, 0},
10743 {0x92, 0, 0, 0, 0},
10744 {0x93, 0x70, 0x70, 0, 0},
10745 {0x94, 0x70, 0x70, 0, 0},
10746 {0x95, 0x70, 0x70, 0, 0},
10747 {0x96, 0x70, 0x70, 0, 0},
10748 {0x97, 0x70, 0x70, 0, 0},
10749 {0x98, 0x70, 0x70, 0, 0},
10750 {0x99, 0x70, 0x70, 0, 0},
10751 {0x9A, 0x70, 0x70, 0, 0},
10752 {0xFFFF, 0, 0, 0, 0},
10755 radio_regs_t regs_RX_2056_rev8
[] = {
10756 {0x02, 0, 0, 0, 0},
10757 {0x03, 0, 0, 0, 0},
10758 {0x04, 0, 0, 0, 0},
10759 {0x05, 0, 0, 0, 0},
10760 {0x06, 0, 0, 0, 0},
10761 {0x07, 0, 0, 0, 0},
10762 {0x08, 0, 0, 0, 0},
10763 {0x09, 0, 0, 0, 0},
10764 {0x0A, 0, 0, 0, 0},
10765 {0x0B, 0, 0, 0, 0},
10766 {0x0C, 0, 0, 0, 0},
10767 {0x0D, 0, 0, 0, 0},
10768 {0x0E, 0, 0, 0, 0},
10769 {0x0F, 0, 0, 0, 0},
10770 {0x10, 0, 0, 0, 0},
10771 {0x11, 0, 0, 0, 0},
10772 {0x12, 0, 0, 0, 0},
10773 {0x13, 0, 0, 0, 0},
10774 {0x14, 0, 0, 0, 0},
10775 {0x15, 0, 0, 0, 0},
10776 {0x16, 0, 0, 0, 0},
10777 {0x17, 0, 0, 0, 0},
10778 {0x18, 0, 0, 0, 0},
10779 {0x19, 0, 0, 0, 0},
10780 {0x1A, 0, 0, 0, 0},
10781 {0x1B, 0, 0, 0, 0},
10782 {0x1C, 0, 0, 0, 0},
10783 {0x1D, 0, 0, 0, 0},
10784 {0x1E, 0, 0, 0, 0},
10785 {0x1F, 0, 0, 0, 0},
10786 {0x20, 0x3, 0x3, 0, 0},
10787 {0x21, 0, 0, 0, 0},
10788 {0x22, 0, 0, 0, 0},
10789 {0x23, 0x90, 0x90, 0, 0},
10790 {0x24, 0x55, 0x55, 0, 0},
10791 {0x25, 0x15, 0x15, 0, 0},
10792 {0x26, 0x5, 0x5, 0, 0},
10793 {0x27, 0x15, 0x15, 0, 0},
10794 {0x28, 0x5, 0x5, 0, 0},
10795 {0x29, 0x20, 0x20, 0, 0},
10796 {0x2A, 0x11, 0x11, 0, 0},
10797 {0x2B, 0x90, 0x90, 0, 0},
10798 {0x2C, 0, 0, 0, 0},
10799 {0x2D, 0x88, 0x88, 0, 0},
10800 {0x2E, 0x32, 0x32, 0, 0},
10801 {0x2F, 0x77, 0x77, 0, 0},
10802 {0x30, 0x17, 0x17, 1, 1},
10803 {0x31, 0xff, 0xff, 1, 1},
10804 {0x32, 0x20, 0x20, 0, 0},
10805 {0x33, 0, 0, 0, 0},
10806 {0x34, 0x88, 0x88, 0, 0},
10807 {0x35, 0x32, 0x32, 0, 0},
10808 {0x36, 0x77, 0x77, 0, 0},
10809 {0x37, 0x17, 0x17, 1, 1},
10810 {0x38, 0xf0, 0xf0, 1, 1},
10811 {0x39, 0x20, 0x20, 0, 0},
10812 {0x3A, 0x8, 0x8, 0, 0},
10813 {0x3B, 0x55, 0x55, 1, 1},
10814 {0x3C, 0, 0, 0, 0},
10815 {0x3D, 0x88, 0x88, 1, 1},
10816 {0x3E, 0, 0, 0, 0},
10817 {0x3F, 0x44, 0x44, 0, 0},
10818 {0x40, 0x7, 0x7, 1, 1},
10819 {0x41, 0x6, 0x6, 0, 0},
10820 {0x42, 0x4, 0x4, 0, 0},
10821 {0x43, 0, 0, 0, 0},
10822 {0x44, 0x8, 0x8, 0, 0},
10823 {0x45, 0x55, 0x55, 1, 1},
10824 {0x46, 0, 0, 0, 0},
10825 {0x47, 0x11, 0x11, 0, 0},
10826 {0x48, 0, 0, 0, 0},
10827 {0x49, 0x44, 0x44, 0, 0},
10828 {0x4A, 0x7, 0x7, 0, 0},
10829 {0x4B, 0x6, 0x6, 0, 0},
10830 {0x4C, 0x4, 0x4, 0, 0},
10831 {0x4D, 0, 0, 0, 0},
10832 {0x4E, 0, 0, 0, 0},
10833 {0x4F, 0x26, 0x26, 1, 1},
10834 {0x50, 0x26, 0x26, 1, 1},
10835 {0x51, 0xf, 0xf, 1, 1},
10836 {0x52, 0xf, 0xf, 1, 1},
10837 {0x53, 0x44, 0x44, 0, 0},
10838 {0x54, 0, 0, 0, 0},
10839 {0x55, 0, 0, 0, 0},
10840 {0x56, 0x8, 0x8, 0, 0},
10841 {0x57, 0x8, 0x8, 0, 0},
10842 {0x58, 0x7, 0x7, 0, 0},
10843 {0x59, 0x22, 0x22, 0, 0},
10844 {0x5A, 0x22, 0x22, 0, 0},
10845 {0x5B, 0x2, 0x2, 0, 0},
10846 {0x5C, 0x4, 0x4, 1, 1},
10847 {0x5D, 0x7, 0x7, 0, 0},
10848 {0x5E, 0x55, 0x55, 0, 0},
10849 {0x5F, 0x23, 0x23, 0, 0},
10850 {0x60, 0x41, 0x41, 0, 0},
10851 {0x61, 0x1, 0x1, 0, 0},
10852 {0x62, 0xa, 0xa, 0, 0},
10853 {0x63, 0, 0, 0, 0},
10854 {0x64, 0, 0, 0, 0},
10855 {0x65, 0, 0, 0, 0},
10856 {0x66, 0, 0, 0, 0},
10857 {0x67, 0, 0, 0, 0},
10858 {0x68, 0, 0, 0, 0},
10859 {0x69, 0, 0, 0, 0},
10860 {0x6A, 0, 0, 0, 0},
10861 {0x6B, 0xc, 0xc, 0, 0},
10862 {0x6C, 0, 0, 0, 0},
10863 {0x6D, 0, 0, 0, 0},
10864 {0x6E, 0, 0, 0, 0},
10865 {0x6F, 0, 0, 0, 0},
10866 {0x70, 0, 0, 0, 0},
10867 {0x71, 0, 0, 0, 0},
10868 {0x72, 0x22, 0x22, 0, 0},
10869 {0x73, 0x22, 0x22, 0, 0},
10870 {0x74, 0, 0, 1, 1},
10871 {0x75, 0xa, 0xa, 0, 0},
10872 {0x76, 0x1, 0x1, 0, 0},
10873 {0x77, 0x22, 0x22, 0, 0},
10874 {0x78, 0x30, 0x30, 0, 0},
10875 {0x79, 0, 0, 0, 0},
10876 {0x7A, 0, 0, 0, 0},
10877 {0x7B, 0, 0, 0, 0},
10878 {0x7C, 0, 0, 0, 0},
10879 {0x7D, 0x5, 0x5, 1, 1},
10880 {0x7E, 0, 0, 0, 0},
10881 {0x7F, 0, 0, 0, 0},
10882 {0x80, 0, 0, 0, 0},
10883 {0x81, 0, 0, 0, 0},
10884 {0x82, 0, 0, 0, 0},
10885 {0x83, 0, 0, 0, 0},
10886 {0x84, 0, 0, 0, 0},
10887 {0x85, 0, 0, 0, 0},
10888 {0x86, 0, 0, 0, 0},
10889 {0x87, 0, 0, 0, 0},
10890 {0x88, 0, 0, 0, 0},
10891 {0x89, 0, 0, 0, 0},
10892 {0x8A, 0, 0, 0, 0},
10893 {0x8B, 0, 0, 0, 0},
10894 {0x8C, 0, 0, 0, 0},
10895 {0x8D, 0, 0, 0, 0},
10896 {0x8E, 0, 0, 0, 0},
10897 {0x8F, 0, 0, 0, 0},
10898 {0x90, 0, 0, 0, 0},
10899 {0x91, 0, 0, 0, 0},
10900 {0x92, 0, 0, 0, 0},
10901 {0x93, 0, 0, 0, 0},
10902 {0x94, 0, 0, 0, 0},
10903 {0xFFFF, 0, 0, 0, 0},
10906 radio_regs_t regs_SYN_2056_rev11
[] = {
10907 {0x02, 0, 0, 0, 0},
10908 {0x03, 0, 0, 0, 0},
10909 {0x04, 0, 0, 0, 0},
10910 {0x05, 0, 0, 0, 0},
10911 {0x06, 0, 0, 0, 0},
10912 {0x07, 0, 0, 0, 0},
10913 {0x08, 0, 0, 0, 0},
10914 {0x09, 0x1, 0x1, 0, 0},
10915 {0x0A, 0, 0, 0, 0},
10916 {0x0B, 0, 0, 0, 0},
10917 {0x0C, 0, 0, 0, 0},
10918 {0x0D, 0, 0, 0, 0},
10919 {0x0E, 0, 0, 0, 0},
10920 {0x0F, 0, 0, 0, 0},
10921 {0x10, 0, 0, 0, 0},
10922 {0x11, 0, 0, 0, 0},
10923 {0x12, 0, 0, 0, 0},
10924 {0x13, 0, 0, 0, 0},
10925 {0x14, 0, 0, 0, 0},
10926 {0x15, 0, 0, 0, 0},
10927 {0x16, 0, 0, 0, 0},
10928 {0x17, 0, 0, 0, 0},
10929 {0x18, 0, 0, 0, 0},
10930 {0x19, 0, 0, 0, 0},
10931 {0x1A, 0, 0, 0, 0},
10932 {0x1B, 0, 0, 0, 0},
10933 {0x1C, 0, 0, 0, 0},
10934 {0x1D, 0, 0, 0, 0},
10935 {0x1E, 0, 0, 0, 0},
10936 {0x1F, 0, 0, 0, 0},
10937 {0x20, 0, 0, 0, 0},
10938 {0x21, 0, 0, 0, 0},
10939 {0x22, 0x60, 0x60, 0, 0},
10940 {0x23, 0x6, 0x6, 0, 0},
10941 {0x24, 0xc, 0xc, 0, 0},
10942 {0x25, 0, 0, 0, 0},
10943 {0x26, 0, 0, 0, 0},
10944 {0x27, 0, 0, 0, 0},
10945 {0x28, 0x1, 0x1, 0, 0},
10946 {0x29, 0, 0, 0, 0},
10947 {0x2A, 0, 0, 0, 0},
10948 {0x2B, 0, 0, 0, 0},
10949 {0x2C, 0, 0, 0, 0},
10950 {0x2D, 0, 0, 0, 0},
10951 {0x2E, 0, 0, 0, 0},
10952 {0x2F, 0x1f, 0x1f, 0, 0},
10953 {0x30, 0x15, 0x15, 0, 0},
10954 {0x31, 0xf, 0xf, 0, 0},
10955 {0x32, 0, 0, 0, 0},
10956 {0x33, 0, 0, 0, 0},
10957 {0x34, 0, 0, 0, 0},
10958 {0x35, 0, 0, 0, 0},
10959 {0x36, 0, 0, 0, 0},
10960 {0x37, 0, 0, 0, 0},
10961 {0x38, 0, 0, 0, 0},
10962 {0x39, 0, 0, 0, 0},
10963 {0x3A, 0, 0, 0, 0},
10964 {0x3B, 0, 0, 0, 0},
10965 {0x3C, 0x13, 0x13, 0, 0},
10966 {0x3D, 0xf, 0xf, 0, 0},
10967 {0x3E, 0x18, 0x18, 0, 0},
10968 {0x3F, 0, 0, 0, 0},
10969 {0x40, 0, 0, 0, 0},
10970 {0x41, 0x20, 0x20, 0, 0},
10971 {0x42, 0x20, 0x20, 0, 0},
10972 {0x43, 0, 0, 0, 0},
10973 {0x44, 0x77, 0x77, 0, 0},
10974 {0x45, 0x7, 0x7, 0, 0},
10975 {0x46, 0x1, 0x1, 0, 0},
10976 {0x47, 0x6, 0x6, 1, 1},
10977 {0x48, 0xf, 0xf, 0, 0},
10978 {0x49, 0x3f, 0x3f, 1, 1},
10979 {0x4A, 0x32, 0x32, 0, 0},
10980 {0x4B, 0x6, 0x6, 1, 1},
10981 {0x4C, 0x6, 0x6, 1, 1},
10982 {0x4D, 0x4, 0x4, 0, 0},
10983 {0x4E, 0x2b, 0x2b, 1, 1},
10984 {0x4F, 0x1, 0x1, 0, 0},
10985 {0x50, 0x1c, 0x1c, 0, 0},
10986 {0x51, 0x2, 0x2, 0, 0},
10987 {0x52, 0x2, 0x2, 0, 0},
10988 {0x53, 0xf7, 0xf7, 1, 1},
10989 {0x54, 0xb4, 0xb4, 0, 0},
10990 {0x55, 0xd2, 0xd2, 0, 0},
10991 {0x56, 0, 0, 0, 0},
10992 {0x57, 0, 0, 0, 0},
10993 {0x58, 0x4, 0x4, 0, 0},
10994 {0x59, 0x96, 0x96, 0, 0},
10995 {0x5A, 0x3e, 0x3e, 0, 0},
10996 {0x5B, 0x3e, 0x3e, 0, 0},
10997 {0x5C, 0x13, 0x13, 0, 0},
10998 {0x5D, 0x2, 0x2, 0, 0},
10999 {0x5E, 0, 0, 0, 0},
11000 {0x5F, 0x7, 0x7, 0, 0},
11001 {0x60, 0x7, 0x7, 1, 1},
11002 {0x61, 0x8, 0x8, 0, 0},
11003 {0x62, 0x3, 0x3, 0, 0},
11004 {0x63, 0, 0, 0, 0},
11005 {0x64, 0, 0, 0, 0},
11006 {0x65, 0, 0, 0, 0},
11007 {0x66, 0, 0, 0, 0},
11008 {0x67, 0, 0, 0, 0},
11009 {0x68, 0x40, 0x40, 0, 0},
11010 {0x69, 0, 0, 0, 0},
11011 {0x6A, 0, 0, 0, 0},
11012 {0x6B, 0, 0, 0, 0},
11013 {0x6C, 0, 0, 0, 0},
11014 {0x6D, 0x1, 0x1, 0, 0},
11015 {0x6E, 0, 0, 0, 0},
11016 {0x6F, 0, 0, 0, 0},
11017 {0x70, 0x60, 0x60, 0, 0},
11018 {0x71, 0x66, 0x66, 0, 0},
11019 {0x72, 0xc, 0xc, 0, 0},
11020 {0x73, 0x66, 0x66, 0, 0},
11021 {0x74, 0x8f, 0x8f, 1, 1},
11022 {0x75, 0, 0, 0, 0},
11023 {0x76, 0xcc, 0xcc, 0, 0},
11024 {0x77, 0x1, 0x1, 0, 0},
11025 {0x78, 0x66, 0x66, 0, 0},
11026 {0x79, 0x66, 0x66, 0, 0},
11027 {0x7A, 0, 0, 0, 0},
11028 {0x7B, 0, 0, 0, 0},
11029 {0x7C, 0, 0, 0, 0},
11030 {0x7D, 0, 0, 0, 0},
11031 {0x7E, 0, 0, 0, 0},
11032 {0x7F, 0, 0, 0, 0},
11033 {0x80, 0, 0, 0, 0},
11034 {0x81, 0, 0, 0, 0},
11035 {0x82, 0, 0, 0, 0},
11036 {0x83, 0, 0, 0, 0},
11037 {0x84, 0, 0, 0, 0},
11038 {0x85, 0xff, 0xff, 0, 0},
11039 {0x86, 0, 0, 0, 0},
11040 {0x87, 0, 0, 0, 0},
11041 {0x88, 0, 0, 0, 0},
11042 {0x89, 0, 0, 0, 0},
11043 {0x8A, 0, 0, 0, 0},
11044 {0x8B, 0, 0, 0, 0},
11045 {0x8C, 0, 0, 0, 0},
11046 {0x8D, 0, 0, 0, 0},
11047 {0x8E, 0, 0, 0, 0},
11048 {0x8F, 0, 0, 0, 0},
11049 {0x90, 0, 0, 0, 0},
11050 {0x91, 0, 0, 0, 0},
11051 {0x92, 0, 0, 0, 0},
11052 {0x93, 0, 0, 0, 0},
11053 {0x94, 0, 0, 0, 0},
11054 {0x95, 0, 0, 0, 0},
11055 {0x96, 0, 0, 0, 0},
11056 {0x97, 0, 0, 0, 0},
11057 {0x98, 0, 0, 0, 0},
11058 {0x99, 0, 0, 0, 0},
11059 {0x9A, 0, 0, 0, 0},
11060 {0x9B, 0, 0, 0, 0},
11061 {0x9C, 0, 0, 0, 0},
11062 {0x9D, 0, 0, 0, 0},
11063 {0x9E, 0, 0, 0, 0},
11064 {0x9F, 0x6, 0x6, 0, 0},
11065 {0xA0, 0x66, 0x66, 0, 0},
11066 {0xA1, 0x66, 0x66, 0, 0},
11067 {0xA2, 0x66, 0x66, 0, 0},
11068 {0xA3, 0x66, 0x66, 0, 0},
11069 {0xA4, 0x66, 0x66, 0, 0},
11070 {0xA5, 0x66, 0x66, 0, 0},
11071 {0xA6, 0x66, 0x66, 0, 0},
11072 {0xA7, 0x66, 0x66, 0, 0},
11073 {0xA8, 0x66, 0x66, 0, 0},
11074 {0xA9, 0x66, 0x66, 0, 0},
11075 {0xAA, 0x66, 0x66, 0, 0},
11076 {0xAB, 0x66, 0x66, 0, 0},
11077 {0xAC, 0x66, 0x66, 0, 0},
11078 {0xAD, 0x66, 0x66, 0, 0},
11079 {0xAE, 0x66, 0x66, 0, 0},
11080 {0xAF, 0x66, 0x66, 0, 0},
11081 {0xB0, 0x66, 0x66, 0, 0},
11082 {0xB1, 0x66, 0x66, 0, 0},
11083 {0xB2, 0x66, 0x66, 0, 0},
11084 {0xB3, 0xa, 0xa, 0, 0},
11085 {0xB4, 0, 0, 0, 0},
11086 {0xB5, 0, 0, 0, 0},
11087 {0xB6, 0, 0, 0, 0},
11088 {0xFFFF, 0, 0, 0, 0},
11091 radio_regs_t regs_TX_2056_rev11
[] = {
11092 {0x02, 0, 0, 0, 0},
11093 {0x03, 0, 0, 0, 0},
11094 {0x04, 0, 0, 0, 0},
11095 {0x05, 0, 0, 0, 0},
11096 {0x06, 0, 0, 0, 0},
11097 {0x07, 0, 0, 0, 0},
11098 {0x08, 0, 0, 0, 0},
11099 {0x09, 0, 0, 0, 0},
11100 {0x0A, 0, 0, 0, 0},
11101 {0x0B, 0, 0, 0, 0},
11102 {0x0C, 0, 0, 0, 0},
11103 {0x0D, 0, 0, 0, 0},
11104 {0x0E, 0, 0, 0, 0},
11105 {0x0F, 0, 0, 0, 0},
11106 {0x10, 0, 0, 0, 0},
11107 {0x11, 0, 0, 0, 0},
11108 {0x12, 0, 0, 0, 0},
11109 {0x13, 0, 0, 0, 0},
11110 {0x14, 0, 0, 0, 0},
11111 {0x15, 0, 0, 0, 0},
11112 {0x16, 0, 0, 0, 0},
11113 {0x17, 0, 0, 0, 0},
11114 {0x18, 0, 0, 0, 0},
11115 {0x19, 0, 0, 0, 0},
11116 {0x1A, 0, 0, 0, 0},
11117 {0x1B, 0, 0, 0, 0},
11118 {0x1C, 0, 0, 0, 0},
11119 {0x1D, 0, 0, 0, 0},
11120 {0x1E, 0, 0, 0, 0},
11121 {0x1F, 0, 0, 0, 0},
11122 {0x20, 0, 0, 0, 0},
11123 {0x21, 0x88, 0x88, 0, 0},
11124 {0x22, 0x88, 0x88, 0, 0},
11125 {0x23, 0x88, 0x88, 0, 0},
11126 {0x24, 0x88, 0x88, 0, 0},
11127 {0x25, 0xc, 0xc, 0, 0},
11128 {0x26, 0, 0, 0, 0},
11129 {0x27, 0x3, 0x3, 0, 0},
11130 {0x28, 0, 0, 0, 0},
11131 {0x29, 0x3, 0x3, 0, 0},
11132 {0x2A, 0x37, 0x37, 0, 0},
11133 {0x2B, 0x3, 0x3, 0, 0},
11134 {0x2C, 0, 0, 0, 0},
11135 {0x2D, 0, 0, 0, 0},
11136 {0x2E, 0x1, 0x1, 0, 0},
11137 {0x2F, 0x1, 0x1, 0, 0},
11138 {0x30, 0, 0, 0, 0},
11139 {0x31, 0, 0, 0, 0},
11140 {0x32, 0, 0, 0, 0},
11141 {0x33, 0x11, 0x11, 0, 0},
11142 {0x34, 0xee, 0xee, 1, 1},
11143 {0x35, 0, 0, 0, 0},
11144 {0x36, 0, 0, 0, 0},
11145 {0x37, 0x3, 0x3, 0, 0},
11146 {0x38, 0x50, 0x50, 1, 1},
11147 {0x39, 0, 0, 0, 0},
11148 {0x3A, 0x50, 0x50, 1, 1},
11149 {0x3B, 0, 0, 0, 0},
11150 {0x3C, 0x6e, 0x6e, 0, 0},
11151 {0x3D, 0xf0, 0xf0, 1, 1},
11152 {0x3E, 0, 0, 0, 0},
11153 {0x3F, 0, 0, 0, 0},
11154 {0x40, 0, 0, 0, 0},
11155 {0x41, 0x3, 0x3, 0, 0},
11156 {0x42, 0x3, 0x3, 0, 0},
11157 {0x43, 0, 0, 0, 0},
11158 {0x44, 0x1e, 0x1e, 0, 0},
11159 {0x45, 0, 0, 0, 0},
11160 {0x46, 0x6e, 0x6e, 0, 0},
11161 {0x47, 0xf0, 0xf0, 1, 1},
11162 {0x48, 0, 0, 0, 0},
11163 {0x49, 0x2, 0x2, 0, 0},
11164 {0x4A, 0xff, 0xff, 1, 1},
11165 {0x4B, 0xc, 0xc, 0, 0},
11166 {0x4C, 0, 0, 0, 0},
11167 {0x4D, 0x38, 0x38, 0, 0},
11168 {0x4E, 0x70, 0x70, 1, 1},
11169 {0x4F, 0x2, 0x2, 0, 0},
11170 {0x50, 0x88, 0x88, 0, 0},
11171 {0x51, 0xc, 0xc, 0, 0},
11172 {0x52, 0, 0, 0, 0},
11173 {0x53, 0x8, 0x8, 0, 0},
11174 {0x54, 0x70, 0x70, 1, 1},
11175 {0x55, 0x2, 0x2, 0, 0},
11176 {0x56, 0xff, 0xff, 1, 1},
11177 {0x57, 0, 0, 0, 0},
11178 {0x58, 0x83, 0x83, 0, 0},
11179 {0x59, 0x77, 0x77, 1, 1},
11180 {0x5A, 0, 0, 0, 0},
11181 {0x5B, 0x2, 0x2, 0, 0},
11182 {0x5C, 0x88, 0x88, 0, 0},
11183 {0x5D, 0, 0, 0, 0},
11184 {0x5E, 0x8, 0x8, 0, 0},
11185 {0x5F, 0x77, 0x77, 1, 1},
11186 {0x60, 0x1, 0x1, 0, 0},
11187 {0x61, 0, 0, 0, 0},
11188 {0x62, 0x7, 0x7, 0, 0},
11189 {0x63, 0, 0, 0, 0},
11190 {0x64, 0x7, 0x7, 0, 0},
11191 {0x65, 0, 0, 0, 0},
11192 {0x66, 0, 0, 0, 0},
11193 {0x67, 0, 0, 1, 1},
11194 {0x68, 0, 0, 0, 0},
11195 {0x69, 0xa, 0xa, 0, 0},
11196 {0x6A, 0, 0, 0, 0},
11197 {0x6B, 0, 0, 0, 0},
11198 {0x6C, 0, 0, 0, 0},
11199 {0x6D, 0, 0, 0, 0},
11200 {0x6E, 0, 0, 0, 0},
11201 {0x6F, 0, 0, 0, 0},
11202 {0x70, 0, 0, 0, 0},
11203 {0x71, 0x2, 0x2, 0, 0},
11204 {0x72, 0, 0, 0, 0},
11205 {0x73, 0, 0, 0, 0},
11206 {0x74, 0xe, 0xe, 0, 0},
11207 {0x75, 0xe, 0xe, 0, 0},
11208 {0x76, 0xe, 0xe, 0, 0},
11209 {0x77, 0x13, 0x13, 0, 0},
11210 {0x78, 0x13, 0x13, 0, 0},
11211 {0x79, 0x1b, 0x1b, 0, 0},
11212 {0x7A, 0x1b, 0x1b, 0, 0},
11213 {0x7B, 0x55, 0x55, 0, 0},
11214 {0x7C, 0x5b, 0x5b, 0, 0},
11215 {0x7D, 0x30, 0x30, 1, 1},
11216 {0x7E, 0, 0, 0, 0},
11217 {0x7F, 0, 0, 0, 0},
11218 {0x80, 0, 0, 0, 0},
11219 {0x81, 0, 0, 0, 0},
11220 {0x82, 0, 0, 0, 0},
11221 {0x83, 0, 0, 0, 0},
11222 {0x84, 0, 0, 0, 0},
11223 {0x85, 0, 0, 0, 0},
11224 {0x86, 0, 0, 0, 0},
11225 {0x87, 0, 0, 0, 0},
11226 {0x88, 0, 0, 0, 0},
11227 {0x89, 0, 0, 0, 0},
11228 {0x8A, 0, 0, 0, 0},
11229 {0x8B, 0, 0, 0, 0},
11230 {0x8C, 0, 0, 0, 0},
11231 {0x8D, 0, 0, 0, 0},
11232 {0x8E, 0, 0, 0, 0},
11233 {0x8F, 0, 0, 0, 0},
11234 {0x90, 0, 0, 0, 0},
11235 {0x91, 0, 0, 0, 0},
11236 {0x92, 0, 0, 0, 0},
11237 {0x93, 0x70, 0x70, 0, 0},
11238 {0x94, 0x70, 0x70, 0, 0},
11239 {0x95, 0x70, 0x70, 0, 0},
11240 {0x96, 0x70, 0x70, 0, 0},
11241 {0x97, 0x70, 0x70, 0, 0},
11242 {0x98, 0x70, 0x70, 0, 0},
11243 {0x99, 0x70, 0x70, 0, 0},
11244 {0x9A, 0x70, 0x70, 0, 0},
11245 {0xFFFF, 0, 0, 0, 0},
11248 radio_regs_t regs_RX_2056_rev11
[] = {
11249 {0x02, 0, 0, 0, 0},
11250 {0x03, 0, 0, 0, 0},
11251 {0x04, 0, 0, 0, 0},
11252 {0x05, 0, 0, 0, 0},
11253 {0x06, 0, 0, 0, 0},
11254 {0x07, 0, 0, 0, 0},
11255 {0x08, 0, 0, 0, 0},
11256 {0x09, 0, 0, 0, 0},
11257 {0x0A, 0, 0, 0, 0},
11258 {0x0B, 0, 0, 0, 0},
11259 {0x0C, 0, 0, 0, 0},
11260 {0x0D, 0, 0, 0, 0},
11261 {0x0E, 0, 0, 0, 0},
11262 {0x0F, 0, 0, 0, 0},
11263 {0x10, 0, 0, 0, 0},
11264 {0x11, 0, 0, 0, 0},
11265 {0x12, 0, 0, 0, 0},
11266 {0x13, 0, 0, 0, 0},
11267 {0x14, 0, 0, 0, 0},
11268 {0x15, 0, 0, 0, 0},
11269 {0x16, 0, 0, 0, 0},
11270 {0x17, 0, 0, 0, 0},
11271 {0x18, 0, 0, 0, 0},
11272 {0x19, 0, 0, 0, 0},
11273 {0x1A, 0, 0, 0, 0},
11274 {0x1B, 0, 0, 0, 0},
11275 {0x1C, 0, 0, 0, 0},
11276 {0x1D, 0, 0, 0, 0},
11277 {0x1E, 0, 0, 0, 0},
11278 {0x1F, 0, 0, 0, 0},
11279 {0x20, 0x3, 0x3, 0, 0},
11280 {0x21, 0, 0, 0, 0},
11281 {0x22, 0, 0, 0, 0},
11282 {0x23, 0x90, 0x90, 0, 0},
11283 {0x24, 0x55, 0x55, 0, 0},
11284 {0x25, 0x15, 0x15, 0, 0},
11285 {0x26, 0x5, 0x5, 0, 0},
11286 {0x27, 0x15, 0x15, 0, 0},
11287 {0x28, 0x5, 0x5, 0, 0},
11288 {0x29, 0x20, 0x20, 0, 0},
11289 {0x2A, 0x11, 0x11, 0, 0},
11290 {0x2B, 0x90, 0x90, 0, 0},
11291 {0x2C, 0, 0, 0, 0},
11292 {0x2D, 0x88, 0x88, 0, 0},
11293 {0x2E, 0x32, 0x32, 0, 0},
11294 {0x2F, 0x77, 0x77, 0, 0},
11295 {0x30, 0x17, 0x17, 1, 1},
11296 {0x31, 0xff, 0xff, 1, 1},
11297 {0x32, 0x20, 0x20, 0, 0},
11298 {0x33, 0, 0, 0, 0},
11299 {0x34, 0x88, 0x88, 0, 0},
11300 {0x35, 0x32, 0x32, 0, 0},
11301 {0x36, 0x77, 0x77, 0, 0},
11302 {0x37, 0x17, 0x17, 1, 1},
11303 {0x38, 0xf0, 0xf0, 1, 1},
11304 {0x39, 0x20, 0x20, 0, 0},
11305 {0x3A, 0x8, 0x8, 0, 0},
11306 {0x3B, 0x55, 0x55, 1, 1},
11307 {0x3C, 0, 0, 0, 0},
11308 {0x3D, 0x88, 0x88, 1, 1},
11309 {0x3E, 0, 0, 0, 0},
11310 {0x3F, 0x44, 0x44, 0, 0},
11311 {0x40, 0x7, 0x7, 1, 1},
11312 {0x41, 0x6, 0x6, 0, 0},
11313 {0x42, 0x4, 0x4, 0, 0},
11314 {0x43, 0, 0, 0, 0},
11315 {0x44, 0x8, 0x8, 0, 0},
11316 {0x45, 0x55, 0x55, 1, 1},
11317 {0x46, 0, 0, 0, 0},
11318 {0x47, 0x11, 0x11, 0, 0},
11319 {0x48, 0, 0, 0, 0},
11320 {0x49, 0x44, 0x44, 0, 0},
11321 {0x4A, 0x7, 0x7, 0, 0},
11322 {0x4B, 0x6, 0x6, 0, 0},
11323 {0x4C, 0x4, 0x4, 0, 0},
11324 {0x4D, 0, 0, 0, 0},
11325 {0x4E, 0, 0, 0, 0},
11326 {0x4F, 0x26, 0x26, 1, 1},
11327 {0x50, 0x26, 0x26, 1, 1},
11328 {0x51, 0xf, 0xf, 1, 1},
11329 {0x52, 0xf, 0xf, 1, 1},
11330 {0x53, 0x44, 0x44, 0, 0},
11331 {0x54, 0, 0, 0, 0},
11332 {0x55, 0, 0, 0, 0},
11333 {0x56, 0x8, 0x8, 0, 0},
11334 {0x57, 0x8, 0x8, 0, 0},
11335 {0x58, 0x7, 0x7, 0, 0},
11336 {0x59, 0x22, 0x22, 0, 0},
11337 {0x5A, 0x22, 0x22, 0, 0},
11338 {0x5B, 0x2, 0x2, 0, 0},
11339 {0x5C, 0x4, 0x4, 1, 1},
11340 {0x5D, 0x7, 0x7, 0, 0},
11341 {0x5E, 0x55, 0x55, 0, 0},
11342 {0x5F, 0x23, 0x23, 0, 0},
11343 {0x60, 0x41, 0x41, 0, 0},
11344 {0x61, 0x1, 0x1, 0, 0},
11345 {0x62, 0xa, 0xa, 0, 0},
11346 {0x63, 0, 0, 0, 0},
11347 {0x64, 0, 0, 0, 0},
11348 {0x65, 0, 0, 0, 0},
11349 {0x66, 0, 0, 0, 0},
11350 {0x67, 0, 0, 0, 0},
11351 {0x68, 0, 0, 0, 0},
11352 {0x69, 0, 0, 0, 0},
11353 {0x6A, 0, 0, 0, 0},
11354 {0x6B, 0xc, 0xc, 0, 0},
11355 {0x6C, 0, 0, 0, 0},
11356 {0x6D, 0, 0, 0, 0},
11357 {0x6E, 0, 0, 0, 0},
11358 {0x6F, 0, 0, 0, 0},
11359 {0x70, 0, 0, 0, 0},
11360 {0x71, 0, 0, 0, 0},
11361 {0x72, 0x22, 0x22, 0, 0},
11362 {0x73, 0x22, 0x22, 0, 0},
11363 {0x74, 0, 0, 1, 1},
11364 {0x75, 0xa, 0xa, 0, 0},
11365 {0x76, 0x1, 0x1, 0, 0},
11366 {0x77, 0x22, 0x22, 0, 0},
11367 {0x78, 0x30, 0x30, 0, 0},
11368 {0x79, 0, 0, 0, 0},
11369 {0x7A, 0, 0, 0, 0},
11370 {0x7B, 0, 0, 0, 0},
11371 {0x7C, 0, 0, 0, 0},
11372 {0x7D, 0x5, 0x5, 1, 1},
11373 {0x7E, 0, 0, 0, 0},
11374 {0x7F, 0, 0, 0, 0},
11375 {0x80, 0, 0, 0, 0},
11376 {0x81, 0, 0, 0, 0},
11377 {0x82, 0, 0, 0, 0},
11378 {0x83, 0, 0, 0, 0},
11379 {0x84, 0, 0, 0, 0},
11380 {0x85, 0, 0, 0, 0},
11381 {0x86, 0, 0, 0, 0},
11382 {0x87, 0, 0, 0, 0},
11383 {0x88, 0, 0, 0, 0},
11384 {0x89, 0, 0, 0, 0},
11385 {0x8A, 0, 0, 0, 0},
11386 {0x8B, 0, 0, 0, 0},
11387 {0x8C, 0, 0, 0, 0},
11388 {0x8D, 0, 0, 0, 0},
11389 {0x8E, 0, 0, 0, 0},
11390 {0x8F, 0, 0, 0, 0},
11391 {0x90, 0, 0, 0, 0},
11392 {0x91, 0, 0, 0, 0},
11393 {0x92, 0, 0, 0, 0},
11394 {0x93, 0, 0, 0, 0},
11395 {0x94, 0, 0, 0, 0},
11396 {0xFFFF, 0, 0, 0, 0},
11399 radio_20xx_regs_t regs_2057_rev4
[] = {
11789 radio_20xx_regs_t regs_2057_rev5
[] = {
12121 radio_20xx_regs_t regs_2057_rev5v1
[] = {
12453 radio_20xx_regs_t regs_2057_rev7
[] = {
12869 radio_20xx_regs_t regs_2057_rev8
[] = {
13285 static s16 nphy_def_lnagains
[] = { -2, 10, 19, 25 };
13287 static s32 nphy_lnagain_est0
[] = { -315, 40370 };
13288 static s32 nphy_lnagain_est1
[] = { -224, 23242 };
13290 static const u16 tbl_iqcal_gainparams_nphy
[2][NPHY_IQCAL_NUMGAINS
][8] = {
13292 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13293 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13294 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13295 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13296 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13297 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13298 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13299 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13300 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13303 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13304 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13305 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13306 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13307 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13308 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13309 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13310 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13311 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13315 static const u32 nphy_tpc_txgain
[] = {
13316 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13317 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13318 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13319 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13320 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13321 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13322 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13323 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13324 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13325 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13326 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13327 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13328 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13329 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13330 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13331 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13332 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13333 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13334 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13335 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13336 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13337 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13338 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13339 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13340 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13341 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13342 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13343 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13344 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13345 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13346 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13347 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13350 static const u16 nphy_tpc_loscale
[] = {
13351 256, 256, 271, 271, 287, 256, 256, 271,
13352 271, 287, 287, 304, 304, 256, 256, 271,
13353 271, 287, 287, 304, 304, 322, 322, 341,
13354 341, 362, 362, 383, 383, 256, 256, 271,
13355 271, 287, 287, 304, 304, 322, 322, 256,
13356 256, 271, 271, 287, 287, 304, 304, 322,
13357 322, 341, 341, 362, 362, 256, 256, 271,
13358 271, 287, 287, 304, 304, 322, 322, 256,
13359 256, 271, 271, 287, 287, 304, 304, 322,
13360 322, 341, 341, 362, 362, 256, 256, 271,
13361 271, 287, 287, 304, 304, 322, 322, 341,
13362 341, 362, 362, 383, 383, 406, 406, 430,
13363 430, 455, 455, 482, 482, 511, 511, 541,
13364 541, 573, 573, 607, 607, 643, 643, 681,
13365 681, 722, 722, 764, 764, 810, 810, 858,
13366 858, 908, 908, 962, 962, 1019, 1019, 256
13369 static u32 nphy_tpc_txgain_ipa
[] = {
13370 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13371 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13372 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13373 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13374 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13375 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13376 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13377 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13378 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13379 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13380 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13381 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13382 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13383 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13384 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13385 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13386 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13387 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13388 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13389 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13390 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13391 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13392 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13393 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13394 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13395 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13396 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13397 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13398 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13399 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13400 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13401 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13404 static u32 nphy_tpc_txgain_ipa_rev5
[] = {
13405 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13406 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13407 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13408 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13409 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13410 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13411 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13412 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13413 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13414 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13415 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13416 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13417 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13418 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13419 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13420 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13421 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13422 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13423 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13424 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13425 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13426 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13427 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13428 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13429 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13430 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13431 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13432 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13433 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13434 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13435 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13436 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13439 static u32 nphy_tpc_txgain_ipa_rev6
[] = {
13440 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13441 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13442 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13443 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13444 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13445 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13446 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13447 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13448 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13449 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13450 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13451 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13452 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13453 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13454 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13455 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13456 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13457 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13458 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13459 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13460 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13461 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13462 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13463 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13464 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13465 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13466 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13467 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13468 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13469 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13470 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13471 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13474 static u32 nphy_tpc_txgain_ipa_2g_2057rev3
[] = {
13475 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13476 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13477 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13478 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13479 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13480 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13481 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13482 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13483 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13484 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13485 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13486 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13487 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13488 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13489 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13490 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13491 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13492 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13493 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13494 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13495 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13496 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13497 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13498 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13499 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13500 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13501 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13502 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13503 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13504 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13505 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13506 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13509 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6
[] = {
13510 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13511 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13512 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13513 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13514 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13515 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13516 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13517 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13518 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13519 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13520 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13521 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13522 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13523 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13524 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13525 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13526 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13527 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13528 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13529 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13530 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13531 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13532 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13533 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13534 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13535 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13536 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13537 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13538 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13539 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13540 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13541 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13544 static u32 nphy_tpc_txgain_ipa_2g_2057rev5
[] = {
13545 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13546 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13547 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13548 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13549 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13550 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13551 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13552 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13553 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13554 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13555 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13556 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13557 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13558 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13559 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13560 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13561 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13562 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13563 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13575 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13576 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13579 static u32 nphy_tpc_txgain_ipa_2g_2057rev7
[] = {
13580 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13581 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13582 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13583 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13584 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13585 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13586 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13587 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13588 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13589 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13590 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13591 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13592 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13593 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13594 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13595 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13596 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13597 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13598 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13599 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13610 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13611 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13614 static u32 nphy_tpc_txgain_ipa_5g
[] = {
13615 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13616 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13617 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13618 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13619 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13620 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13621 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13622 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13623 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13624 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13625 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13626 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13627 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13628 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13629 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13630 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13631 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13632 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13633 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13634 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13635 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13636 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13637 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13638 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13639 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13640 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13641 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13642 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13643 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13644 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13645 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13646 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13649 static u32 nphy_tpc_txgain_ipa_5g_2057
[] = {
13650 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13651 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13652 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13653 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13654 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13655 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13656 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13657 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13658 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13659 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13660 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13661 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13662 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13663 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13664 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13665 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13666 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13667 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13668 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13669 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13670 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13671 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13672 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13673 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13674 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13675 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13676 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13677 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13678 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13679 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13680 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13681 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13684 static u32 nphy_tpc_txgain_ipa_5g_2057rev7
[] = {
13685 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13686 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13687 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13688 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13689 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13690 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13691 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13692 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13693 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13694 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13695 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13696 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13697 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13698 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13699 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13700 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13701 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13702 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13703 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13704 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13705 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13706 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13707 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13708 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13709 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13710 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13711 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13714 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13715 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13716 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13719 static s8 nphy_papd_pga_gain_delta_ipa_2g
[] = {
13720 -114, -108, -98, -91, -84, -78, -70, -62,
13721 -54, -46, -39, -31, -23, -15, -8, 0
13724 static s8 nphy_papd_pga_gain_delta_ipa_5g
[] = {
13725 -100, -95, -89, -83, -77, -70, -63, -56,
13726 -48, -41, -33, -25, -19, -12, -6, 0
13729 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4
[] = {
13730 -159, -113, -86, -72, -62, -54, -48, -43,
13731 -39, -35, -31, -28, -25, -23, -20, -18,
13732 -17, -15, -13, -11, -10, -8, -7, -6,
13733 -5, -4, -3, -3, -2, -1, -1, 0
13736 static s16 nphy_papd_padgain_dlt_2g_2057rev5
[] = {
13737 -109, -109, -82, -68, -58, -50, -44, -39,
13738 -35, -31, -28, -26, -23, -21, -19, -17,
13739 -16, -14, -13, -11, -10, -9, -8, -7,
13740 -5, -5, -4, -3, -2, -1, -1, 0
13743 static s16 nphy_papd_padgain_dlt_2g_2057rev7
[] = {
13744 -122, -122, -95, -80, -69, -61, -54, -49,
13745 -43, -39, -35, -32, -28, -26, -23, -21,
13746 -18, -16, -15, -13, -11, -10, -8, -7,
13747 -6, -5, -4, -3, -2, -1, -1, 0
13750 static s8 nphy_papd_pgagain_dlt_5g_2057
[] = {
13751 -107, -101, -92, -85, -78, -71, -62, -55,
13752 -47, -39, -32, -24, -19, -12, -6, 0
13755 static s8 nphy_papd_pgagain_dlt_5g_2057rev7
[] = {
13756 -110, -104, -95, -88, -81, -74, -66, -58,
13757 -50, -44, -36, -28, -23, -15, -8, 0
13760 static u8 pad_gain_codes_used_2057rev5
[] = {
13761 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13762 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13765 static u8 pad_gain_codes_used_2057rev7
[] = {
13766 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13770 static u8 pad_all_gain_codes_2057
[] = {
13771 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13772 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13773 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13777 static u8 pga_all_gain_codes_2057
[] = {
13778 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13781 static u32 nphy_papd_scaltbl
[] = {
13782 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13783 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13784 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13785 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13786 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13787 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13788 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13789 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13790 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13791 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13792 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13793 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13794 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13795 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13796 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13797 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13800 static u32 nphy_tpc_txgain_rev3
[] = {
13801 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13802 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13803 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13804 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13805 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13806 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13807 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13808 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13809 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13810 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13811 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13812 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13813 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13814 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13815 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13816 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13817 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13818 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13819 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13820 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13821 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13822 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13823 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13824 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13825 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13826 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13827 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13828 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13829 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13830 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13831 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13832 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13835 static u32 nphy_tpc_txgain_HiPwrEPA
[] = {
13836 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13837 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13838 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13839 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13840 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13841 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13842 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13843 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13844 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13845 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13846 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13847 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13848 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13849 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13850 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13851 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13852 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13853 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13854 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13855 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13856 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13857 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13858 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13859 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13860 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13861 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13862 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13863 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13864 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13865 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13866 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13867 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13870 static u32 nphy_tpc_txgain_epa_2057rev3
[] = {
13871 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13872 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13873 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13874 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13875 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13876 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13877 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13878 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13879 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13880 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13881 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13882 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13883 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13884 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13885 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13886 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13887 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13888 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13889 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13890 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13901 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13902 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13905 static u32 nphy_tpc_txgain_epa_2057rev5
[] = {
13906 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13907 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13908 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13909 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13910 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13911 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13912 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13913 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13914 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13915 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13916 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13917 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13918 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13919 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13920 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13921 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13922 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13923 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13924 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13925 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13926 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13927 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13928 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13929 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13930 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13931 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13932 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13933 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13934 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13935 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13936 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13937 0x10090001, 0x10090001, 0x10090001, 0x10090001
13940 static u32 nphy_tpc_5GHz_txgain_rev3
[] = {
13941 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13942 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13943 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13944 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13945 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13946 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13947 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13948 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13949 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13950 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13951 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13952 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13953 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13954 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13955 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13956 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13957 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13958 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13959 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13960 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13961 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13962 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13963 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13964 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13965 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13966 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13967 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13968 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13969 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13970 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13971 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13972 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13975 static u32 nphy_tpc_5GHz_txgain_rev4
[] = {
13976 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13977 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13978 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13979 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13980 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13981 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13982 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13983 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13984 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13985 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13986 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13987 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13988 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13989 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13990 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13991 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13992 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13993 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13994 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13995 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13996 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13997 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13998 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13999 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
14000 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14001 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14002 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14003 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14004 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14005 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14006 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14007 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14010 static u32 nphy_tpc_5GHz_txgain_rev5
[] = {
14011 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14012 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14013 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14014 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14015 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14016 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14017 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14018 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14019 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14020 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14021 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14022 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14023 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14024 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14025 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14026 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14027 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14028 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14029 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14030 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14031 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14032 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14033 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14034 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14035 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14036 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14037 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14038 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14039 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14040 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14041 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14042 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14045 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA
[] = {
14046 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14047 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14048 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14049 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14050 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14051 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14052 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14053 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14054 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14055 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14056 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14057 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14058 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14059 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14060 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14061 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14062 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14063 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14064 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14065 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14066 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14067 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14068 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14069 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14070 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14071 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14072 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14073 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14074 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14075 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14076 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14077 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14080 static u8 ant_sw_ctrl_tbl_rev8_2o3
[] = { 0x14, 0x18 };
14081 static u8 ant_sw_ctrl_tbl_rev8
[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14082 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0
[] = {
14083 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14084 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1
[] = {
14085 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14087 static bool wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
14088 chan_info_nphy_radio2057_t
**t0
,
14089 chan_info_nphy_radio205x_t
**t1
,
14090 chan_info_nphy_radio2057_rev5_t
**t2
,
14091 chan_info_nphy_2055_t
**t3
);
14092 static void wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chans
,
14093 const nphy_sfo_cfg_t
*c
);
14095 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
,
14096 u16 reduction_factr
);
14097 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *,
14099 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
);
14100 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
);
14101 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
);
14103 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
);
14104 static void wlc_phy_radio_init_2055(phy_info_t
*pi
);
14105 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
);
14106 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
);
14107 static void wlc_phy_radio_init_2056(phy_info_t
*pi
);
14108 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
);
14109 static void wlc_phy_radio_init_2057(phy_info_t
*pi
);
14110 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
);
14111 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
);
14112 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
);
14113 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
);
14114 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
);
14115 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
);
14117 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
);
14118 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
);
14119 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
);
14120 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t tg
,
14122 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rxcore
,
14124 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, s32 preamble
);
14125 static void wlc_phy_savecal_nphy(phy_info_t
*pi
);
14126 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
);
14127 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
);
14129 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t
*pi
);
14130 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
);
14131 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
);
14132 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, u16 core
);
14134 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14135 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14136 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
);
14137 static u16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
);
14138 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
);
14139 static u32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
);
14141 static void wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, u32 winsz
, u32
,
14143 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
);
14144 static void wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*,
14145 phy_cal_mode_t
, u8
);
14146 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
,
14147 nphy_papd_restore_state
*state
);
14148 static void wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
,
14149 nphy_papd_restore_state
*state
, u8
);
14151 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, u16
*vals
);
14153 static void wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*evts
,
14156 static u16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, u16 offset
);
14159 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, u16 field
, u16 value
,
14160 u8 core_mask
, u8 off
,
14163 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
);
14164 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
);
14166 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t
*pi
);
14167 static void wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
,
14169 u8 tmp_max_pwr
, u8 rate_start
,
14172 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
);
14173 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
);
14174 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
);
14175 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
);
14177 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
);
14178 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
);
14179 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
,
14181 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
);
14183 static u16
wlc_phy_radio205x_rcal(phy_info_t
*pi
);
14185 static u16
wlc_phy_radio2057_rccal(phy_info_t
*pi
);
14187 static u16
wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, u32 f_kHz
,
14190 static void wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cs32
*tone_buf
,
14192 static void wlc_phy_runsamples_nphy(phy_info_t
*pi
, u16 n
, u16 lps
,
14193 u16 wait
, u8 iq
, u8 dac_test_mode
,
14194 bool modify_bbmult
);
14196 bool wlc_phy_bist_check_phy(wlc_phy_t
*pih
)
14198 phy_info_t
*pi
= (phy_info_t
*) pih
;
14199 u32 phybist0
, phybist1
, phybist2
, phybist3
, phybist4
;
14201 if (NREV_GE(pi
->pubpi
.phy_rev
, 16))
14204 phybist0
= read_phy_reg(pi
, 0x0e);
14205 phybist1
= read_phy_reg(pi
, 0x0f);
14206 phybist2
= read_phy_reg(pi
, 0xea);
14207 phybist3
= read_phy_reg(pi
, 0xeb);
14208 phybist4
= read_phy_reg(pi
, 0x156);
14210 if ((phybist0
== 0) && (phybist1
== 0x4000) && (phybist2
== 0x1fe0) &&
14211 (phybist3
== 0) && (phybist4
== 0)) {
14218 static void WLBANDINITFN(wlc_phy_bphy_init_nphy
) (phy_info_t
*pi
)
14222 ASSERT(ISNPHY(pi
));
14225 for (addr
= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT
);
14226 addr
<= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT_END
); addr
++) {
14227 write_phy_reg(pi
, addr
, val
);
14228 if (addr
== (NPHY_TO_BPHY_OFF
+ 0x97))
14234 if (NORADIO_ENAB(pi
->pubpi
)) {
14236 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_PHYCRSTH
, 0x3206);
14238 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_RSSI_TRESH
, 0x281e);
14240 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_LNA_GAIN_RANGE
, 0x1a);
14244 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_STEP
, 0x668);
14249 wlc_phy_table_write_nphy(phy_info_t
*pi
, u32 id
, u32 len
, u32 offset
,
14250 u32 width
, const void *data
)
14252 mimophytbl_info_t tbl
;
14256 tbl
.tbl_offset
= offset
;
14257 tbl
.tbl_width
= width
;
14258 tbl
.tbl_ptr
= data
;
14259 wlc_phy_write_table_nphy(pi
, &tbl
);
14263 wlc_phy_table_read_nphy(phy_info_t
*pi
, u32 id
, u32 len
, u32 offset
,
14264 u32 width
, void *data
)
14266 mimophytbl_info_t tbl
;
14270 tbl
.tbl_offset
= offset
;
14271 tbl
.tbl_width
= width
;
14272 tbl
.tbl_ptr
= data
;
14273 wlc_phy_read_table_nphy(pi
, &tbl
);
14276 static void WLBANDINITFN(wlc_phy_static_table_download_nphy
) (phy_info_t
*pi
)
14280 if (NREV_GE(pi
->pubpi
.phy_rev
, 16)) {
14281 for (idx
= 0; idx
< mimophytbl_info_sz_rev16
; idx
++)
14282 wlc_phy_write_table_nphy(pi
,
14283 &mimophytbl_info_rev16
[idx
]);
14284 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14285 for (idx
= 0; idx
< mimophytbl_info_sz_rev7
; idx
++)
14286 wlc_phy_write_table_nphy(pi
,
14287 &mimophytbl_info_rev7
[idx
]);
14288 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14289 for (idx
= 0; idx
< mimophytbl_info_sz_rev3
; idx
++)
14290 wlc_phy_write_table_nphy(pi
,
14291 &mimophytbl_info_rev3
[idx
]);
14293 for (idx
= 0; idx
< mimophytbl_info_sz_rev0
; idx
++)
14294 wlc_phy_write_table_nphy(pi
,
14295 &mimophytbl_info_rev0
[idx
]);
14299 static void WLBANDINITFN(wlc_phy_tbl_init_nphy
) (phy_info_t
*pi
)
14304 if (pi
->phy_init_por
)
14305 wlc_phy_static_table_download_nphy(pi
);
14307 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14309 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14310 pi
->srom_fem2g
.antswctrllut
: pi
->srom_fem5g
.antswctrllut
;
14312 switch (antswctrllut
) {
14319 if (pi
->aa2g
== 7) {
14321 wlc_phy_table_write_nphy(pi
,
14322 NPHY_TBL_ID_ANTSWCTRLLUT
,
14324 &ant_sw_ctrl_tbl_rev8_2o3
14327 wlc_phy_table_write_nphy(pi
,
14328 NPHY_TBL_ID_ANTSWCTRLLUT
,
14330 &ant_sw_ctrl_tbl_rev8
14333 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14335 &ant_sw_ctrl_tbl_rev8
[2]);
14336 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14338 &ant_sw_ctrl_tbl_rev8
[4]);
14343 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14345 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14347 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14349 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14351 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14353 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14356 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14358 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14360 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14362 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14364 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14366 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14376 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14377 for (idx
= 0; idx
< mimophytbl_info_sz_rev3_volatile
; idx
++) {
14379 if (idx
== ANT_SWCTRL_TBL_REV3_IDX
) {
14380 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14381 pi
->srom_fem2g
.antswctrllut
: pi
->
14382 srom_fem5g
.antswctrllut
;
14383 switch (antswctrllut
) {
14385 wlc_phy_write_table_nphy(pi
,
14386 &mimophytbl_info_rev3_volatile
14390 wlc_phy_write_table_nphy(pi
,
14391 &mimophytbl_info_rev3_volatile1
14395 wlc_phy_write_table_nphy(pi
,
14396 &mimophytbl_info_rev3_volatile2
14400 wlc_phy_write_table_nphy(pi
,
14401 &mimophytbl_info_rev3_volatile3
14410 wlc_phy_write_table_nphy(pi
,
14411 &mimophytbl_info_rev3_volatile
14416 for (idx
= 0; idx
< mimophytbl_info_sz_rev0_volatile
; idx
++) {
14417 wlc_phy_write_table_nphy(pi
,
14418 &mimophytbl_info_rev0_volatile
14425 wlc_phy_write_txmacreg_nphy(phy_info_t
*pi
, u16 holdoff
, u16 delay
)
14427 write_phy_reg(pi
, 0x77, holdoff
);
14428 write_phy_reg(pi
, 0xb4, delay
);
14431 void wlc_phy_nphy_tkip_rifs_war(phy_info_t
*pi
, u8 rifs
)
14433 u16 holdoff
, delay
;
14445 wlc_phy_write_txmacreg_nphy(pi
, holdoff
, delay
);
14447 if (pi
&& pi
->sh
&& (pi
->sh
->_rifs_phy
!= rifs
)) {
14448 pi
->sh
->_rifs_phy
= rifs
;
14452 bool wlc_phy_attach_nphy(phy_info_t
*pi
)
14456 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14457 pi
->phyhang_avoid
= true;
14460 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14462 pi
->nphy_gband_spurwar_en
= true;
14464 if (pi
->sh
->boardflags2
& BFL2_SPUR_WAR
) {
14465 pi
->nphy_aband_spurwar_en
= true;
14468 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14470 if (pi
->sh
->boardflags2
& BFL2_2G_SPUR_WAR
) {
14471 pi
->nphy_gband_spurwar2_en
= true;
14475 pi
->n_preamble_override
= AUTO
;
14476 if (NREV_IS(pi
->pubpi
.phy_rev
, 3) || NREV_IS(pi
->pubpi
.phy_rev
, 4))
14477 pi
->n_preamble_override
= WLC_N_PREAMBLE_MIXEDMODE
;
14479 pi
->nphy_txrx_chain
= AUTO
;
14480 pi
->phy_scraminit
= AUTO
;
14482 pi
->nphy_rxcalparams
= 0x010100B5;
14484 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
14485 pi
->mphase_cal_phase_id
= MPHASE_CAL_STATE_IDLE
;
14486 pi
->mphase_txcal_numcmds
= MPHASE_TXCAL_NUMCMDS
;
14488 pi
->nphy_gain_boost
= true;
14489 pi
->nphy_elna_gain_config
= false;
14490 pi
->radio_is_on
= false;
14492 for (i
= 0; i
< pi
->pubpi
.phy_corenum
; i
++) {
14493 pi
->nphy_txpwrindex
[i
].index
= AUTO
;
14496 wlc_phy_txpwrctrl_config_nphy(pi
);
14497 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_ON
)
14498 pi
->hwpwrctrl_capable
= true;
14500 pi
->pi_fptr
.init
= wlc_phy_init_nphy
;
14501 pi
->pi_fptr
.calinit
= wlc_phy_cal_init_nphy
;
14502 pi
->pi_fptr
.chanset
= wlc_phy_chanspec_set_nphy
;
14503 pi
->pi_fptr
.txpwrrecalc
= wlc_phy_txpower_recalc_target_nphy
;
14505 if (!wlc_phy_txpwr_srom_read_nphy(pi
))
14511 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t
*pi
)
14514 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14515 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14516 pi
->phy_5g_pwrgain
= true;
14520 pi
->nphy_txpwrctrl
= PHY_TPC_HW_OFF
;
14521 pi
->phy_5g_pwrgain
= false;
14523 if ((pi
->sh
->boardflags2
& BFL2_TXPWRCTRL_EN
) &&
14524 NREV_GE(pi
->pubpi
.phy_rev
, 2) && (pi
->sh
->sromrev
>= 4))
14525 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14526 else if ((pi
->sh
->sromrev
>= 4)
14527 && (pi
->sh
->boardflags2
& BFL2_5G_PWRGAIN
))
14528 pi
->phy_5g_pwrgain
= true;
14531 void WLBANDINITFN(wlc_phy_init_nphy
) (phy_info_t
*pi
)
14535 nphy_txgains_t target_gain
;
14536 u8 tx_pwr_ctrl_state
;
14537 bool do_nphy_cal
= false;
14539 uint origidx
, intr_val
;
14541 u32 d11_clk_ctl_st
;
14545 if (!(pi
->measure_hold
& PHY_HOLD_FOR_SCAN
)) {
14546 pi
->measure_hold
|= PHY_HOLD_FOR_NOT_ASSOC
;
14549 if ((ISNPHY(pi
)) && (NREV_GE(pi
->pubpi
.phy_rev
, 5)) &&
14550 ((pi
->sh
->chippkg
== BCM4717_PKG_ID
) ||
14551 (pi
->sh
->chippkg
== BCM4718_PKG_ID
))) {
14552 if ((pi
->sh
->boardflags
& BFL_EXTLNA
) &&
14553 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
14554 si_corereg(pi
->sh
->sih
, SI_CC_IDX
,
14555 offsetof(chipcregs_t
, chipcontrol
), 0x40,
14560 if ((!PHY_IPA(pi
)) && (pi
->sh
->chip
== BCM5357_CHIP_ID
)) {
14561 si_pmu_chipcontrol(pi
->sh
->sih
, 1, CCTRL5357_EXTPA
,
14565 if ((pi
->nphy_gband_spurwar2_en
) && CHSPEC_IS2G(pi
->radio_chanspec
) &&
14566 CHSPEC_IS40(pi
->radio_chanspec
)) {
14568 regs
= (d11regs_t
*) si_switch_core(pi
->sh
->sih
, D11_CORE_ID
,
14569 &origidx
, &intr_val
);
14570 ASSERT(regs
!= NULL
);
14572 d11_clk_ctl_st
= R_REG(®s
->clk_ctl_st
);
14573 AND_REG(®s
->clk_ctl_st
,
14574 ~(CCS_FORCEHT
| CCS_HTAREQ
));
14576 W_REG(®s
->clk_ctl_st
, d11_clk_ctl_st
);
14578 si_restore_core(pi
->sh
->sih
, origidx
, intr_val
);
14581 pi
->use_int_tx_iqlo_cal_nphy
=
14583 (NREV_GE(pi
->pubpi
.phy_rev
, 7) ||
14584 (NREV_GE(pi
->pubpi
.phy_rev
, 5)
14585 && pi
->sh
->boardflags2
& BFL2_INTERNDET_TXIQCAL
)));
14587 pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
= false;
14589 pi
->nphy_deaf_count
= 0;
14591 wlc_phy_tbl_init_nphy(pi
);
14593 pi
->nphy_crsminpwr_adjusted
= false;
14594 pi
->nphy_noisevars_adjusted
= false;
14596 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14597 write_phy_reg(pi
, 0xe7, 0);
14598 write_phy_reg(pi
, 0xec, 0);
14599 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14600 write_phy_reg(pi
, 0x342, 0);
14601 write_phy_reg(pi
, 0x343, 0);
14602 write_phy_reg(pi
, 0x346, 0);
14603 write_phy_reg(pi
, 0x347, 0);
14605 write_phy_reg(pi
, 0xe5, 0);
14606 write_phy_reg(pi
, 0xe6, 0);
14608 write_phy_reg(pi
, 0xec, 0);
14611 write_phy_reg(pi
, 0x91, 0);
14612 write_phy_reg(pi
, 0x92, 0);
14613 if (NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14614 write_phy_reg(pi
, 0x93, 0);
14615 write_phy_reg(pi
, 0x94, 0);
14618 and_phy_reg(pi
, 0xa1, ~3);
14620 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14621 write_phy_reg(pi
, 0x8f, 0);
14622 write_phy_reg(pi
, 0xa5, 0);
14624 write_phy_reg(pi
, 0xa5, 0);
14627 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
14628 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
14629 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
14630 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
14632 write_phy_reg(pi
, 0x203, 32);
14633 write_phy_reg(pi
, 0x201, 32);
14635 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
)
14636 write_phy_reg(pi
, 0x20d, 160);
14638 write_phy_reg(pi
, 0x20d, 184);
14640 write_phy_reg(pi
, 0x13a, 200);
14642 write_phy_reg(pi
, 0x70, 80);
14644 write_phy_reg(pi
, 0x1ff, 48);
14646 if (NREV_LT(pi
->pubpi
.phy_rev
, 8)) {
14647 wlc_phy_update_mimoconfig_nphy(pi
, pi
->n_preamble_override
);
14650 wlc_phy_stf_chain_upd_nphy(pi
);
14652 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
14653 write_phy_reg(pi
, 0x180, 0xaa8);
14654 write_phy_reg(pi
, 0x181, 0x9a4);
14658 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
14660 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
14661 0x29b, (0x1 << 0), (1) << 0);
14663 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x298 :
14664 0x29c, (0x1ff << 7),
14665 (pi
->nphy_papd_epsilon_offset
[core
]) << 7);
14669 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
14672 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
14673 wlc_phy_extpa_set_tx_digi_filts_nphy(pi
);
14677 wlc_phy_workarounds_nphy(pi
);
14679 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14681 val
= read_phy_reg(pi
, 0x01);
14682 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14683 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14684 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14686 wlapi_bmac_macphyclk_set(pi
->sh
->physhim
, ON
);
14688 wlc_phy_pa_override_nphy(pi
, OFF
);
14689 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
14690 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14691 wlc_phy_pa_override_nphy(pi
, ON
);
14693 wlc_phy_classifier_nphy(pi
, 0, 0);
14694 wlc_phy_clip_det_nphy(pi
, 0, clip1_ths
);
14696 if (CHSPEC_IS2G(pi
->radio_chanspec
))
14697 wlc_phy_bphy_init_nphy(pi
);
14699 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
14700 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
14702 wlc_phy_txpwr_fixpower_nphy(pi
);
14704 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
14706 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
14708 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14709 u32
*tx_pwrctrl_tbl
= NULL
;
14713 s32 rfpwr_offset
= 0;
14716 tx_pwrctrl_tbl
= wlc_phy_get_ipa_gaintbl_nphy(pi
);
14718 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
14720 (pi
->pubpi
.phy_rev
, 3) {
14722 nphy_tpc_5GHz_txgain_rev3
;
14724 (pi
->pubpi
.phy_rev
, 4) {
14726 (pi
->srom_fem5g
.extpagain
== 3) ?
14727 nphy_tpc_5GHz_txgain_HiPwrEPA
:
14728 nphy_tpc_5GHz_txgain_rev4
;
14731 nphy_tpc_5GHz_txgain_rev5
;
14735 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14736 if (pi
->pubpi
.radiorev
== 5) {
14738 nphy_tpc_txgain_epa_2057rev5
;
14739 } else if (pi
->pubpi
.radiorev
== 3) {
14741 nphy_tpc_txgain_epa_2057rev3
;
14745 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
14746 (pi
->srom_fem2g
.extpagain
== 3)) {
14748 nphy_tpc_txgain_HiPwrEPA
;
14751 nphy_tpc_txgain_rev3
;
14757 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14758 192, 32, tx_pwrctrl_tbl
);
14759 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14760 192, 32, tx_pwrctrl_tbl
);
14762 pi
->nphy_gmval
= (u16
) ((*tx_pwrctrl_tbl
>> 16) & 0x7000);
14764 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14766 for (idx
= 0; idx
< 128; idx
++) {
14767 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14768 pad_gn
= (tx_pwrctrl_tbl
[idx
] >> 19) & 0x1f;
14770 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14771 if ((pi
->pubpi
.radiorev
== 3) ||
14772 (pi
->pubpi
.radiorev
== 4) ||
14773 (pi
->pubpi
.radiorev
== 6)) {
14774 rfpwr_offset
= (s16
)
14775 nphy_papd_padgain_dlt_2g_2057rev3n4
14777 } else if (pi
->pubpi
.radiorev
== 5) {
14778 rfpwr_offset
= (s16
)
14779 nphy_papd_padgain_dlt_2g_2057rev5
14781 } else if ((pi
->pubpi
.radiorev
== 7)
14782 || (pi
->pubpi
.radiorev
==
14784 rfpwr_offset
= (s16
)
14785 nphy_papd_padgain_dlt_2g_2057rev7
14792 if ((pi
->pubpi
.radiorev
== 3) ||
14793 (pi
->pubpi
.radiorev
== 4) ||
14794 (pi
->pubpi
.radiorev
== 6)) {
14795 rfpwr_offset
= (s16
)
14796 nphy_papd_pgagain_dlt_5g_2057
14798 } else if ((pi
->pubpi
.radiorev
== 7)
14799 || (pi
->pubpi
.radiorev
==
14801 rfpwr_offset
= (s16
)
14802 nphy_papd_pgagain_dlt_5g_2057rev7
14808 wlc_phy_table_write_nphy(pi
,
14809 NPHY_TBL_ID_CORE1TXPWRCTL
,
14812 wlc_phy_table_write_nphy(pi
,
14813 NPHY_TBL_ID_CORE2TXPWRCTL
,
14819 for (idx
= 0; idx
< 128; idx
++) {
14820 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14821 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14822 rfpwr_offset
= (s16
)
14823 nphy_papd_pga_gain_delta_ipa_2g
14826 rfpwr_offset
= (s16
)
14827 nphy_papd_pga_gain_delta_ipa_5g
14831 wlc_phy_table_write_nphy(pi
,
14832 NPHY_TBL_ID_CORE1TXPWRCTL
,
14835 wlc_phy_table_write_nphy(pi
,
14836 NPHY_TBL_ID_CORE2TXPWRCTL
,
14844 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14845 192, 32, nphy_tpc_txgain
);
14846 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14847 192, 32, nphy_tpc_txgain
);
14850 if (pi
->sh
->phyrxchain
!= 0x3) {
14851 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
*) pi
,
14852 pi
->sh
->phyrxchain
);
14855 if (PHY_PERICAL_MPHASE_PENDING(pi
)) {
14856 wlc_phy_cal_perical_mphase_restart(pi
);
14859 if (!NORADIO_ENAB(pi
->pubpi
)) {
14860 bool do_rssi_cal
= false;
14862 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14863 do_rssi_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14864 (pi
->nphy_rssical_chanspec_2G
== 0) :
14865 (pi
->nphy_rssical_chanspec_5G
== 0);
14868 wlc_phy_rssi_cal_nphy(pi
);
14870 wlc_phy_restore_rssical_nphy(pi
);
14873 wlc_phy_rssi_cal_nphy(pi
);
14876 if (!SCAN_RM_IN_PROGRESS(pi
)) {
14877 do_nphy_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14878 (pi
->nphy_iqcal_chanspec_2G
== 0) :
14879 (pi
->nphy_iqcal_chanspec_5G
== 0);
14882 if (!pi
->do_initcal
)
14883 do_nphy_cal
= false;
14887 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
14889 if (pi
->antsel_type
== ANTSEL_2x3
)
14890 wlc_phy_antsel_init((wlc_phy_t
*) pi
, true);
14892 if (pi
->nphy_perical
!= PHY_PERICAL_MPHASE
) {
14893 wlc_phy_rssi_cal_nphy(pi
);
14895 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14896 pi
->nphy_cal_orig_pwr_idx
[0] =
14897 pi
->nphy_txpwrindex
[PHY_CORE_0
].
14899 pi
->nphy_cal_orig_pwr_idx
[1] =
14900 pi
->nphy_txpwrindex
[PHY_CORE_1
].
14903 wlc_phy_precal_txgain_nphy(pi
);
14905 wlc_phy_get_tx_gain_nphy(pi
);
14908 if (wlc_phy_cal_txiqlo_nphy
14909 (pi
, target_gain
, true, false) == BCME_OK
) {
14910 if (wlc_phy_cal_rxiq_nphy
14911 (pi
, target_gain
, 2,
14912 false) == BCME_OK
) {
14913 wlc_phy_savecal_nphy(pi
);
14917 } else if (pi
->mphase_cal_phase_id
==
14918 MPHASE_CAL_STATE_IDLE
) {
14920 wlc_phy_cal_perical((wlc_phy_t
*) pi
,
14921 PHY_PERICAL_PHYINIT
);
14924 wlc_phy_restorecal_nphy(pi
);
14928 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
14930 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
14932 wlc_phy_nphy_tkip_rifs_war(pi
, pi
->sh
->_rifs_phy
);
14934 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LE(pi
->pubpi
.phy_rev
, 6))
14936 write_phy_reg(pi
, 0x70, 50);
14938 wlc_phy_txlpfbw_nphy(pi
);
14940 wlc_phy_spurwar_nphy(pi
);
14944 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, s32 preamble
)
14946 bool gf_preamble
= false;
14949 if (preamble
== WLC_N_PREAMBLE_GF
) {
14950 gf_preamble
= true;
14953 val
= read_phy_reg(pi
, 0xed);
14955 val
|= RX_GF_MM_AUTO
;
14956 val
&= ~RX_GF_OR_MM
;
14958 val
|= RX_GF_OR_MM
;
14960 write_phy_reg(pi
, 0xed, val
);
14963 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
)
14967 ASSERT(0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
14969 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14971 val
= read_phy_reg(pi
, 0x01);
14972 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14974 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14976 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14978 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14981 void wlc_phy_pa_override_nphy(phy_info_t
*pi
, bool en
)
14983 u16 rfctrlintc_override_val
;
14987 pi
->rfctrlIntc1_save
= read_phy_reg(pi
, 0x91);
14988 pi
->rfctrlIntc2_save
= read_phy_reg(pi
, 0x92);
14990 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14991 rfctrlintc_override_val
= 0x1480;
14992 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14993 rfctrlintc_override_val
=
14994 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x600 : 0x480;
14996 rfctrlintc_override_val
=
14997 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
15000 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
15001 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
15004 write_phy_reg(pi
, 0x91, pi
->rfctrlIntc1_save
);
15005 write_phy_reg(pi
, 0x92, pi
->rfctrlIntc2_save
);
15010 void wlc_phy_stf_chain_upd_nphy(phy_info_t
*pi
)
15014 (NPHY_RfseqCoreActv_TxRxChain0
| NPHY_RfseqCoreActv_TxRxChain1
);
15015 bool CoreActv_override
= false;
15017 if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN0
) {
15018 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain0
;
15019 CoreActv_override
= true;
15021 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15022 and_phy_reg(pi
, 0xa0, ~0x20);
15024 } else if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN1
) {
15025 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain1
;
15026 CoreActv_override
= true;
15028 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15029 or_phy_reg(pi
, 0xa0, 0x20);
15033 mod_phy_reg(pi
, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain
);
15035 if (CoreActv_override
) {
15037 pi
->nphy_perical
= PHY_PERICAL_DISABLE
;
15038 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
15040 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
15041 and_phy_reg(pi
, 0xa1, ~NPHY_RfseqMode_CoreActv_override
);
15045 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t
*pih
, u8 rxcore_bitmask
)
15050 phy_info_t
*pi
= (phy_info_t
*) pih
;
15054 pi
->sh
->phyrxchain
= rxcore_bitmask
;
15060 (0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
15062 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
15064 if (pi
->phyhang_avoid
)
15065 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
15067 regval
= read_phy_reg(pi
, 0xa2);
15068 regval
&= ~(0xf << 4);
15069 regval
|= ((u16
) (rxcore_bitmask
& 0x3)) << 4;
15070 write_phy_reg(pi
, 0xa2, regval
);
15072 if ((rxcore_bitmask
& 0x3) != 0x3) {
15074 write_phy_reg(pi
, 0x20e, 1);
15076 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15077 if (pi
->rx2tx_biasentry
== -1) {
15078 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15079 ARRAY_SIZE(tbl_buf
), 80,
15082 for (i
= 0; i
< ARRAY_SIZE(tbl_buf
); i
++) {
15084 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
) {
15086 pi
->rx2tx_biasentry
= (u8
) i
;
15088 NPHY_REV3_RFSEQ_CMD_NOP
;
15089 wlc_phy_table_write_nphy(pi
,
15095 } else if (tbl_buf
[i
] ==
15096 NPHY_REV3_RFSEQ_CMD_END
) {
15104 write_phy_reg(pi
, 0x20e, 30);
15106 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15107 if (pi
->rx2tx_biasentry
!= -1) {
15108 tbl_opcode
= NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
;
15109 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15110 1, pi
->rx2tx_biasentry
,
15112 pi
->rx2tx_biasentry
= -1;
15117 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
15119 if (pi
->phyhang_avoid
)
15120 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
15123 wlapi_enable_mac(pi
->sh
->physhim
);
15126 u8
wlc_phy_rxcore_getstate_nphy(wlc_phy_t
*pih
)
15128 u16 regval
, rxen_bits
;
15129 phy_info_t
*pi
= (phy_info_t
*) pih
;
15131 regval
= read_phy_reg(pi
, 0xa2);
15132 rxen_bits
= (regval
>> 4) & 0xf;
15134 return (u8
) rxen_bits
;
15137 bool wlc_phy_n_txpower_ipa_ison(phy_info_t
*pi
)
15139 return PHY_IPA(pi
);
15142 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
)
15144 u8 idx
, idx2
, i
, delta_ind
;
15146 for (idx
= TXP_FIRST_CCK
; idx
<= TXP_LAST_CCK
; idx
++) {
15147 pi
->adj_pwr_tbl_nphy
[idx
] = pi
->tx_power_offset
[idx
];
15150 for (i
= 0; i
< 4; i
++) {
15158 if (CHSPEC_IS40(pi
->radio_chanspec
)
15159 && NPHY_IS_SROM_REINTERPRET
) {
15160 idx
= TXP_FIRST_MCS_40_SISO
;
15162 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15163 TXP_FIRST_OFDM_40_SISO
: TXP_FIRST_OFDM
;
15170 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15171 TXP_FIRST_MCS_40_CDD
: TXP_FIRST_MCS_20_CDD
;
15176 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15177 TXP_FIRST_MCS_40_STBC
: TXP_FIRST_MCS_20_STBC
;
15182 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15183 TXP_FIRST_MCS_40_SDM
: TXP_FIRST_MCS_20_SDM
;
15187 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15188 pi
->tx_power_offset
[idx
];
15189 idx
= idx
+ delta_ind
;
15190 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15191 pi
->tx_power_offset
[idx
];
15192 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15193 pi
->tx_power_offset
[idx
];
15194 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15195 pi
->tx_power_offset
[idx
++];
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
];
15203 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15204 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
];
15212 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15213 pi
->tx_power_offset
[idx
++];
15215 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15216 pi
->tx_power_offset
[idx
];
15217 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15218 pi
->tx_power_offset
[idx
++];
15219 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15220 pi
->tx_power_offset
[idx
];
15221 idx
= idx
+ 1 - delta_ind
;
15222 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15223 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
];
15231 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15232 pi
->tx_power_offset
[idx
];
15236 void wlc_phy_cal_init_nphy(phy_info_t
*pi
)
15240 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t
*pi
, u8 core
)
15242 if (core
== PHY_CORE_0
) {
15243 write_phy_reg(pi
, 0x38, 0x4);
15244 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15245 write_phy_reg(pi
, 0x37, 0x0060);
15247 write_phy_reg(pi
, 0x37, 0x1080);
15249 } else if (core
== PHY_CORE_1
) {
15250 write_phy_reg(pi
, 0x2ae, 0x4);
15251 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15252 write_phy_reg(pi
, 0x2ad, 0x0060);
15254 write_phy_reg(pi
, 0x2ad, 0x1080);
15259 static void wlc_phy_war_txchain_upd_nphy(phy_info_t
*pi
, u8 txchain
)
15261 u8 txchain0
, txchain1
;
15263 txchain0
= txchain
& 0x1;
15264 txchain1
= (txchain
& 0x2) >> 1;
15266 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
15270 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
15274 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
)
15276 u8 rfseq_rx2tx_events
[] = {
15277 NPHY_RFSEQ_CMD_NOP
,
15278 NPHY_RFSEQ_CMD_RXG_FBW
,
15279 NPHY_RFSEQ_CMD_TR_SWITCH
,
15280 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
15281 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15282 NPHY_RFSEQ_CMD_TX_GAIN
,
15283 NPHY_RFSEQ_CMD_EXT_PA
15285 u8 rfseq_rx2tx_dlys
[] = { 8, 6, 6, 2, 4, 60, 1 };
15286 u8 rfseq_tx2rx_events
[] = {
15287 NPHY_RFSEQ_CMD_NOP
,
15288 NPHY_RFSEQ_CMD_EXT_PA
,
15289 NPHY_RFSEQ_CMD_TX_GAIN
,
15290 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15291 NPHY_RFSEQ_CMD_TR_SWITCH
,
15292 NPHY_RFSEQ_CMD_RXG_FBW
,
15293 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15295 u8 rfseq_tx2rx_dlys
[] = { 8, 6, 2, 4, 4, 6, 1 };
15296 u8 rfseq_tx2rx_events_rev3
[] = {
15297 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15298 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15299 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15300 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15301 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15302 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15303 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15304 NPHY_REV3_RFSEQ_CMD_END
15306 u8 rfseq_tx2rx_dlys_rev3
[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15307 u8 rfseq_rx2tx_events_rev3
[] = {
15308 NPHY_REV3_RFSEQ_CMD_NOP
,
15309 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15310 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15311 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15312 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15313 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15314 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15315 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15316 NPHY_REV3_RFSEQ_CMD_END
15318 u8 rfseq_rx2tx_dlys_rev3
[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15320 u8 rfseq_rx2tx_events_rev3_ipa
[] = {
15321 NPHY_REV3_RFSEQ_CMD_NOP
,
15322 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15323 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15324 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15325 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15326 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15327 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
,
15328 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15329 NPHY_REV3_RFSEQ_CMD_END
15331 u8 rfseq_rx2tx_dlys_rev3_ipa
[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15332 u16 rfseq_rx2tx_dacbufpu_rev7
[] = { 0x10f, 0x10f };
15334 s16 alpha0
, alpha1
, alpha2
;
15335 s16 beta0
, beta1
, beta2
;
15336 u32 leg_data_weights
, ht_data_weights
, nss1_data_weights
,
15338 u8 chan_freq_range
= 0;
15339 u16 dac_control
= 0x0002;
15340 u16 aux_adc_vmid_rev7_core0
[] = { 0x8e, 0x96, 0x96, 0x96 };
15341 u16 aux_adc_vmid_rev7_core1
[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15342 u16 aux_adc_vmid_rev4
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15343 u16 aux_adc_vmid_rev3
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15345 u16 aux_adc_gain_rev7
[] = { 0x02, 0x02, 0x02, 0x02 };
15346 u16 aux_adc_gain_rev4
[] = { 0x02, 0x02, 0x02, 0x00 };
15347 u16 aux_adc_gain_rev3
[] = { 0x02, 0x02, 0x02, 0x00 };
15349 u16 sk_adc_vmid
[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15350 u16 sk_adc_gain
[] = { 0x02, 0x02, 0x02, 0x02 };
15351 s32 min_nvar_val
= 0x18d;
15352 s32 min_nvar_offset_6mbps
= 20;
15356 u16 afectrl_adc_ctrl1_rev7
= 0x20;
15357 u16 afectrl_adc_ctrl2_rev7
= 0x0;
15358 u16 rfseq_rx2tx_lpf_h_hpc_rev7
= 0x77;
15359 u16 rfseq_tx2rx_lpf_h_hpc_rev7
= 0x77;
15360 u16 rfseq_pktgn_lpf_h_hpc_rev7
= 0x77;
15361 u16 rfseq_htpktgn_lpf_hpc_rev7
[] = { 0x77, 0x11, 0x11 };
15362 u16 rfseq_pktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15363 u16 rfseq_cckpktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15364 u16 ipalvlshift_3p3_war_en
= 0;
15365 u16 rccal_bcap_val
, rccal_scap_val
;
15366 u16 rccal_tx20_11b_bcap
= 0;
15367 u16 rccal_tx20_11b_scap
= 0;
15368 u16 rccal_tx20_11n_bcap
= 0;
15369 u16 rccal_tx20_11n_scap
= 0;
15370 u16 rccal_tx40_11n_bcap
= 0;
15371 u16 rccal_tx40_11n_scap
= 0;
15372 u16 rx2tx_lpf_rc_lut_tx20_11b
= 0;
15373 u16 rx2tx_lpf_rc_lut_tx20_11n
= 0;
15374 u16 rx2tx_lpf_rc_lut_tx40_11n
= 0;
15375 u16 tx_lpf_bw_ofdm_20mhz
= 0;
15376 u16 tx_lpf_bw_ofdm_40mhz
= 0;
15377 u16 tx_lpf_bw_11b
= 0;
15378 u16 ipa2g_mainbias
, ipa2g_casconv
, ipa2g_biasfilt
;
15379 u16 txgm_idac_bleed
= 0;
15380 bool rccal_ovrd
= false;
15384 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
15385 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 0);
15387 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 1);
15390 if (pi
->phyhang_avoid
)
15391 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
15393 if (!ISSIM_ENAB(pi
->sh
->sih
)) {
15394 or_phy_reg(pi
, 0xb1, NPHY_IQFlip_ADC1
| NPHY_IQFlip_ADC2
);
15397 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
15399 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
15400 mod_phy_reg(pi
, 0x221, (0x1 << 4), (1 << 4));
15402 mod_phy_reg(pi
, 0x160, (0x7f << 0), (32 << 0));
15403 mod_phy_reg(pi
, 0x160, (0x7f << 8), (39 << 8));
15404 mod_phy_reg(pi
, 0x161, (0x7f << 0), (46 << 0));
15405 mod_phy_reg(pi
, 0x161, (0x7f << 8), (51 << 8));
15406 mod_phy_reg(pi
, 0x162, (0x7f << 0), (55 << 0));
15407 mod_phy_reg(pi
, 0x162, (0x7f << 8), (58 << 8));
15408 mod_phy_reg(pi
, 0x163, (0x7f << 0), (60 << 0));
15409 mod_phy_reg(pi
, 0x163, (0x7f << 8), (62 << 8));
15410 mod_phy_reg(pi
, 0x164, (0x7f << 0), (62 << 0));
15411 mod_phy_reg(pi
, 0x164, (0x7f << 8), (63 << 8));
15412 mod_phy_reg(pi
, 0x165, (0x7f << 0), (63 << 0));
15413 mod_phy_reg(pi
, 0x165, (0x7f << 8), (64 << 8));
15414 mod_phy_reg(pi
, 0x166, (0x7f << 0), (64 << 0));
15415 mod_phy_reg(pi
, 0x166, (0x7f << 8), (64 << 8));
15416 mod_phy_reg(pi
, 0x167, (0x7f << 0), (64 << 0));
15417 mod_phy_reg(pi
, 0x167, (0x7f << 8), (64 << 8));
15420 if (NREV_LE(pi
->pubpi
.phy_rev
, 8)) {
15421 write_phy_reg(pi
, 0x23f, 0x1b0);
15422 write_phy_reg(pi
, 0x240, 0x1b0);
15425 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
15426 mod_phy_reg(pi
, 0xbd, (0xff << 0), (114 << 0));
15429 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15431 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
15434 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15435 1, 0, 32, &leg_data_weights
);
15436 leg_data_weights
= leg_data_weights
& 0xffffff;
15437 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15438 1, 0, 32, &leg_data_weights
);
15440 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15442 rfseq_rx2tx_dacbufpu_rev7
);
15443 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x16e, 16,
15444 rfseq_rx2tx_dacbufpu_rev7
);
15447 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15448 rfseq_rx2tx_events_rev3_ipa
,
15449 rfseq_rx2tx_dlys_rev3_ipa
,
15451 (rfseq_rx2tx_events_rev3_ipa
) /
15453 (rfseq_rx2tx_events_rev3_ipa
15457 mod_phy_reg(pi
, 0x299, (0x3 << 14), (0x1 << 14));
15458 mod_phy_reg(pi
, 0x29d, (0x3 << 14), (0x1 << 14));
15460 tx_lpf_bw_ofdm_20mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x154);
15461 tx_lpf_bw_ofdm_40mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x159);
15462 tx_lpf_bw_11b
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x152);
15466 if (((pi
->pubpi
.radiorev
== 5)
15467 && (CHSPEC_IS40(pi
->radio_chanspec
) == 1))
15468 || (pi
->pubpi
.radiorev
== 7)
15469 || (pi
->pubpi
.radiorev
== 8)) {
15473 RADIO_2057_RCCAL_BCAP_VAL
);
15476 RADIO_2057_RCCAL_SCAP_VAL
);
15478 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15479 rccal_tx20_11b_scap
= rccal_scap_val
;
15481 if ((pi
->pubpi
.radiorev
== 5) &&
15482 (CHSPEC_IS40(pi
->radio_chanspec
) == 1)) {
15484 rccal_tx20_11n_bcap
= rccal_bcap_val
;
15485 rccal_tx20_11n_scap
= rccal_scap_val
;
15486 rccal_tx40_11n_bcap
= 0xc;
15487 rccal_tx40_11n_scap
= 0xc;
15491 } else if ((pi
->pubpi
.radiorev
== 7)
15492 || (pi
->pubpi
.radiorev
== 8)) {
15494 tx_lpf_bw_ofdm_20mhz
= 4;
15497 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15498 rccal_tx20_11n_bcap
= 0xc;
15499 rccal_tx20_11n_scap
= 0xc;
15500 rccal_tx40_11n_bcap
= 0xa;
15501 rccal_tx40_11n_scap
= 0xa;
15503 rccal_tx20_11n_bcap
= 0x14;
15504 rccal_tx20_11n_scap
= 0x14;
15505 rccal_tx40_11n_bcap
= 0xf;
15506 rccal_tx40_11n_scap
= 0xf;
15515 if (pi
->pubpi
.radiorev
== 5) {
15517 tx_lpf_bw_ofdm_20mhz
= 1;
15518 tx_lpf_bw_ofdm_40mhz
= 3;
15522 RADIO_2057_RCCAL_BCAP_VAL
);
15525 RADIO_2057_RCCAL_SCAP_VAL
);
15527 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15528 rccal_tx20_11b_scap
= rccal_scap_val
;
15530 rccal_tx20_11n_bcap
= 0x13;
15531 rccal_tx20_11n_scap
= 0x11;
15532 rccal_tx40_11n_bcap
= 0x13;
15533 rccal_tx40_11n_scap
= 0x11;
15541 rx2tx_lpf_rc_lut_tx20_11b
= (rccal_tx20_11b_bcap
<< 8) |
15542 (rccal_tx20_11b_scap
<< 3) | tx_lpf_bw_11b
;
15543 rx2tx_lpf_rc_lut_tx20_11n
= (rccal_tx20_11n_bcap
<< 8) |
15544 (rccal_tx20_11n_scap
<< 3) | tx_lpf_bw_ofdm_20mhz
;
15545 rx2tx_lpf_rc_lut_tx40_11n
= (rccal_tx40_11n_bcap
<< 8) |
15546 (rccal_tx40_11n_scap
<< 3) | tx_lpf_bw_ofdm_40mhz
;
15548 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15549 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15551 0x152 + coreNum
* 0x10,
15553 &rx2tx_lpf_rc_lut_tx20_11b
);
15554 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15556 0x153 + coreNum
* 0x10,
15558 &rx2tx_lpf_rc_lut_tx20_11n
);
15559 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15561 0x154 + coreNum
* 0x10,
15563 &rx2tx_lpf_rc_lut_tx20_11n
);
15564 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15566 0x155 + coreNum
* 0x10,
15568 &rx2tx_lpf_rc_lut_tx40_11n
);
15569 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15571 0x156 + coreNum
* 0x10,
15573 &rx2tx_lpf_rc_lut_tx40_11n
);
15574 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15576 0x157 + coreNum
* 0x10,
15578 &rx2tx_lpf_rc_lut_tx40_11n
);
15579 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15581 0x158 + coreNum
* 0x10,
15583 &rx2tx_lpf_rc_lut_tx40_11n
);
15584 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15586 0x159 + coreNum
* 0x10,
15588 &rx2tx_lpf_rc_lut_tx40_11n
);
15591 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
15593 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
15596 if (!NORADIO_ENAB(pi
->pubpi
)) {
15597 write_phy_reg(pi
, 0x32f, 0x3);
15600 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
15601 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
15603 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
15606 if ((pi
->pubpi
.radiorev
== 3) || (pi
->pubpi
.radiorev
== 4) ||
15607 (pi
->pubpi
.radiorev
== 6)) {
15608 if ((pi
->sh
->sromrev
>= 8)
15609 && (pi
->sh
->boardflags2
& BFL2_IPALVLSHIFT_3P3
))
15610 ipalvlshift_3p3_war_en
= 1;
15612 if (ipalvlshift_3p3_war_en
) {
15613 write_radio_reg(pi
, RADIO_2057_GPAIO_CONFIG
,
15615 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL1
,
15617 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL0
, 0x0);
15619 RADIO_2057_RXTXBIAS_CONFIG_CORE0
,
15622 RADIO_2057_RXTXBIAS_CONFIG_CORE1
,
15625 ipa2g_mainbias
= 0x1f;
15627 ipa2g_casconv
= 0x6f;
15629 ipa2g_biasfilt
= 0xaa;
15632 ipa2g_mainbias
= 0x2b;
15634 ipa2g_casconv
= 0x7f;
15636 ipa2g_biasfilt
= 0xee;
15639 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15640 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15641 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15642 coreNum
, IPA2G_IMAIN
,
15644 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15645 coreNum
, IPA2G_CASCONV
,
15647 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15656 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15657 if ((pi
->pubpi
.radiorev
== 3)
15658 || (pi
->pubpi
.radiorev
== 4)
15659 || (pi
->pubpi
.radiorev
== 6)) {
15661 txgm_idac_bleed
= 0x7f;
15664 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15665 if (txgm_idac_bleed
!= 0)
15666 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15672 if (pi
->pubpi
.radiorev
== 5) {
15674 for (coreNum
= 0; coreNum
<= 1;
15676 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15680 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15684 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15688 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15692 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15694 PAD_BIAS_FILTER_BWS
,
15698 } else if ((pi
->pubpi
.radiorev
== 7)
15699 || (pi
->pubpi
.radiorev
== 8)) {
15701 if (CHSPEC_IS40(pi
->radio_chanspec
) ==
15703 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15707 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15712 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15716 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15725 CHAN5G_FREQ(CHSPEC_CHANNEL
15726 (pi
->radio_chanspec
));
15727 if (((freq
>= 5180) && (freq
<= 5230))
15728 || ((freq
>= 5745) && (freq
<= 5805))) {
15729 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15730 0, IPA5G_BIAS_FILTER
,
15732 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15733 1, IPA5G_BIAS_FILTER
,
15739 if (pi
->pubpi
.radiorev
!= 5) {
15740 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15741 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15743 TXMIX2G_TUNE_BOOST_PU
,
15745 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15747 TXGM_IDAC_BLEED
, 0x70);
15752 if (pi
->pubpi
.radiorev
== 4) {
15753 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15755 &afectrl_adc_ctrl1_rev7
);
15756 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15758 &afectrl_adc_ctrl1_rev7
);
15760 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15761 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15762 AFE_VCM_CAL_MASTER
, 0x0);
15763 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15764 AFE_SET_VCM_I
, 0x3f);
15765 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15766 AFE_SET_VCM_Q
, 0x3f);
15769 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
15770 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
15771 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
15772 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
15774 mod_phy_reg(pi
, 0xa6, (0x1 << 0), 0);
15775 mod_phy_reg(pi
, 0x8f, (0x1 << 0), (0x1 << 0));
15776 mod_phy_reg(pi
, 0xa7, (0x1 << 0), 0);
15777 mod_phy_reg(pi
, 0xa5, (0x1 << 0), (0x1 << 0));
15779 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15781 &afectrl_adc_ctrl2_rev7
);
15782 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15784 &afectrl_adc_ctrl2_rev7
);
15786 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
15787 mod_phy_reg(pi
, 0x8f, (0x1 << 2), 0);
15788 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
15789 mod_phy_reg(pi
, 0xa5, (0x1 << 2), 0);
15792 write_phy_reg(pi
, 0x6a, 0x2);
15794 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 256, 32,
15795 &min_nvar_offset_6mbps
);
15797 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x138, 16,
15798 &rfseq_pktgn_lpf_hpc_rev7
);
15800 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x141, 16,
15801 &rfseq_pktgn_lpf_h_hpc_rev7
);
15803 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 3, 0x133, 16,
15804 &rfseq_htpktgn_lpf_hpc_rev7
);
15806 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x146, 16,
15807 &rfseq_cckpktgn_lpf_hpc_rev7
);
15809 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x123, 16,
15810 &rfseq_tx2rx_lpf_h_hpc_rev7
);
15812 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x12A, 16,
15813 &rfseq_rx2tx_lpf_h_hpc_rev7
);
15815 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15816 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15817 32, &min_nvar_val
);
15818 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15819 127, 32, &min_nvar_val
);
15821 min_nvar_val
= noise_var_tbl_rev7
[3];
15822 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15823 32, &min_nvar_val
);
15825 min_nvar_val
= noise_var_tbl_rev7
[127];
15826 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15827 127, 32, &min_nvar_val
);
15830 wlc_phy_workarounds_nphy_gainctrl(pi
);
15833 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
15834 pdetrange
: pi
->srom_fem2g
.pdetrange
;
15836 if (pdetrange
== 0) {
15838 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
15839 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15840 aux_adc_vmid_rev7_core0
[3] = 0x70;
15841 aux_adc_vmid_rev7_core1
[3] = 0x70;
15842 aux_adc_gain_rev7
[3] = 2;
15844 aux_adc_vmid_rev7_core0
[3] = 0x80;
15845 aux_adc_vmid_rev7_core1
[3] = 0x80;
15846 aux_adc_gain_rev7
[3] = 3;
15848 } else if (pdetrange
== 1) {
15849 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15850 aux_adc_vmid_rev7_core0
[3] = 0x7c;
15851 aux_adc_vmid_rev7_core1
[3] = 0x7c;
15852 aux_adc_gain_rev7
[3] = 2;
15854 aux_adc_vmid_rev7_core0
[3] = 0x8c;
15855 aux_adc_vmid_rev7_core1
[3] = 0x8c;
15856 aux_adc_gain_rev7
[3] = 1;
15858 } else if (pdetrange
== 2) {
15859 if (pi
->pubpi
.radioid
== BCM2057_ID
) {
15860 if ((pi
->pubpi
.radiorev
== 5)
15861 || (pi
->pubpi
.radiorev
== 7)
15862 || (pi
->pubpi
.radiorev
== 8)) {
15863 if (chan_freq_range
==
15864 WL_CHAN_FREQ_RANGE_2G
) {
15865 aux_adc_vmid_rev7_core0
[3] =
15867 aux_adc_vmid_rev7_core1
[3] =
15869 aux_adc_gain_rev7
[3] = 0;
15871 aux_adc_vmid_rev7_core0
[3] =
15873 aux_adc_vmid_rev7_core1
[3] =
15875 aux_adc_gain_rev7
[3] = 0;
15880 } else if (pdetrange
== 3) {
15881 if (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
) {
15882 aux_adc_vmid_rev7_core0
[3] = 0x89;
15883 aux_adc_vmid_rev7_core1
[3] = 0x89;
15884 aux_adc_gain_rev7
[3] = 0;
15887 } else if (pdetrange
== 5) {
15889 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15890 aux_adc_vmid_rev7_core0
[3] = 0x80;
15891 aux_adc_vmid_rev7_core1
[3] = 0x80;
15892 aux_adc_gain_rev7
[3] = 3;
15894 aux_adc_vmid_rev7_core0
[3] = 0x70;
15895 aux_adc_vmid_rev7_core1
[3] = 0x70;
15896 aux_adc_gain_rev7
[3] = 2;
15900 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x08, 16,
15901 &aux_adc_vmid_rev7_core0
);
15902 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x18, 16,
15903 &aux_adc_vmid_rev7_core1
);
15904 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x0c, 16,
15905 &aux_adc_gain_rev7
);
15906 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x1c, 16,
15907 &aux_adc_gain_rev7
);
15909 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15911 write_phy_reg(pi
, 0x23f, 0x1f8);
15912 write_phy_reg(pi
, 0x240, 0x1f8);
15914 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15915 1, 0, 32, &leg_data_weights
);
15916 leg_data_weights
= leg_data_weights
& 0xffffff;
15917 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15918 1, 0, 32, &leg_data_weights
);
15926 write_phy_reg(pi
, 0x145, alpha0
);
15927 write_phy_reg(pi
, 0x146, alpha1
);
15928 write_phy_reg(pi
, 0x147, alpha2
);
15929 write_phy_reg(pi
, 0x148, beta0
);
15930 write_phy_reg(pi
, 0x149, beta1
);
15931 write_phy_reg(pi
, 0x14a, beta2
);
15933 write_phy_reg(pi
, 0x38, 0xC);
15934 write_phy_reg(pi
, 0x2ae, 0xC);
15936 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
,
15937 rfseq_tx2rx_events_rev3
,
15938 rfseq_tx2rx_dlys_rev3
,
15939 sizeof(rfseq_tx2rx_events_rev3
) /
15940 sizeof(rfseq_tx2rx_events_rev3
[0]));
15943 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15944 rfseq_rx2tx_events_rev3_ipa
,
15945 rfseq_rx2tx_dlys_rev3_ipa
,
15947 (rfseq_rx2tx_events_rev3_ipa
) /
15949 (rfseq_rx2tx_events_rev3_ipa
15953 if ((pi
->sh
->hw_phyrxchain
!= 0x3) &&
15954 (pi
->sh
->hw_phyrxchain
!= pi
->sh
->hw_phytxchain
)) {
15957 rfseq_rx2tx_dlys_rev3
[5] = 59;
15958 rfseq_rx2tx_dlys_rev3
[6] = 1;
15959 rfseq_rx2tx_events_rev3
[7] =
15960 NPHY_REV3_RFSEQ_CMD_END
;
15963 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15964 rfseq_rx2tx_events_rev3
,
15965 rfseq_rx2tx_dlys_rev3
,
15966 sizeof(rfseq_rx2tx_events_rev3
) /
15967 sizeof(rfseq_rx2tx_events_rev3
15971 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15972 write_phy_reg(pi
, 0x6a, 0x2);
15974 write_phy_reg(pi
, 0x6a, 0x9c40);
15977 mod_phy_reg(pi
, 0x294, (0xf << 8), (7 << 8));
15979 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15980 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15981 32, &min_nvar_val
);
15982 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15983 127, 32, &min_nvar_val
);
15985 min_nvar_val
= noise_var_tbl_rev3
[3];
15986 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15987 32, &min_nvar_val
);
15989 min_nvar_val
= noise_var_tbl_rev3
[127];
15990 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15991 127, 32, &min_nvar_val
);
15994 wlc_phy_workarounds_nphy_gainctrl(pi
);
15996 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15998 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
16002 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
16003 pdetrange
: pi
->srom_fem2g
.pdetrange
;
16005 if (pdetrange
== 0) {
16006 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
16007 aux_adc_vmid
= aux_adc_vmid_rev4
;
16008 aux_adc_gain
= aux_adc_gain_rev4
;
16010 aux_adc_vmid
= aux_adc_vmid_rev3
;
16011 aux_adc_gain
= aux_adc_gain_rev3
;
16014 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16015 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16016 switch (chan_freq_range
) {
16017 case WL_CHAN_FREQ_RANGE_5GL
:
16018 aux_adc_vmid
[3] = 0x89;
16019 aux_adc_gain
[3] = 0;
16021 case WL_CHAN_FREQ_RANGE_5GM
:
16022 aux_adc_vmid
[3] = 0x89;
16023 aux_adc_gain
[3] = 0;
16025 case WL_CHAN_FREQ_RANGE_5GH
:
16026 aux_adc_vmid
[3] = 0x89;
16027 aux_adc_gain
[3] = 0;
16033 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16034 0x08, 16, aux_adc_vmid
);
16035 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16036 0x18, 16, aux_adc_vmid
);
16037 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16038 0x0c, 16, aux_adc_gain
);
16039 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16040 0x1c, 16, aux_adc_gain
);
16041 } else if (pdetrange
== 1) {
16042 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16043 0x08, 16, sk_adc_vmid
);
16044 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16045 0x18, 16, sk_adc_vmid
);
16046 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16047 0x0c, 16, sk_adc_gain
);
16048 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16049 0x1c, 16, sk_adc_gain
);
16050 } else if (pdetrange
== 2) {
16052 u16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16053 u16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x04 };
16055 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16057 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16058 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16059 bcm_adc_vmid
[3] = 0x8e;
16060 bcm_adc_gain
[3] = 0x03;
16062 bcm_adc_vmid
[3] = 0x94;
16063 bcm_adc_gain
[3] = 0x03;
16065 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16066 bcm_adc_vmid
[3] = 0x84;
16067 bcm_adc_gain
[3] = 0x02;
16070 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16071 0x08, 16, bcm_adc_vmid
);
16072 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16073 0x18, 16, bcm_adc_vmid
);
16074 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16075 0x0c, 16, bcm_adc_gain
);
16076 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16077 0x1c, 16, bcm_adc_gain
);
16078 } else if (pdetrange
== 3) {
16080 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16081 if ((NREV_GE(pi
->pubpi
.phy_rev
, 4))
16082 && (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
)) {
16084 u16 auxadc_vmid
[] = {
16085 0xa2, 0xb4, 0xb4, 0x270 };
16086 u16 auxadc_gain
[] = {
16087 0x02, 0x02, 0x02, 0x00 };
16089 wlc_phy_table_write_nphy(pi
,
16090 NPHY_TBL_ID_AFECTRL
, 4,
16091 0x08, 16, auxadc_vmid
);
16092 wlc_phy_table_write_nphy(pi
,
16093 NPHY_TBL_ID_AFECTRL
, 4,
16094 0x18, 16, auxadc_vmid
);
16095 wlc_phy_table_write_nphy(pi
,
16096 NPHY_TBL_ID_AFECTRL
, 4,
16097 0x0c, 16, auxadc_gain
);
16098 wlc_phy_table_write_nphy(pi
,
16099 NPHY_TBL_ID_AFECTRL
, 4,
16100 0x1c, 16, auxadc_gain
);
16102 } else if ((pdetrange
== 4) || (pdetrange
== 5)) {
16103 u16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16104 u16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x0 };
16105 u16 Vmid
[2], Av
[2];
16108 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16109 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16110 Vmid
[0] = (pdetrange
== 4) ? 0x8e : 0x89;
16111 Vmid
[1] = (pdetrange
== 4) ? 0x96 : 0x89;
16112 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16113 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16115 Vmid
[0] = (pdetrange
== 4) ? 0x89 : 0x74;
16116 Vmid
[1] = (pdetrange
== 4) ? 0x8b : 0x70;
16117 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16118 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16121 bcm_adc_vmid
[3] = Vmid
[0];
16122 bcm_adc_gain
[3] = Av
[0];
16123 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16124 0x08, 16, bcm_adc_vmid
);
16125 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16126 0x0c, 16, bcm_adc_gain
);
16128 bcm_adc_vmid
[3] = Vmid
[1];
16129 bcm_adc_gain
[3] = Av
[1];
16130 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16131 0x18, 16, bcm_adc_vmid
);
16132 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16133 0x1c, 16, bcm_adc_gain
);
16138 write_radio_reg(pi
,
16139 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX0
),
16141 write_radio_reg(pi
,
16142 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX1
),
16145 write_radio_reg(pi
,
16146 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX0
),
16148 write_radio_reg(pi
,
16149 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX1
),
16152 write_radio_reg(pi
,
16153 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX0
),
16155 write_radio_reg(pi
,
16156 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX1
),
16159 write_radio_reg(pi
,
16160 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX0
),
16162 write_radio_reg(pi
,
16163 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX1
),
16166 write_radio_reg(pi
,
16167 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX0
),
16169 write_radio_reg(pi
,
16170 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX1
),
16173 write_radio_reg(pi
,
16174 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX0
),
16176 write_radio_reg(pi
,
16177 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX1
),
16181 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
16182 triso
: pi
->srom_fem2g
.triso
;
16184 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
16185 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
16188 wlc_phy_war_txchain_upd_nphy(pi
, pi
->sh
->hw_phytxchain
);
16190 if (((pi
->sh
->boardflags2
& BFL2_APLL_WAR
) &&
16191 (CHSPEC_IS5G(pi
->radio_chanspec
))) ||
16192 (((pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) ||
16193 (pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
)) &&
16194 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
16195 nss1_data_weights
= 0x00088888;
16196 ht_data_weights
= 0x00088888;
16197 stbc_data_weights
= 0x00088888;
16199 nss1_data_weights
= 0x88888888;
16200 ht_data_weights
= 0x88888888;
16201 stbc_data_weights
= 0x88888888;
16203 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16204 1, 1, 32, &nss1_data_weights
);
16205 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16206 1, 2, 32, &ht_data_weights
);
16207 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16208 1, 3, 32, &stbc_data_weights
);
16210 if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16211 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
16212 write_radio_reg(pi
,
16213 RADIO_2056_TX_GMBB_IDAC
|
16214 RADIO_2056_TX0
, 0x70);
16215 write_radio_reg(pi
,
16216 RADIO_2056_TX_GMBB_IDAC
|
16217 RADIO_2056_TX1
, 0x70);
16221 if (!pi
->edcrs_threshold_lock
) {
16222 write_phy_reg(pi
, 0x224, 0x3eb);
16223 write_phy_reg(pi
, 0x225, 0x3eb);
16224 write_phy_reg(pi
, 0x226, 0x341);
16225 write_phy_reg(pi
, 0x227, 0x341);
16226 write_phy_reg(pi
, 0x228, 0x42b);
16227 write_phy_reg(pi
, 0x229, 0x42b);
16228 write_phy_reg(pi
, 0x22a, 0x381);
16229 write_phy_reg(pi
, 0x22b, 0x381);
16230 write_phy_reg(pi
, 0x22c, 0x42b);
16231 write_phy_reg(pi
, 0x22d, 0x42b);
16232 write_phy_reg(pi
, 0x22e, 0x381);
16233 write_phy_reg(pi
, 0x22f, 0x381);
16236 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16238 if (pi
->sh
->boardflags2
& BFL2_SINGLEANT_CCK
) {
16239 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF4
,
16241 MHF4_BPHY_TXCORE0
, WLC_BAND_ALL
);
16246 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
||
16247 (pi
->sh
->boardtype
== 0x8b)) {
16249 u8 war_dlys
[] = { 1, 6, 6, 2, 4, 20, 1 };
16250 for (i
= 0; i
< ARRAY_SIZE(rfseq_rx2tx_dlys
); i
++)
16251 rfseq_rx2tx_dlys
[i
] = war_dlys
[i
];
16254 if (CHSPEC_IS5G(pi
->radio_chanspec
) && pi
->phy_5g_pwrgain
) {
16255 and_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0xf7);
16256 and_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0xf7);
16258 or_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0x8);
16259 or_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0x8);
16263 wlc_phy_table_write_nphy(pi
, 8, 1, 0, 16, ®val
);
16264 wlc_phy_table_write_nphy(pi
, 8, 1, 0x10, 16, ®val
);
16266 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16268 wlc_phy_table_write_nphy(pi
, 8, 1, 0x02, 16, ®val
);
16269 wlc_phy_table_write_nphy(pi
, 8, 1, 0x12, 16, ®val
);
16272 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16274 wlc_phy_table_write_nphy(pi
, 8, 1, 0x08, 16, ®val
);
16275 wlc_phy_table_write_nphy(pi
, 8, 1, 0x18, 16, ®val
);
16278 wlc_phy_table_write_nphy(pi
, 8, 1, 0x07, 16, ®val
);
16279 wlc_phy_table_write_nphy(pi
, 8, 1, 0x17, 16, ®val
);
16282 wlc_phy_table_write_nphy(pi
, 8, 1, 0x06, 16, ®val
);
16283 wlc_phy_table_write_nphy(pi
, 8, 1, 0x16, 16, ®val
);
16286 write_phy_reg(pi
, 0xf8, 0x02d8);
16287 write_phy_reg(pi
, 0xf9, 0x0301);
16288 write_phy_reg(pi
, 0xfa, 0x02d8);
16289 write_phy_reg(pi
, 0xfb, 0x0301);
16291 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
, rfseq_rx2tx_events
,
16293 sizeof(rfseq_rx2tx_events
) /
16294 sizeof(rfseq_rx2tx_events
[0]));
16296 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
, rfseq_tx2rx_events
,
16298 sizeof(rfseq_tx2rx_events
) /
16299 sizeof(rfseq_tx2rx_events
[0]));
16301 wlc_phy_workarounds_nphy_gainctrl(pi
);
16303 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16305 if (read_phy_reg(pi
, 0xa0) & NPHY_MLenable
)
16306 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF3
,
16307 MHF3_NPHY_MLADV_WAR
,
16308 MHF3_NPHY_MLADV_WAR
,
16311 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16312 write_phy_reg(pi
, 0x1e3, 0x0);
16313 write_phy_reg(pi
, 0x1e4, 0x0);
16316 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
16317 mod_phy_reg(pi
, 0x90, (0x1 << 7), 0);
16325 write_phy_reg(pi
, 0x145, alpha0
);
16326 write_phy_reg(pi
, 0x146, alpha1
);
16327 write_phy_reg(pi
, 0x147, alpha2
);
16328 write_phy_reg(pi
, 0x148, beta0
);
16329 write_phy_reg(pi
, 0x149, beta1
);
16330 write_phy_reg(pi
, 0x14a, beta2
);
16332 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16333 mod_phy_reg(pi
, 0x142, (0xf << 12), 0);
16335 write_phy_reg(pi
, 0x192, 0xb5);
16336 write_phy_reg(pi
, 0x193, 0xa4);
16337 write_phy_reg(pi
, 0x194, 0x0);
16340 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16341 mod_phy_reg(pi
, 0x221,
16342 NPHY_FORCESIG_DECODEGATEDCLKS
,
16343 NPHY_FORCESIG_DECODEGATEDCLKS
);
16347 if (pi
->phyhang_avoid
)
16348 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
16351 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
)
16353 u16 w1th
, hpf_code
, currband
;
16355 u8 rfseq_updategainu_events
[] = {
16356 NPHY_RFSEQ_CMD_RX_GAIN
,
16357 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
16358 NPHY_RFSEQ_CMD_SET_HPF_BW
16360 u8 rfseq_updategainu_dlys
[] = { 10, 30, 1 };
16361 s8 lna1G_gain_db
[] = { 7, 11, 16, 23 };
16362 s8 lna1G_gain_db_rev4
[] = { 8, 12, 17, 25 };
16363 s8 lna1G_gain_db_rev5
[] = { 9, 13, 18, 26 };
16364 s8 lna1G_gain_db_rev6
[] = { 8, 13, 18, 25 };
16365 s8 lna1G_gain_db_rev6_224B0
[] = { 10, 14, 19, 27 };
16366 s8 lna1A_gain_db
[] = { 7, 11, 17, 23 };
16367 s8 lna1A_gain_db_rev4
[] = { 8, 12, 18, 23 };
16368 s8 lna1A_gain_db_rev5
[] = { 6, 10, 16, 21 };
16369 s8 lna1A_gain_db_rev6
[] = { 6, 10, 16, 21 };
16370 s8
*lna1_gain_db
= NULL
;
16371 s8 lna2G_gain_db
[] = { -5, 6, 10, 14 };
16372 s8 lna2G_gain_db_rev5
[] = { -3, 7, 11, 16 };
16373 s8 lna2G_gain_db_rev6
[] = { -5, 6, 10, 14 };
16374 s8 lna2G_gain_db_rev6_224B0
[] = { -5, 6, 10, 15 };
16375 s8 lna2A_gain_db
[] = { -6, 2, 6, 10 };
16376 s8 lna2A_gain_db_rev4
[] = { -5, 2, 6, 10 };
16377 s8 lna2A_gain_db_rev5
[] = { -7, 0, 4, 8 };
16378 s8 lna2A_gain_db_rev6
[] = { -7, 0, 4, 8 };
16379 s8
*lna2_gain_db
= NULL
;
16380 s8 tiaG_gain_db
[] = {
16381 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16382 s8 tiaA_gain_db
[] = {
16383 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16384 s8 tiaA_gain_db_rev4
[] = {
16385 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16386 s8 tiaA_gain_db_rev5
[] = {
16387 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16388 s8 tiaA_gain_db_rev6
[] = {
16389 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16391 s8 tiaG_gainbits
[] = {
16392 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16393 s8 tiaA_gainbits
[] = {
16394 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16395 s8 tiaA_gainbits_rev4
[] = {
16396 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16397 s8 tiaA_gainbits_rev5
[] = {
16398 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16399 s8 tiaA_gainbits_rev6
[] = {
16400 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16402 s8 lpf_gain_db
[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16403 s8 lpf_gainbits
[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16404 u16 rfseqG_init_gain
[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16405 u16 rfseqG_init_gain_rev4
[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16406 u16 rfseqG_init_gain_rev5
[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16407 u16 rfseqG_init_gain_rev5_elna
[] = {
16408 0x013f, 0x013f, 0x013f, 0x013f };
16409 u16 rfseqG_init_gain_rev6
[] = { 0x513f, 0x513f };
16410 u16 rfseqG_init_gain_rev6_224B0
[] = { 0x413f, 0x413f };
16411 u16 rfseqG_init_gain_rev6_elna
[] = { 0x113f, 0x113f };
16412 u16 rfseqA_init_gain
[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16413 u16 rfseqA_init_gain_rev4
[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16414 u16 rfseqA_init_gain_rev4_elna
[] = {
16415 0x314f, 0x314f, 0x314f, 0x314f };
16416 u16 rfseqA_init_gain_rev5
[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16417 u16 rfseqA_init_gain_rev6
[] = { 0x714f, 0x714f };
16418 u16
*rfseq_init_gain
;
16419 u16 initG_gaincode
= 0x627e;
16420 u16 initG_gaincode_rev4
= 0x527e;
16421 u16 initG_gaincode_rev5
= 0x427e;
16422 u16 initG_gaincode_rev5_elna
= 0x027e;
16423 u16 initG_gaincode_rev6
= 0x527e;
16424 u16 initG_gaincode_rev6_224B0
= 0x427e;
16425 u16 initG_gaincode_rev6_elna
= 0x127e;
16426 u16 initA_gaincode
= 0x52de;
16427 u16 initA_gaincode_rev4
= 0x629e;
16428 u16 initA_gaincode_rev4_elna
= 0x329e;
16429 u16 initA_gaincode_rev5
= 0x729e;
16430 u16 initA_gaincode_rev6
= 0x729e;
16432 u16 clip1hiG_gaincode
= 0x107e;
16433 u16 clip1hiG_gaincode_rev4
= 0x007e;
16434 u16 clip1hiG_gaincode_rev5
= 0x1076;
16435 u16 clip1hiG_gaincode_rev6
= 0x007e;
16436 u16 clip1hiA_gaincode
= 0x00de;
16437 u16 clip1hiA_gaincode_rev4
= 0x029e;
16438 u16 clip1hiA_gaincode_rev5
= 0x029e;
16439 u16 clip1hiA_gaincode_rev6
= 0x029e;
16440 u16 clip1hi_gaincode
;
16441 u16 clip1mdG_gaincode
= 0x0066;
16442 u16 clip1mdA_gaincode
= 0x00ca;
16443 u16 clip1mdA_gaincode_rev4
= 0x1084;
16444 u16 clip1mdA_gaincode_rev5
= 0x2084;
16445 u16 clip1mdA_gaincode_rev6
= 0x2084;
16446 u16 clip1md_gaincode
= 0;
16447 u16 clip1loG_gaincode
= 0x0074;
16448 u16 clip1loG_gaincode_rev5
[] = {
16449 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16451 u16 clip1loG_gaincode_rev6
[] = {
16452 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16454 u16 clip1loG_gaincode_rev6_224B0
= 0x1074;
16455 u16 clip1loA_gaincode
= 0x00cc;
16456 u16 clip1loA_gaincode_rev4
= 0x0086;
16457 u16 clip1loA_gaincode_rev5
= 0x2086;
16458 u16 clip1loA_gaincode_rev6
= 0x2086;
16459 u16 clip1lo_gaincode
;
16460 u8 crsminG_th
= 0x18;
16461 u8 crsminG_th_rev5
= 0x18;
16462 u8 crsminG_th_rev6
= 0x18;
16463 u8 crsminA_th
= 0x1e;
16464 u8 crsminA_th_rev4
= 0x24;
16465 u8 crsminA_th_rev5
= 0x24;
16466 u8 crsminA_th_rev6
= 0x24;
16468 u8 crsminlG_th
= 0x18;
16469 u8 crsminlG_th_rev5
= 0x18;
16470 u8 crsminlG_th_rev6
= 0x18;
16471 u8 crsminlA_th
= 0x1e;
16472 u8 crsminlA_th_rev4
= 0x24;
16473 u8 crsminlA_th_rev5
= 0x24;
16474 u8 crsminlA_th_rev6
= 0x24;
16476 u8 crsminuG_th
= 0x18;
16477 u8 crsminuG_th_rev5
= 0x18;
16478 u8 crsminuG_th_rev6
= 0x18;
16479 u8 crsminuA_th
= 0x1e;
16480 u8 crsminuA_th_rev4
= 0x24;
16481 u8 crsminuA_th_rev5
= 0x24;
16482 u8 crsminuA_th_rev6
= 0x24;
16483 u8 crsminuA_th_rev6_224B0
= 0x2d;
16485 u16 nbclipG_th
= 0x20d;
16486 u16 nbclipG_th_rev4
= 0x1a1;
16487 u16 nbclipG_th_rev5
= 0x1d0;
16488 u16 nbclipG_th_rev6
= 0x1d0;
16489 u16 nbclipA_th
= 0x1a1;
16490 u16 nbclipA_th_rev4
= 0x107;
16491 u16 nbclipA_th_rev5
= 0x0a9;
16492 u16 nbclipA_th_rev6
= 0x0f0;
16495 u8 w1clipG_th_rev5
= 9;
16496 u8 w1clipG_th_rev6
= 5;
16497 u8 w1clipA_th
= 25, w1clip_th
;
16498 u8 rssi_gain_default
= 0x50;
16499 u8 rssiG_gain_rev6_224B0
= 0x50;
16500 u8 rssiA_gain_rev5
= 0x90;
16501 u8 rssiA_gain_rev6
= 0x90;
16506 triso
= (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.triso
:
16507 pi
->srom_fem2g
.triso
;
16509 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
16510 if (pi
->pubpi
.radiorev
== 5) {
16512 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi
);
16513 } else if (pi
->pubpi
.radiorev
== 7) {
16514 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16516 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x44 << 0));
16517 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x44 << 0));
16519 } else if ((pi
->pubpi
.radiorev
== 3)
16520 || (pi
->pubpi
.radiorev
== 8)) {
16521 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16523 if (pi
->pubpi
.radiorev
== 8) {
16524 mod_phy_reg(pi
, 0x283,
16525 (0xff << 0), (0x44 << 0));
16526 mod_phy_reg(pi
, 0x280,
16527 (0xff << 0), (0x44 << 0));
16530 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16532 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
16534 mod_phy_reg(pi
, 0xa0, (0x1 << 6), (1 << 6));
16536 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16537 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16540 read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
16541 if (currband
== 0) {
16542 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16543 if (pi
->pubpi
.radiorev
== 11) {
16544 lna1_gain_db
= lna1G_gain_db_rev6_224B0
;
16545 lna2_gain_db
= lna2G_gain_db_rev6_224B0
;
16547 rfseqG_init_gain_rev6_224B0
;
16549 initG_gaincode_rev6_224B0
;
16551 clip1hiG_gaincode_rev6
;
16553 clip1loG_gaincode_rev6_224B0
;
16554 nbclip_th
= nbclipG_th_rev6
;
16555 w1clip_th
= w1clipG_th_rev6
;
16556 crsmin_th
= crsminG_th_rev6
;
16557 crsminl_th
= crsminlG_th_rev6
;
16558 crsminu_th
= crsminuG_th_rev6
;
16559 rssi_gain
= rssiG_gain_rev6_224B0
;
16561 lna1_gain_db
= lna1G_gain_db_rev6
;
16562 lna2_gain_db
= lna2G_gain_db_rev6
;
16563 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16566 rfseqG_init_gain_rev6_elna
;
16568 initG_gaincode_rev6_elna
;
16571 rfseqG_init_gain_rev6
;
16573 initG_gaincode_rev6
;
16576 clip1hiG_gaincode_rev6
;
16580 clip1loG_gaincode_rev6
[0];
16584 clip1loG_gaincode_rev6
[1];
16588 clip1loG_gaincode_rev6
[2];
16594 clip1loG_gaincode_rev6
[3];
16598 clip1loG_gaincode_rev6
[4];
16602 clip1loG_gaincode_rev6
[5];
16606 clip1loG_gaincode_rev6
[6];
16610 clip1loG_gaincode_rev6
[7];
16613 nbclip_th
= nbclipG_th_rev6
;
16614 w1clip_th
= w1clipG_th_rev6
;
16615 crsmin_th
= crsminG_th_rev6
;
16616 crsminl_th
= crsminlG_th_rev6
;
16617 crsminu_th
= crsminuG_th_rev6
;
16618 rssi_gain
= rssi_gain_default
;
16620 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16621 lna1_gain_db
= lna1G_gain_db_rev5
;
16622 lna2_gain_db
= lna2G_gain_db_rev5
;
16623 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16626 rfseqG_init_gain_rev5_elna
;
16628 initG_gaincode_rev5_elna
;
16630 rfseq_init_gain
= rfseqG_init_gain_rev5
;
16631 init_gaincode
= initG_gaincode_rev5
;
16633 clip1hi_gaincode
= clip1hiG_gaincode_rev5
;
16637 clip1loG_gaincode_rev5
[0];
16641 clip1loG_gaincode_rev5
[1];
16645 clip1loG_gaincode_rev5
[2];
16650 clip1loG_gaincode_rev5
[3];
16654 clip1loG_gaincode_rev5
[4];
16658 clip1loG_gaincode_rev5
[5];
16662 clip1loG_gaincode_rev5
[6];
16666 clip1loG_gaincode_rev5
[7];
16670 clip1loG_gaincode_rev5
[3];
16673 nbclip_th
= nbclipG_th_rev5
;
16674 w1clip_th
= w1clipG_th_rev5
;
16675 crsmin_th
= crsminG_th_rev5
;
16676 crsminl_th
= crsminlG_th_rev5
;
16677 crsminu_th
= crsminuG_th_rev5
;
16678 rssi_gain
= rssi_gain_default
;
16679 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16680 lna1_gain_db
= lna1G_gain_db_rev4
;
16681 lna2_gain_db
= lna2G_gain_db
;
16682 rfseq_init_gain
= rfseqG_init_gain_rev4
;
16683 init_gaincode
= initG_gaincode_rev4
;
16684 clip1hi_gaincode
= clip1hiG_gaincode_rev4
;
16685 clip1lo_gaincode
= clip1loG_gaincode
;
16686 nbclip_th
= nbclipG_th_rev4
;
16687 w1clip_th
= w1clipG_th
;
16688 crsmin_th
= crsminG_th
;
16689 crsminl_th
= crsminlG_th
;
16690 crsminu_th
= crsminuG_th
;
16691 rssi_gain
= rssi_gain_default
;
16693 lna1_gain_db
= lna1G_gain_db
;
16694 lna2_gain_db
= lna2G_gain_db
;
16695 rfseq_init_gain
= rfseqG_init_gain
;
16696 init_gaincode
= initG_gaincode
;
16697 clip1hi_gaincode
= clip1hiG_gaincode
;
16698 clip1lo_gaincode
= clip1loG_gaincode
;
16699 nbclip_th
= nbclipG_th
;
16700 w1clip_th
= w1clipG_th
;
16701 crsmin_th
= crsminG_th
;
16702 crsminl_th
= crsminlG_th
;
16703 crsminu_th
= crsminuG_th
;
16704 rssi_gain
= rssi_gain_default
;
16706 tia_gain_db
= tiaG_gain_db
;
16707 tia_gainbits
= tiaG_gainbits
;
16708 clip1md_gaincode
= clip1mdG_gaincode
;
16710 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16711 lna1_gain_db
= lna1A_gain_db_rev6
;
16712 lna2_gain_db
= lna2A_gain_db_rev6
;
16713 tia_gain_db
= tiaA_gain_db_rev6
;
16714 tia_gainbits
= tiaA_gainbits_rev6
;
16715 rfseq_init_gain
= rfseqA_init_gain_rev6
;
16716 init_gaincode
= initA_gaincode_rev6
;
16717 clip1hi_gaincode
= clip1hiA_gaincode_rev6
;
16718 clip1md_gaincode
= clip1mdA_gaincode_rev6
;
16719 clip1lo_gaincode
= clip1loA_gaincode_rev6
;
16720 crsmin_th
= crsminA_th_rev6
;
16721 crsminl_th
= crsminlA_th_rev6
;
16722 if ((pi
->pubpi
.radiorev
== 11) &&
16723 (CHSPEC_IS40(pi
->radio_chanspec
) == 0)) {
16724 crsminu_th
= crsminuA_th_rev6_224B0
;
16726 crsminu_th
= crsminuA_th_rev6
;
16728 nbclip_th
= nbclipA_th_rev6
;
16729 rssi_gain
= rssiA_gain_rev6
;
16730 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16731 lna1_gain_db
= lna1A_gain_db_rev5
;
16732 lna2_gain_db
= lna2A_gain_db_rev5
;
16733 tia_gain_db
= tiaA_gain_db_rev5
;
16734 tia_gainbits
= tiaA_gainbits_rev5
;
16735 rfseq_init_gain
= rfseqA_init_gain_rev5
;
16736 init_gaincode
= initA_gaincode_rev5
;
16737 clip1hi_gaincode
= clip1hiA_gaincode_rev5
;
16738 clip1md_gaincode
= clip1mdA_gaincode_rev5
;
16739 clip1lo_gaincode
= clip1loA_gaincode_rev5
;
16740 crsmin_th
= crsminA_th_rev5
;
16741 crsminl_th
= crsminlA_th_rev5
;
16742 crsminu_th
= crsminuA_th_rev5
;
16743 nbclip_th
= nbclipA_th_rev5
;
16744 rssi_gain
= rssiA_gain_rev5
;
16745 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16746 lna1_gain_db
= lna1A_gain_db_rev4
;
16747 lna2_gain_db
= lna2A_gain_db_rev4
;
16748 tia_gain_db
= tiaA_gain_db_rev4
;
16749 tia_gainbits
= tiaA_gainbits_rev4
;
16750 if (pi
->sh
->boardflags
& BFL_EXTLNA_5GHz
) {
16753 rfseqA_init_gain_rev4_elna
;
16755 initA_gaincode_rev4_elna
;
16757 rfseq_init_gain
= rfseqA_init_gain_rev4
;
16758 init_gaincode
= initA_gaincode_rev4
;
16760 clip1hi_gaincode
= clip1hiA_gaincode_rev4
;
16761 clip1md_gaincode
= clip1mdA_gaincode_rev4
;
16762 clip1lo_gaincode
= clip1loA_gaincode_rev4
;
16763 crsmin_th
= crsminA_th_rev4
;
16764 crsminl_th
= crsminlA_th_rev4
;
16765 crsminu_th
= crsminuA_th_rev4
;
16766 nbclip_th
= nbclipA_th_rev4
;
16767 rssi_gain
= rssi_gain_default
;
16769 lna1_gain_db
= lna1A_gain_db
;
16770 lna2_gain_db
= lna2A_gain_db
;
16771 tia_gain_db
= tiaA_gain_db
;
16772 tia_gainbits
= tiaA_gainbits
;
16773 rfseq_init_gain
= rfseqA_init_gain
;
16774 init_gaincode
= initA_gaincode
;
16775 clip1hi_gaincode
= clip1hiA_gaincode
;
16776 clip1md_gaincode
= clip1mdA_gaincode
;
16777 clip1lo_gaincode
= clip1loA_gaincode
;
16778 crsmin_th
= crsminA_th
;
16779 crsminl_th
= crsminlA_th
;
16780 crsminu_th
= crsminuA_th
;
16781 nbclip_th
= nbclipA_th
;
16782 rssi_gain
= rssi_gain_default
;
16784 w1clip_th
= w1clipA_th
;
16787 write_radio_reg(pi
,
16788 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16789 RADIO_2056_RX0
), 0x17);
16790 write_radio_reg(pi
,
16791 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16792 RADIO_2056_RX1
), 0x17);
16794 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX0
),
16796 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX1
),
16799 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX0
),
16801 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX1
),
16804 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX0
),
16806 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX1
),
16809 write_radio_reg(pi
,
16810 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16811 RADIO_2056_RX0
), 0x17);
16812 write_radio_reg(pi
,
16813 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16814 RADIO_2056_RX1
), 0x17);
16816 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX0
),
16818 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX1
),
16821 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8,
16823 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8,
16826 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
16828 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
16831 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20,
16833 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20,
16836 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20,
16838 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20,
16841 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 6, 0x40,
16843 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 6, 0x40,
16845 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 6, 0x40,
16847 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 6, 0x40,
16850 write_phy_reg(pi
, 0x20, init_gaincode
);
16851 write_phy_reg(pi
, 0x2a7, init_gaincode
);
16853 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
16854 pi
->pubpi
.phy_corenum
, 0x106, 16,
16857 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
16858 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
16860 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
16861 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
16863 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
16864 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
16866 mod_phy_reg(pi
, 0x27d, (0xff << 0), (crsmin_th
<< 0));
16867 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
16868 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
16870 write_phy_reg(pi
, 0x2b, nbclip_th
);
16871 write_phy_reg(pi
, 0x41, nbclip_th
);
16873 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1clip_th
<< 0));
16874 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1clip_th
<< 0));
16876 write_phy_reg(pi
, 0x150, 0x809c);
16880 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16881 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16883 write_phy_reg(pi
, 0x2b, 0x84);
16884 write_phy_reg(pi
, 0x41, 0x84);
16886 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16887 write_phy_reg(pi
, 0x6b, 0x2b);
16888 write_phy_reg(pi
, 0x6c, 0x2b);
16889 write_phy_reg(pi
, 0x6d, 0x9);
16890 write_phy_reg(pi
, 0x6e, 0x9);
16893 w1th
= NPHY_RSSICAL_W1_TARGET
- 4;
16894 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1th
<< 0));
16895 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1th
<< 0));
16897 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16898 mod_phy_reg(pi
, 0x1c, (0x1f << 0), (0x1 << 0));
16899 mod_phy_reg(pi
, 0x32, (0x1f << 0), (0x1 << 0));
16901 mod_phy_reg(pi
, 0x1d, (0x1f << 0), (0x1 << 0));
16902 mod_phy_reg(pi
, 0x33, (0x1f << 0), (0x1 << 0));
16905 write_phy_reg(pi
, 0x150, 0x809c);
16907 if (pi
->nphy_gain_boost
)
16908 if ((CHSPEC_IS2G(pi
->radio_chanspec
)) &&
16909 (CHSPEC_IS40(pi
->radio_chanspec
)))
16913 else if (CHSPEC_IS40(pi
->radio_chanspec
))
16918 mod_phy_reg(pi
, 0x20, (0x1f << 7), (hpf_code
<< 7));
16919 mod_phy_reg(pi
, 0x36, (0x1f << 7), (hpf_code
<< 7));
16921 for (ctr
= 0; ctr
< 4; ctr
++) {
16922 regval
[ctr
] = (hpf_code
<< 8) | 0x7c;
16924 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16926 wlc_phy_adjust_lnagaintbl_nphy(pi
);
16928 if (pi
->nphy_elna_gain_config
) {
16933 wlc_phy_table_write_nphy(pi
, 2, 4, 8, 16, regval
);
16934 wlc_phy_table_write_nphy(pi
, 3, 4, 8, 16, regval
);
16936 for (ctr
= 0; ctr
< 4; ctr
++) {
16937 regval
[ctr
] = (hpf_code
<< 8) | 0x74;
16939 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16942 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16943 for (ctr
= 0; ctr
< 21; ctr
++) {
16944 regval
[ctr
] = 3 * ctr
;
16946 wlc_phy_table_write_nphy(pi
, 0, 21, 32, 16, regval
);
16947 wlc_phy_table_write_nphy(pi
, 1, 21, 32, 16, regval
);
16949 for (ctr
= 0; ctr
< 21; ctr
++) {
16950 regval
[ctr
] = (u16
) ctr
;
16952 wlc_phy_table_write_nphy(pi
, 2, 21, 32, 16, regval
);
16953 wlc_phy_table_write_nphy(pi
, 3, 21, 32, 16, regval
);
16956 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_UPDATEGAINU
,
16957 rfseq_updategainu_events
,
16958 rfseq_updategainu_dlys
,
16959 sizeof(rfseq_updategainu_events
) /
16960 sizeof(rfseq_updategainu_events
[0]));
16962 mod_phy_reg(pi
, 0x153, (0xff << 8), (90 << 8));
16964 if (CHSPEC_IS2G(pi
->radio_chanspec
))
16966 (NPHY_TO_BPHY_OFF
+ BPHY_OPTIONAL_MODES
),
16971 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
)
16973 s8 lna1_gain_db
[] = { 8, 13, 17, 22 };
16974 s8 lna2_gain_db
[] = { -2, 7, 11, 15 };
16975 s8 tia_gain_db
[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16976 s8 tia_gainbits
[] = {
16977 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16979 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16980 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16982 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
16984 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3c << 0));
16985 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3c << 0));
16987 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x8, 8,
16989 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x8, 8,
16992 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10, 8,
16994 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10, 8,
16997 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
16999 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
17002 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
17004 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
17007 write_phy_reg(pi
, 0x37, 0x74);
17008 write_phy_reg(pi
, 0x2ad, 0x74);
17009 write_phy_reg(pi
, 0x38, 0x18);
17010 write_phy_reg(pi
, 0x2ae, 0x18);
17012 write_phy_reg(pi
, 0x2b, 0xe8);
17013 write_phy_reg(pi
, 0x41, 0xe8);
17015 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17017 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x12 << 0));
17018 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x12 << 0));
17021 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x10 << 0));
17022 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x10 << 0));
17026 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
)
17029 s8 lna1G_gain_db_rev7
[] = { 9, 14, 19, 24 };
17030 s8
*lna1_gain_db
= NULL
;
17031 s8
*lna1_gain_db_2
= NULL
;
17032 s8
*lna2_gain_db
= NULL
;
17033 s8 tiaA_gain_db_rev7
[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17035 s8 tiaA_gainbits_rev7
[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17037 u16 rfseqA_init_gain_rev7
[] = { 0x624f, 0x624f };
17038 u16
*rfseq_init_gain
;
17040 u16 clip1hi_gaincode
;
17041 u16 clip1md_gaincode
= 0;
17042 u16 clip1md_gaincode_B
;
17043 u16 clip1lo_gaincode
;
17044 u16 clip1lo_gaincode_B
;
17050 s8 nvar_baseline_offset0
= 0, nvar_baseline_offset1
= 0;
17051 u8 chg_nbclip_th
= 0;
17053 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
17054 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
17056 currband
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
17057 if (currband
== 0) {
17059 lna1_gain_db
= lna1G_gain_db_rev7
;
17061 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17063 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17066 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x40 << 0));
17068 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
17069 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3e << 0));
17070 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3e << 0));
17073 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
17075 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17076 mod_phy_reg(pi
, 0x300, (0x3f << 0), (13 << 0));
17077 mod_phy_reg(pi
, 0x301, (0x3f << 0), (13 << 0));
17081 init_gaincode
= 0x9e;
17082 clip1hi_gaincode
= 0x9e;
17083 clip1md_gaincode_B
= 0x24;
17084 clip1lo_gaincode
= 0x8a;
17085 clip1lo_gaincode_B
= 8;
17086 rfseq_init_gain
= rfseqA_init_gain_rev7
;
17088 tia_gain_db
= tiaA_gain_db_rev7
;
17089 tia_gainbits
= tiaA_gainbits_rev7
;
17091 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
17092 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17095 clip1md_gaincode
= 0x82;
17097 if ((freq
<= 5080) || (freq
== 5825)) {
17099 s8 lna1A_gain_db_rev7
[] = { 11, 16, 20, 24 };
17100 s8 lna1A_gain_db_2_rev7
[] = {
17102 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17105 lna1_gain_db
= lna1A_gain_db_rev7
;
17106 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17107 lna2_gain_db
= lna2A_gain_db_rev7
;
17108 } else if ((freq
>= 5500) && (freq
<= 5700)) {
17110 s8 lna1A_gain_db_rev7
[] = { 11, 17, 21, 25 };
17111 s8 lna1A_gain_db_2_rev7
[] = {
17113 s8 lna2A_gain_db_rev7
[] = { 1, 8, 12, 16 };
17116 clip1md_gaincode_B
= 0x14;
17119 lna1_gain_db
= lna1A_gain_db_rev7
;
17120 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17121 lna2_gain_db
= lna2A_gain_db_rev7
;
17124 s8 lna1A_gain_db_rev7
[] = { 12, 18, 22, 26 };
17125 s8 lna1A_gain_db_2_rev7
[] = {
17127 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17130 lna1_gain_db
= lna1A_gain_db_rev7
;
17131 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17132 lna2_gain_db
= lna2A_gain_db_rev7
;
17135 if (freq
<= 4920) {
17136 nvar_baseline_offset0
= 5;
17137 nvar_baseline_offset1
= 5;
17138 } else if ((freq
> 4920) && (freq
<= 5320)) {
17139 nvar_baseline_offset0
= 3;
17140 nvar_baseline_offset1
= 5;
17141 } else if ((freq
> 5320) && (freq
<= 5700)) {
17142 nvar_baseline_offset0
= 3;
17143 nvar_baseline_offset1
= 2;
17145 nvar_baseline_offset0
= 4;
17146 nvar_baseline_offset1
= 0;
17154 if ((freq
>= 4920) && (freq
<= 5320)) {
17155 nvar_baseline_offset0
= 4;
17156 nvar_baseline_offset1
= 5;
17157 } else if ((freq
> 5320) && (freq
<= 5550)) {
17158 nvar_baseline_offset0
= 4;
17159 nvar_baseline_offset1
= 2;
17161 nvar_baseline_offset0
= 5;
17162 nvar_baseline_offset1
= 3;
17166 write_phy_reg(pi
, 0x20, init_gaincode
);
17167 write_phy_reg(pi
, 0x2a7, init_gaincode
);
17169 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
17170 pi
->pubpi
.phy_corenum
, 0x106, 16,
17173 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
17174 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
17176 write_phy_reg(pi
, 0x36, clip1md_gaincode_B
);
17177 write_phy_reg(pi
, 0x2ac, clip1md_gaincode_B
);
17179 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
17180 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
17181 write_phy_reg(pi
, 0x38, clip1lo_gaincode_B
);
17182 write_phy_reg(pi
, 0x2ae, clip1lo_gaincode_B
);
17184 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
17186 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
17189 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
17191 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
17194 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
17196 if (chg_nbclip_th
== 1) {
17197 write_phy_reg(pi
, 0x2b, nbclip_th
);
17198 write_phy_reg(pi
, 0x41, nbclip_th
);
17201 mod_phy_reg(pi
, 0x300, (0x3f << 0), (w1clip_th
<< 0));
17202 mod_phy_reg(pi
, 0x301, (0x3f << 0), (w1clip_th
<< 0));
17204 mod_phy_reg(pi
, 0x2e4,
17205 (0x3f << 0), (nvar_baseline_offset0
<< 0));
17207 mod_phy_reg(pi
, 0x2e4,
17208 (0x3f << 6), (nvar_baseline_offset1
<< 6));
17210 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17212 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17214 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17217 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
17219 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
17222 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
17223 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
17225 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
17232 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
)
17238 u16 minmax_gain
[2];
17241 if (pi
->phyhang_avoid
)
17242 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
17244 if (pi
->nphy_gain_boost
) {
17245 if ((CHSPEC_IS2G(pi
->radio_chanspec
))) {
17251 curr_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17254 PHY_HW_ROUND(((nphy_lnagain_est0
[0] *
17256 nphy_lnagain_est0
[1]), 13);
17259 PHY_HW_ROUND(((nphy_lnagain_est1
[0] *
17261 nphy_lnagain_est1
[1]), 13);
17269 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
17270 if (pi
->nphy_elna_gain_config
) {
17272 regval
[0] = nphy_def_lnagains
[2] + gain_delta
[core
];
17273 regval
[1] = nphy_def_lnagains
[3] + gain_delta
[core
];
17274 regval
[2] = nphy_def_lnagains
[3] + gain_delta
[core
];
17275 regval
[3] = nphy_def_lnagains
[3] + gain_delta
[core
];
17277 for (ctr
= 0; ctr
< 4; ctr
++) {
17279 nphy_def_lnagains
[ctr
] + gain_delta
[core
];
17282 wlc_phy_table_write_nphy(pi
, core
, 4, 8, 16, regval
);
17284 minmax_gain
[core
] =
17285 (u16
) (nphy_def_lnagains
[2] + gain_delta
[core
] + 4);
17288 mod_phy_reg(pi
, 0x1e, (0xff << 0), (minmax_gain
[0] << 0));
17289 mod_phy_reg(pi
, 0x34, (0xff << 0), (minmax_gain
[1] << 0));
17291 if (pi
->phyhang_avoid
)
17292 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
17295 void wlc_phy_switch_radio_nphy(phy_info_t
*pi
, bool on
)
17298 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17299 if (!pi
->radio_is_on
) {
17300 wlc_phy_radio_preinit_205x(pi
);
17301 wlc_phy_radio_init_2057(pi
);
17302 wlc_phy_radio_postinit_2057(pi
);
17305 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17306 pi
->radio_chanspec
);
17307 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17308 wlc_phy_radio_preinit_205x(pi
);
17309 wlc_phy_radio_init_2056(pi
);
17310 wlc_phy_radio_postinit_2056(pi
);
17312 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17313 pi
->radio_chanspec
);
17315 wlc_phy_radio_preinit_2055(pi
);
17316 wlc_phy_radio_init_2055(pi
);
17317 wlc_phy_radio_postinit_2055(pi
);
17320 pi
->radio_is_on
= true;
17324 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
17325 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
17326 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17327 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x0);
17329 write_radio_reg(pi
,
17330 RADIO_2056_TX_PADA_BOOST_TUNE
|
17331 RADIO_2056_TX0
, 0);
17332 write_radio_reg(pi
,
17333 RADIO_2056_TX_PADG_BOOST_TUNE
|
17334 RADIO_2056_TX0
, 0);
17335 write_radio_reg(pi
,
17336 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17337 RADIO_2056_TX0
, 0);
17338 write_radio_reg(pi
,
17339 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17340 RADIO_2056_TX0
, 0);
17342 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17343 RADIO_2056_TX0
, 0xf0, 0);
17344 write_radio_reg(pi
,
17345 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17346 RADIO_2056_TX0
, 0);
17348 write_radio_reg(pi
,
17349 RADIO_2056_TX_PADA_BOOST_TUNE
|
17350 RADIO_2056_TX1
, 0);
17351 write_radio_reg(pi
,
17352 RADIO_2056_TX_PADG_BOOST_TUNE
|
17353 RADIO_2056_TX1
, 0);
17354 write_radio_reg(pi
,
17355 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17356 RADIO_2056_TX1
, 0);
17357 write_radio_reg(pi
,
17358 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17359 RADIO_2056_TX1
, 0);
17361 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17362 RADIO_2056_TX1
, 0xf0, 0);
17363 write_radio_reg(pi
,
17364 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17365 RADIO_2056_TX1
, 0);
17367 pi
->radio_is_on
= false;
17370 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
17371 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17372 pi
->radio_is_on
= false;
17378 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
)
17381 and_phy_reg(pi
, 0x78, ~RFCC_POR_FORCE
);
17382 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
| RFCC_OE_POR_FORCE
);
17384 or_phy_reg(pi
, 0x78, RFCC_POR_FORCE
);
17387 static void wlc_phy_radio_init_2055(phy_info_t
*pi
)
17389 wlc_phy_init_radio_regs(pi
, regs_2055
, RADIO_DEFAULT_CORE
);
17392 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
)
17395 and_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
,
17396 ~(RADIO_2055_JTAGCTRL_MASK
| RADIO_2055_JTAGSYNC_MASK
));
17398 if (((pi
->sh
->sromrev
>= 4)
17399 && !(pi
->sh
->boardflags2
& BFL2_RXBB_INT_REG_DIS
))
17400 || ((pi
->sh
->sromrev
< 4))) {
17401 and_radio_reg(pi
, RADIO_2055_CORE1_RXBB_REGULATOR
, 0x7F);
17402 and_radio_reg(pi
, RADIO_2055_CORE2_RXBB_REGULATOR
, 0x7F);
17405 mod_radio_reg(pi
, RADIO_2055_RRCCAL_N_OPT_SEL
, 0x3F, 0x2C);
17406 write_radio_reg(pi
, RADIO_2055_CAL_MISC
, 0x3C);
17408 and_radio_reg(pi
, RADIO_2055_CAL_MISC
,
17409 ~(RADIO_2055_RRCAL_START
| RADIO_2055_RRCAL_RST_N
));
17411 or_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
, RADIO_2055_CAL_LPO_ENABLE
);
17413 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_RST_N
);
17417 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_START
);
17419 SPINWAIT(((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17420 RADIO_2055_RCAL_DONE
) != RADIO_2055_RCAL_DONE
), 2000);
17422 ASSERT((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17423 RADIO_2055_RCAL_DONE
) == RADIO_2055_RCAL_DONE
);
17425 and_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
,
17426 ~(RADIO_2055_CAL_LPO_ENABLE
));
17428 wlc_phy_chanspec_set((wlc_phy_t
*) pi
, pi
->radio_chanspec
);
17430 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_LPF
, 9);
17431 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_LPF
, 9);
17433 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS
, 0x83);
17434 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS
, 0x83);
17436 mod_radio_reg(pi
, RADIO_2055_CORE1_LNA_GAINBST
,
17437 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17438 mod_radio_reg(pi
, RADIO_2055_CORE2_LNA_GAINBST
,
17439 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17440 if (pi
->nphy_gain_boost
) {
17441 and_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17442 ~(RADIO_2055_GAINBST_DISABLE
));
17443 and_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17444 ~(RADIO_2055_GAINBST_DISABLE
));
17446 or_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17447 RADIO_2055_GAINBST_DISABLE
);
17448 or_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17449 RADIO_2055_GAINBST_DISABLE
);
17455 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
)
17458 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17459 and_phy_reg(pi
, 0x78, RFCC_OE_POR_FORCE
);
17461 or_phy_reg(pi
, 0x78, ~RFCC_OE_POR_FORCE
);
17462 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
);
17466 static void wlc_phy_radio_init_2056(phy_info_t
*pi
)
17468 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17469 radio_regs_t
*regs_TX_2056_ptr
= NULL
;
17470 radio_regs_t
*regs_RX_2056_ptr
= NULL
;
17472 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17473 regs_SYN_2056_ptr
= regs_SYN_2056
;
17474 regs_TX_2056_ptr
= regs_TX_2056
;
17475 regs_RX_2056_ptr
= regs_RX_2056
;
17476 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17477 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17478 regs_TX_2056_ptr
= regs_TX_2056_A1
;
17479 regs_RX_2056_ptr
= regs_RX_2056_A1
;
17481 switch (pi
->pubpi
.radiorev
) {
17483 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17484 regs_TX_2056_ptr
= regs_TX_2056_rev5
;
17485 regs_RX_2056_ptr
= regs_RX_2056_rev5
;
17489 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17490 regs_TX_2056_ptr
= regs_TX_2056_rev6
;
17491 regs_RX_2056_ptr
= regs_RX_2056_rev6
;
17496 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17497 regs_TX_2056_ptr
= regs_TX_2056_rev7
;
17498 regs_RX_2056_ptr
= regs_RX_2056_rev7
;
17502 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17503 regs_TX_2056_ptr
= regs_TX_2056_rev8
;
17504 regs_RX_2056_ptr
= regs_RX_2056_rev8
;
17508 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17509 regs_TX_2056_ptr
= regs_TX_2056_rev11
;
17510 regs_RX_2056_ptr
= regs_RX_2056_rev11
;
17519 wlc_phy_init_radio_regs(pi
, regs_SYN_2056_ptr
, (u16
) RADIO_2056_SYN
);
17521 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (u16
) RADIO_2056_TX0
);
17523 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (u16
) RADIO_2056_TX1
);
17525 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (u16
) RADIO_2056_RX0
);
17527 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (u16
) RADIO_2056_RX1
);
17530 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
)
17532 mod_radio_reg(pi
, RADIO_2056_SYN_COM_CTRL
, 0xb, 0xb);
17534 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x2);
17535 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x2);
17537 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x0);
17539 if ((pi
->sh
->boardflags2
& BFL2_LEGACY
)
17540 || (pi
->sh
->boardflags2
& BFL2_XTALBUFOUTEN
)) {
17542 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xf4, 0x0);
17545 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xfc, 0x0);
17548 mod_radio_reg(pi
, RADIO_2056_SYN_RCCAL_CTRL0
, 0x1, 0x0);
17550 if (pi
->phy_init_por
) {
17551 wlc_phy_radio205x_rcal(pi
);
17555 static void wlc_phy_radio_init_2057(phy_info_t
*pi
)
17557 radio_20xx_regs_t
*regs_2057_ptr
= NULL
;
17559 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17561 regs_2057_ptr
= regs_2057_rev4
;
17562 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17563 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17564 switch (pi
->pubpi
.radiorev
) {
17567 if (pi
->pubpi
.radiover
== 0x0) {
17569 regs_2057_ptr
= regs_2057_rev5
;
17571 } else if (pi
->pubpi
.radiover
== 0x1) {
17573 regs_2057_ptr
= regs_2057_rev5v1
;
17581 regs_2057_ptr
= regs_2057_rev7
;
17586 regs_2057_ptr
= regs_2057_rev8
;
17597 wlc_phy_init_radio_regs_allbands(pi
, regs_2057_ptr
);
17600 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
)
17603 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x1, 0x1);
17605 if (pi
->sh
->chip
== !BCM6362_CHIP_ID
) {
17607 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x2, 0x2);
17610 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x78);
17611 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x80);
17613 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x0);
17614 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x0);
17616 if (pi
->phy_init_por
) {
17617 wlc_phy_radio205x_rcal(pi
);
17618 wlc_phy_radio2057_rccal(pi
);
17621 mod_radio_reg(pi
, RADIO_2057_RFPLL_MASTER
, 0x8, 0x0);
17625 wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
17626 chan_info_nphy_radio2057_t
**t0
,
17627 chan_info_nphy_radio205x_t
**t1
,
17628 chan_info_nphy_radio2057_rev5_t
**t2
,
17629 chan_info_nphy_2055_t
**t3
)
17632 chan_info_nphy_radio2057_t
*chan_info_tbl_p_0
= NULL
;
17633 chan_info_nphy_radio205x_t
*chan_info_tbl_p_1
= NULL
;
17634 chan_info_nphy_radio2057_rev5_t
*chan_info_tbl_p_2
= NULL
;
17639 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17641 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17643 chan_info_tbl_p_0
= chan_info_nphyrev7_2057_rev4
;
17644 tbl_len
= ARRAY_SIZE(chan_info_nphyrev7_2057_rev4
);
17646 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17647 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17648 switch (pi
->pubpi
.radiorev
) {
17652 if (pi
->pubpi
.radiover
== 0x0) {
17654 chan_info_tbl_p_2
=
17655 chan_info_nphyrev8_2057_rev5
;
17658 (chan_info_nphyrev8_2057_rev5
);
17660 } else if (pi
->pubpi
.radiover
== 0x1) {
17662 chan_info_tbl_p_2
=
17663 chan_info_nphyrev9_2057_rev5v1
;
17666 (chan_info_nphyrev9_2057_rev5v1
);
17672 chan_info_tbl_p_0
=
17673 chan_info_nphyrev8_2057_rev7
;
17675 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7
);
17679 chan_info_tbl_p_0
=
17680 chan_info_nphyrev8_2057_rev8
;
17682 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8
);
17686 if (NORADIO_ENAB(pi
->pubpi
)) {
17691 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 16)) {
17693 chan_info_tbl_p_0
= chan_info_nphyrev8_2057_rev8
;
17694 tbl_len
= ARRAY_SIZE(chan_info_nphyrev8_2057_rev8
);
17699 for (i
= 0; i
< tbl_len
; i
++) {
17700 if (pi
->pubpi
.radiorev
== 5) {
17702 if (chan_info_tbl_p_2
[i
].chan
== channel
)
17706 if (chan_info_tbl_p_0
[i
].chan
== channel
)
17711 if (i
>= tbl_len
) {
17712 ASSERT(i
< tbl_len
);
17715 if (pi
->pubpi
.radiorev
== 5) {
17716 *t2
= &chan_info_tbl_p_2
[i
];
17717 freq
= chan_info_tbl_p_2
[i
].freq
;
17719 *t0
= &chan_info_tbl_p_0
[i
];
17720 freq
= chan_info_tbl_p_0
[i
].freq
;
17723 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17724 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17725 chan_info_tbl_p_1
= chan_info_nphyrev3_2056
;
17726 tbl_len
= ARRAY_SIZE(chan_info_nphyrev3_2056
);
17727 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17728 chan_info_tbl_p_1
= chan_info_nphyrev4_2056_A1
;
17729 tbl_len
= ARRAY_SIZE(chan_info_nphyrev4_2056_A1
);
17730 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)
17731 || NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
17732 switch (pi
->pubpi
.radiorev
) {
17734 chan_info_tbl_p_1
= chan_info_nphyrev5_2056v5
;
17735 tbl_len
= ARRAY_SIZE(chan_info_nphyrev5_2056v5
);
17738 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v6
;
17739 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v6
);
17743 chan_info_tbl_p_1
= chan_info_nphyrev5n6_2056v7
;
17745 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7
);
17748 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v8
;
17749 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v8
);
17752 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v11
;
17753 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v11
);
17756 if (NORADIO_ENAB(pi
->pubpi
)) {
17763 for (i
= 0; i
< tbl_len
; i
++) {
17764 if (chan_info_tbl_p_1
[i
].chan
== channel
)
17768 if (i
>= tbl_len
) {
17769 ASSERT(i
< tbl_len
);
17772 *t1
= &chan_info_tbl_p_1
[i
];
17773 freq
= chan_info_tbl_p_1
[i
].freq
;
17776 for (i
= 0; i
< ARRAY_SIZE(chan_info_nphy_2055
); i
++)
17777 if (chan_info_nphy_2055
[i
].chan
== channel
)
17780 if (i
>= ARRAY_SIZE(chan_info_nphy_2055
)) {
17781 ASSERT(i
< ARRAY_SIZE(chan_info_nphy_2055
));
17784 *t3
= &chan_info_nphy_2055
[i
];
17785 freq
= chan_info_nphy_2055
[i
].freq
;
17792 *f
= WL_CHAN_FREQ_RANGE_2G
;
17796 u8
wlc_phy_get_chan_freq_range_nphy(phy_info_t
*pi
, uint channel
)
17799 chan_info_nphy_radio2057_t
*t0
= NULL
;
17800 chan_info_nphy_radio205x_t
*t1
= NULL
;
17801 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
17802 chan_info_nphy_2055_t
*t3
= NULL
;
17804 if (NORADIO_ENAB(pi
->pubpi
))
17805 return WL_CHAN_FREQ_RANGE_2G
;
17808 channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17810 wlc_phy_chan2freq_nphy(pi
, channel
, &freq
, &t0
, &t1
, &t2
, &t3
);
17812 if (CHSPEC_IS2G(pi
->radio_chanspec
))
17813 return WL_CHAN_FREQ_RANGE_2G
;
17815 if ((freq
>= BASE_LOW_5G_CHAN
) && (freq
< BASE_MID_5G_CHAN
)) {
17816 return WL_CHAN_FREQ_RANGE_5GL
;
17817 } else if ((freq
>= BASE_MID_5G_CHAN
) && (freq
< BASE_HIGH_5G_CHAN
)) {
17818 return WL_CHAN_FREQ_RANGE_5GM
;
17820 return WL_CHAN_FREQ_RANGE_5GH
;
17825 wlc_phy_chanspec_radio2055_setup(phy_info_t
*pi
, chan_info_nphy_2055_t
*ci
)
17828 write_radio_reg(pi
, RADIO_2055_PLL_REF
, ci
->RF_pll_ref
);
17829 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD0
, ci
->RF_rf_pll_mod0
);
17830 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD1
, ci
->RF_rf_pll_mod1
);
17831 write_radio_reg(pi
, RADIO_2055_VCO_CAP_TAIL
, ci
->RF_vco_cap_tail
);
17833 WLC_PHY_WAR_PR51571(pi
);
17835 write_radio_reg(pi
, RADIO_2055_VCO_CAL1
, ci
->RF_vco_cal1
);
17836 write_radio_reg(pi
, RADIO_2055_VCO_CAL2
, ci
->RF_vco_cal2
);
17837 write_radio_reg(pi
, RADIO_2055_PLL_LF_C1
, ci
->RF_pll_lf_c1
);
17838 write_radio_reg(pi
, RADIO_2055_PLL_LF_R1
, ci
->RF_pll_lf_r1
);
17840 WLC_PHY_WAR_PR51571(pi
);
17842 write_radio_reg(pi
, RADIO_2055_PLL_LF_C2
, ci
->RF_pll_lf_c2
);
17843 write_radio_reg(pi
, RADIO_2055_LGBUF_CEN_BUF
, ci
->RF_lgbuf_cen_buf
);
17844 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE1
, ci
->RF_lgen_tune1
);
17845 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE2
, ci
->RF_lgen_tune2
);
17847 WLC_PHY_WAR_PR51571(pi
);
17849 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_A_TUNE
,
17850 ci
->RF_core1_lgbuf_a_tune
);
17851 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_G_TUNE
,
17852 ci
->RF_core1_lgbuf_g_tune
);
17853 write_radio_reg(pi
, RADIO_2055_CORE1_RXRF_REG1
, ci
->RF_core1_rxrf_reg1
);
17854 write_radio_reg(pi
, RADIO_2055_CORE1_TX_PGA_PAD_TN
,
17855 ci
->RF_core1_tx_pga_pad_tn
);
17857 WLC_PHY_WAR_PR51571(pi
);
17859 write_radio_reg(pi
, RADIO_2055_CORE1_TX_MX_BGTRIM
,
17860 ci
->RF_core1_tx_mx_bgtrim
);
17861 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_A_TUNE
,
17862 ci
->RF_core2_lgbuf_a_tune
);
17863 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_G_TUNE
,
17864 ci
->RF_core2_lgbuf_g_tune
);
17865 write_radio_reg(pi
, RADIO_2055_CORE2_RXRF_REG1
, ci
->RF_core2_rxrf_reg1
);
17867 WLC_PHY_WAR_PR51571(pi
);
17869 write_radio_reg(pi
, RADIO_2055_CORE2_TX_PGA_PAD_TN
,
17870 ci
->RF_core2_tx_pga_pad_tn
);
17871 write_radio_reg(pi
, RADIO_2055_CORE2_TX_MX_BGTRIM
,
17872 ci
->RF_core2_tx_mx_bgtrim
);
17876 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x05);
17877 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x45);
17879 WLC_PHY_WAR_PR51571(pi
);
17881 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x65);
17887 wlc_phy_chanspec_radio2056_setup(phy_info_t
*pi
,
17888 const chan_info_nphy_radio205x_t
*ci
)
17890 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17892 write_radio_reg(pi
,
17893 RADIO_2056_SYN_PLL_VCOCAL1
| RADIO_2056_SYN
,
17894 ci
->RF_SYN_pll_vcocal1
);
17895 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL2
| RADIO_2056_SYN
,
17896 ci
->RF_SYN_pll_vcocal2
);
17897 write_radio_reg(pi
, RADIO_2056_SYN_PLL_REFDIV
| RADIO_2056_SYN
,
17898 ci
->RF_SYN_pll_refdiv
);
17899 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD2
| RADIO_2056_SYN
,
17900 ci
->RF_SYN_pll_mmd2
);
17901 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD1
| RADIO_2056_SYN
,
17902 ci
->RF_SYN_pll_mmd1
);
17903 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
17904 ci
->RF_SYN_pll_loopfilter1
);
17905 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
17906 ci
->RF_SYN_pll_loopfilter2
);
17907 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER3
| RADIO_2056_SYN
,
17908 ci
->RF_SYN_pll_loopfilter3
);
17909 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
17910 ci
->RF_SYN_pll_loopfilter4
);
17911 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER5
| RADIO_2056_SYN
,
17912 ci
->RF_SYN_pll_loopfilter5
);
17913 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR27
| RADIO_2056_SYN
,
17914 ci
->RF_SYN_reserved_addr27
);
17915 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR28
| RADIO_2056_SYN
,
17916 ci
->RF_SYN_reserved_addr28
);
17917 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR29
| RADIO_2056_SYN
,
17918 ci
->RF_SYN_reserved_addr29
);
17919 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_VCOBUF1
| RADIO_2056_SYN
,
17920 ci
->RF_SYN_logen_VCOBUF1
);
17921 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_MIXER2
| RADIO_2056_SYN
,
17922 ci
->RF_SYN_logen_MIXER2
);
17923 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF3
| RADIO_2056_SYN
,
17924 ci
->RF_SYN_logen_BUF3
);
17925 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF4
| RADIO_2056_SYN
,
17926 ci
->RF_SYN_logen_BUF4
);
17928 write_radio_reg(pi
,
17929 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX0
,
17930 ci
->RF_RX0_lnaa_tune
);
17931 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX0
,
17932 ci
->RF_RX0_lnag_tune
);
17933 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX0
,
17934 ci
->RF_TX0_intpaa_boost_tune
);
17935 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX0
,
17936 ci
->RF_TX0_intpag_boost_tune
);
17937 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX0
,
17938 ci
->RF_TX0_pada_boost_tune
);
17939 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX0
,
17940 ci
->RF_TX0_padg_boost_tune
);
17941 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX0
,
17942 ci
->RF_TX0_pgaa_boost_tune
);
17943 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX0
,
17944 ci
->RF_TX0_pgag_boost_tune
);
17945 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX0
,
17946 ci
->RF_TX0_mixa_boost_tune
);
17947 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX0
,
17948 ci
->RF_TX0_mixg_boost_tune
);
17950 write_radio_reg(pi
,
17951 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX1
,
17952 ci
->RF_RX1_lnaa_tune
);
17953 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX1
,
17954 ci
->RF_RX1_lnag_tune
);
17955 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX1
,
17956 ci
->RF_TX1_intpaa_boost_tune
);
17957 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX1
,
17958 ci
->RF_TX1_intpag_boost_tune
);
17959 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX1
,
17960 ci
->RF_TX1_pada_boost_tune
);
17961 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX1
,
17962 ci
->RF_TX1_padg_boost_tune
);
17963 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX1
,
17964 ci
->RF_TX1_pgaa_boost_tune
);
17965 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX1
,
17966 ci
->RF_TX1_pgag_boost_tune
);
17967 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX1
,
17968 ci
->RF_TX1_mixa_boost_tune
);
17969 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX1
,
17970 ci
->RF_TX1_mixg_boost_tune
);
17972 if (NREV_IS(pi
->pubpi
.phy_rev
, 3))
17973 regs_SYN_2056_ptr
= regs_SYN_2056
;
17974 else if (NREV_IS(pi
->pubpi
.phy_rev
, 4))
17975 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17977 switch (pi
->pubpi
.radiorev
) {
17979 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17982 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17986 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17989 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17992 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17996 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
17997 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
17999 (u16
) regs_SYN_2056_ptr
[0x49 - 2].init_g
);
18001 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
18003 (u16
) regs_SYN_2056_ptr
[0x49 - 2].init_a
);
18006 if (pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) {
18007 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18008 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
18009 RADIO_2056_SYN
, 0x1f);
18010 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
18011 RADIO_2056_SYN
, 0x1f);
18013 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
18014 (pi
->sh
->chip
== BCM47162_CHIP_ID
)) {
18016 write_radio_reg(pi
,
18017 RADIO_2056_SYN_PLL_LOOPFILTER4
|
18018 RADIO_2056_SYN
, 0x14);
18019 write_radio_reg(pi
,
18020 RADIO_2056_SYN_PLL_CP2
|
18021 RADIO_2056_SYN
, 0x00);
18023 write_radio_reg(pi
,
18024 RADIO_2056_SYN_PLL_LOOPFILTER4
|
18025 RADIO_2056_SYN
, 0xb);
18026 write_radio_reg(pi
,
18027 RADIO_2056_SYN_PLL_CP2
|
18028 RADIO_2056_SYN
, 0x14);
18033 if ((pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
) &&
18034 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
18035 write_radio_reg(pi
,
18036 RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
18038 write_radio_reg(pi
,
18039 RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
18041 write_radio_reg(pi
,
18042 RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
18044 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
| RADIO_2056_SYN
,
18048 if (pi
->sh
->boardflags2
& BFL2_APLL_WAR
) {
18049 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
18050 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
18051 RADIO_2056_SYN
, 0x1f);
18052 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
18053 RADIO_2056_SYN
, 0x1f);
18054 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
|
18055 RADIO_2056_SYN
, 0x5);
18056 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
18057 RADIO_2056_SYN
, 0xc);
18061 if (PHY_IPA(pi
) && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18062 u16 pag_boost_tune
;
18063 u16 padg_boost_tune
;
18064 u16 pgag_boost_tune
;
18065 u16 mixg_boost_tune
;
18066 u16 bias
, cascbias
;
18069 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18071 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
18073 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18076 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
18078 BCM47162_CHIP_ID
)) {
18081 pag_boost_tune
= 0x5;
18082 pgag_boost_tune
= 0x33;
18083 padg_boost_tune
= 0x77;
18084 mixg_boost_tune
= 0x55;
18089 if ((pi
->sh
->chip
==
18091 || (pi
->sh
->chip
==
18093 || (pi
->sh
->chip
==
18094 BCM43421_CHIP_ID
)) {
18095 if (pi
->sh
->chippkg
==
18096 BCM43224_FAB_SMIC
) {
18102 pag_boost_tune
= 0x4;
18103 pgag_boost_tune
= 0x03;
18104 padg_boost_tune
= 0x77;
18105 mixg_boost_tune
= 0x65;
18108 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18109 INTPAG_IMAIN_STAT
, bias
);
18110 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18111 INTPAG_IAUX_STAT
, bias
);
18112 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18113 INTPAG_CASCBIAS
, cascbias
);
18115 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18118 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18121 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18124 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18129 bias
= IS40MHZ(pi
) ? 0x40 : 0x20;
18131 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18132 INTPAG_IMAIN_STAT
, bias
);
18133 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18134 INTPAG_IAUX_STAT
, bias
);
18135 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18136 INTPAG_CASCBIAS
, 0x30);
18138 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, PA_SPARE1
,
18143 if (PHY_IPA(pi
) && NREV_IS(pi
->pubpi
.phy_rev
, 6)
18144 && CHSPEC_IS5G(pi
->radio_chanspec
)) {
18145 u16 paa_boost_tune
;
18146 u16 pada_boost_tune
;
18147 u16 pgaa_boost_tune
;
18148 u16 mixa_boost_tune
;
18149 u16 freq
, pabias
, cascbias
;
18152 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
18156 paa_boost_tune
= 0xa;
18157 pada_boost_tune
= 0x77;
18158 pgaa_boost_tune
= 0xf;
18159 mixa_boost_tune
= 0xf;
18160 } else if (freq
< 5340) {
18162 paa_boost_tune
= 0x8;
18163 pada_boost_tune
= 0x77;
18164 pgaa_boost_tune
= 0xfb;
18165 mixa_boost_tune
= 0xf;
18166 } else if (freq
< 5650) {
18168 paa_boost_tune
= 0x0;
18169 pada_boost_tune
= 0x77;
18170 pgaa_boost_tune
= 0xb;
18171 mixa_boost_tune
= 0xf;
18174 paa_boost_tune
= 0x0;
18175 pada_boost_tune
= 0x77;
18176 if (freq
!= 5825) {
18177 pgaa_boost_tune
= -(int)(freq
- 18) / 36 + 168;
18179 pgaa_boost_tune
= 6;
18181 mixa_boost_tune
= 0xf;
18184 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18185 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18186 INTPAA_BOOST_TUNE
, paa_boost_tune
);
18187 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18188 PADA_BOOST_TUNE
, pada_boost_tune
);
18189 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18190 PGAA_BOOST_TUNE
, pgaa_boost_tune
);
18191 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18192 MIXA_BOOST_TUNE
, mixa_boost_tune
);
18194 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18196 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18199 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18200 PADA_CASCBIAS
, 0x3);
18204 if ((pi
->sh
->chip
== BCM43224_CHIP_ID
) ||
18205 (pi
->sh
->chip
== BCM43225_CHIP_ID
) ||
18206 (pi
->sh
->chip
== BCM43421_CHIP_ID
)) {
18207 if (pi
->sh
->chippkg
== BCM43224_FAB_SMIC
) {
18212 pabias
= (pi
->phy_pabias
== 0) ? 0x30 : pi
->phy_pabias
;
18214 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18215 INTPAA_IAUX_STAT
, pabias
);
18216 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18217 INTPAA_IMAIN_STAT
, pabias
);
18218 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18219 INTPAA_CASCBIAS
, cascbias
);
18225 wlc_phy_radio205x_vcocal_nphy(pi
);
18228 void wlc_phy_radio205x_vcocal_nphy(phy_info_t
*pi
)
18230 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18231 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x0);
18232 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04, 0x0);
18233 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04,
18235 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x01);
18236 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18237 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL12
, 0x0);
18238 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18239 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x18);
18240 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18241 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x39);
18247 #define MAX_205x_RCAL_WAITLOOPS 10000
18249 static u16
wlc_phy_radio205x_rcal(phy_info_t
*pi
)
18254 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18256 if (pi
->pubpi
.radiorev
== 5) {
18258 and_phy_reg(pi
, 0x342, ~(0x1 << 1));
18262 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x1);
18263 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18266 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x1);
18270 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x3, 0x3);
18272 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18273 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
);
18274 if (rcal_reg
& 0x1) {
18280 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18282 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x2, 0x0);
18284 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
) & 0x3e;
18286 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x0);
18287 if (pi
->pubpi
.radiorev
== 5) {
18289 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x0);
18290 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18294 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18296 mod_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x3c,
18298 mod_radio_reg(pi
, RADIO_2057_BANDGAP_RCAL_TRIM
, 0xf0,
18302 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
18307 RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
);
18308 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18312 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18316 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18319 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18320 rcal_reg
= read_radio_reg(pi
,
18321 RADIO_2056_SYN_RCAL_CODE_OUT
|
18323 if (rcal_reg
& 0x80) {
18329 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18331 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18336 RADIO_2056_SYN_RCAL_CODE_OUT
|
18339 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18342 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18345 return rcal_reg
& 0x1f;
18347 return rcal_reg
& 0x3e;
18351 wlc_phy_chanspec_radio2057_setup(phy_info_t
*pi
,
18352 const chan_info_nphy_radio2057_t
*ci
,
18353 const chan_info_nphy_radio2057_rev5_t
*ci2
)
18356 u16 txmix2g_tune_boost_pu
= 0;
18357 u16 pad2g_tune_pus
= 0;
18359 if (pi
->pubpi
.radiorev
== 5) {
18361 write_radio_reg(pi
,
18362 RADIO_2057_VCOCAL_COUNTVAL0
,
18363 ci2
->RF_vcocal_countval0
);
18364 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18365 ci2
->RF_vcocal_countval1
);
18366 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18367 ci2
->RF_rfpll_refmaster_sparextalsize
);
18368 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18369 ci2
->RF_rfpll_loopfilter_r1
);
18370 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18371 ci2
->RF_rfpll_loopfilter_c2
);
18372 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18373 ci2
->RF_rfpll_loopfilter_c1
);
18374 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
,
18375 ci2
->RF_cp_kpd_idac
);
18376 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci2
->RF_rfpll_mmd0
);
18377 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci2
->RF_rfpll_mmd1
);
18378 write_radio_reg(pi
,
18379 RADIO_2057_VCOBUF_TUNE
, ci2
->RF_vcobuf_tune
);
18380 write_radio_reg(pi
,
18381 RADIO_2057_LOGEN_MX2G_TUNE
,
18382 ci2
->RF_logen_mx2g_tune
);
18383 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18384 ci2
->RF_logen_indbuf2g_tune
);
18386 write_radio_reg(pi
,
18387 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18388 ci2
->RF_txmix2g_tune_boost_pu_core0
);
18389 write_radio_reg(pi
,
18390 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18391 ci2
->RF_pad2g_tune_pus_core0
);
18392 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18393 ci2
->RF_lna2g_tune_core0
);
18395 write_radio_reg(pi
,
18396 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18397 ci2
->RF_txmix2g_tune_boost_pu_core1
);
18398 write_radio_reg(pi
,
18399 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18400 ci2
->RF_pad2g_tune_pus_core1
);
18401 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18402 ci2
->RF_lna2g_tune_core1
);
18406 write_radio_reg(pi
,
18407 RADIO_2057_VCOCAL_COUNTVAL0
,
18408 ci
->RF_vcocal_countval0
);
18409 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18410 ci
->RF_vcocal_countval1
);
18411 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18412 ci
->RF_rfpll_refmaster_sparextalsize
);
18413 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18414 ci
->RF_rfpll_loopfilter_r1
);
18415 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18416 ci
->RF_rfpll_loopfilter_c2
);
18417 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18418 ci
->RF_rfpll_loopfilter_c1
);
18419 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, ci
->RF_cp_kpd_idac
);
18420 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci
->RF_rfpll_mmd0
);
18421 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci
->RF_rfpll_mmd1
);
18422 write_radio_reg(pi
, RADIO_2057_VCOBUF_TUNE
, ci
->RF_vcobuf_tune
);
18423 write_radio_reg(pi
,
18424 RADIO_2057_LOGEN_MX2G_TUNE
,
18425 ci
->RF_logen_mx2g_tune
);
18426 write_radio_reg(pi
, RADIO_2057_LOGEN_MX5G_TUNE
,
18427 ci
->RF_logen_mx5g_tune
);
18428 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18429 ci
->RF_logen_indbuf2g_tune
);
18430 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF5G_TUNE
,
18431 ci
->RF_logen_indbuf5g_tune
);
18433 write_radio_reg(pi
,
18434 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18435 ci
->RF_txmix2g_tune_boost_pu_core0
);
18436 write_radio_reg(pi
,
18437 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18438 ci
->RF_pad2g_tune_pus_core0
);
18439 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE0
,
18440 ci
->RF_pga_boost_tune_core0
);
18441 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0
,
18442 ci
->RF_txmix5g_boost_tune_core0
);
18443 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0
,
18444 ci
->RF_pad5g_tune_misc_pus_core0
);
18445 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18446 ci
->RF_lna2g_tune_core0
);
18447 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE0
,
18448 ci
->RF_lna5g_tune_core0
);
18450 write_radio_reg(pi
,
18451 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18452 ci
->RF_txmix2g_tune_boost_pu_core1
);
18453 write_radio_reg(pi
,
18454 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18455 ci
->RF_pad2g_tune_pus_core1
);
18456 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE1
,
18457 ci
->RF_pga_boost_tune_core1
);
18458 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1
,
18459 ci
->RF_txmix5g_boost_tune_core1
);
18460 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1
,
18461 ci
->RF_pad5g_tune_misc_pus_core1
);
18462 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18463 ci
->RF_lna2g_tune_core1
);
18464 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE1
,
18465 ci
->RF_lna5g_tune_core1
);
18468 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18470 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18471 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18473 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18474 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18476 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18479 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18481 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18482 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18484 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18487 } else if ((pi
->pubpi
.radiorev
== 5) || (pi
->pubpi
.radiorev
== 7) ||
18488 (pi
->pubpi
.radiorev
== 8)) {
18490 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18491 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18493 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x30);
18494 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18496 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18499 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18501 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18502 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18504 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18510 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18512 if (pi
->pubpi
.radiorev
== 3) {
18513 txmix2g_tune_boost_pu
= 0x6b;
18516 if (pi
->pubpi
.radiorev
== 5)
18517 pad2g_tune_pus
= 0x73;
18520 if (pi
->pubpi
.radiorev
!= 5) {
18521 pad2g_tune_pus
= 0x3;
18523 txmix2g_tune_boost_pu
= 0x61;
18527 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
18529 if (txmix2g_tune_boost_pu
!= 0)
18530 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18531 TXMIX2G_TUNE_BOOST_PU
,
18532 txmix2g_tune_boost_pu
);
18534 if (pad2g_tune_pus
!= 0)
18535 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18543 wlc_phy_radio205x_vcocal_nphy(pi
);
18546 static u16
wlc_phy_radio2057_rccal(phy_info_t
*pi
)
18550 bool chip43226_6362A0
;
18552 chip43226_6362A0
= ((pi
->pubpi
.radiorev
== 3)
18553 || (pi
->pubpi
.radiorev
== 4)
18554 || (pi
->pubpi
.radiorev
== 6));
18557 if (chip43226_6362A0
) {
18558 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x61);
18559 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xc0);
18561 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x61);
18563 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xe9);
18565 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18566 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18568 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18569 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18570 if (rccal_valid
& 0x2) {
18576 ASSERT(rccal_valid
& 0x2);
18578 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18581 if (chip43226_6362A0
) {
18582 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x69);
18583 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18585 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x69);
18587 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xd5);
18589 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18590 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18592 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18593 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18594 if (rccal_valid
& 0x2) {
18600 ASSERT(rccal_valid
& 0x2);
18602 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18605 if (chip43226_6362A0
) {
18606 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x73);
18608 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x28);
18609 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18611 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x73);
18612 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18613 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0x99);
18615 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18617 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18618 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18619 if (rccal_valid
& 0x2) {
18625 ASSERT(rccal_valid
& 0x2);
18627 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18629 return rccal_valid
;
18633 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
, u16 reduction_factr
)
18635 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18636 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18637 CHSPEC_IS40(pi
->radio_chanspec
)) {
18638 if (!pi
->nphy_anarxlpf_adjusted
) {
18639 write_radio_reg(pi
,
18640 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18642 ((pi
->nphy_rccal_value
+
18643 reduction_factr
) | 0x80));
18645 pi
->nphy_anarxlpf_adjusted
= true;
18648 if (pi
->nphy_anarxlpf_adjusted
) {
18649 write_radio_reg(pi
,
18650 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18652 (pi
->nphy_rccal_value
| 0x80));
18654 pi
->nphy_anarxlpf_adjusted
= false;
18661 wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *tone_id_buf
,
18662 u32
*noise_var_buf
)
18669 radio_chanspec
) ? NPHY_NOISEVAR_TBLLEN40
:
18670 NPHY_NOISEVAR_TBLLEN20
;
18672 if (pi
->nphy_noisevars_adjusted
) {
18673 for (i
= 0; i
< pi
->nphy_saved_noisevars
.bufcount
; i
++) {
18674 tone_id
= pi
->nphy_saved_noisevars
.tone_id
[i
];
18675 offset
= (tone_id
>= 0) ?
18676 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18677 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18680 nphy_saved_noisevars
.
18681 min_noise_vars
[i
]);
18684 pi
->nphy_saved_noisevars
.bufcount
= 0;
18685 pi
->nphy_noisevars_adjusted
= false;
18688 if ((noise_var_buf
!= NULL
) && (tone_id_buf
!= NULL
)) {
18689 pi
->nphy_saved_noisevars
.bufcount
= 0;
18691 for (i
= 0; i
< ntones
; i
++) {
18692 tone_id
= tone_id_buf
[i
];
18693 offset
= (tone_id
>= 0) ?
18694 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18695 pi
->nphy_saved_noisevars
.tone_id
[i
] = tone_id
;
18696 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18698 &pi
->nphy_saved_noisevars
.
18699 min_noise_vars
[i
]);
18700 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18702 (void *)&noise_var_buf
[i
]);
18703 pi
->nphy_saved_noisevars
.bufcount
++;
18706 pi
->nphy_noisevars_adjusted
= true;
18710 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
)
18714 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18715 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18716 CHSPEC_IS40(pi
->radio_chanspec
)) {
18717 if (!pi
->nphy_crsminpwr_adjusted
) {
18718 regval
= read_phy_reg(pi
, 0x27d);
18719 pi
->nphy_crsminpwr
[0] = regval
& 0xff;
18721 regval
|= (u16
) minpwr
;
18722 write_phy_reg(pi
, 0x27d, regval
);
18724 regval
= read_phy_reg(pi
, 0x280);
18725 pi
->nphy_crsminpwr
[1] = regval
& 0xff;
18727 regval
|= (u16
) minpwr
;
18728 write_phy_reg(pi
, 0x280, regval
);
18730 regval
= read_phy_reg(pi
, 0x283);
18731 pi
->nphy_crsminpwr
[2] = regval
& 0xff;
18733 regval
|= (u16
) minpwr
;
18734 write_phy_reg(pi
, 0x283, regval
);
18736 pi
->nphy_crsminpwr_adjusted
= true;
18739 if (pi
->nphy_crsminpwr_adjusted
) {
18740 regval
= read_phy_reg(pi
, 0x27d);
18742 regval
|= pi
->nphy_crsminpwr
[0];
18743 write_phy_reg(pi
, 0x27d, regval
);
18745 regval
= read_phy_reg(pi
, 0x280);
18747 regval
|= pi
->nphy_crsminpwr
[1];
18748 write_phy_reg(pi
, 0x280, regval
);
18750 regval
= read_phy_reg(pi
, 0x283);
18752 regval
|= pi
->nphy_crsminpwr
[2];
18753 write_phy_reg(pi
, 0x283, regval
);
18755 pi
->nphy_crsminpwr_adjusted
= false;
18761 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
)
18765 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18766 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18773 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18779 write_phy_reg(pi
, 0xe8,
18782 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18786 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18792 write_phy_reg(pi
, 0xe9,
18795 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18800 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
)
18802 u16 cur_channel
= 0;
18803 int nphy_adj_tone_id_buf
[] = { 57, 58 };
18804 u32 nphy_adj_noise_var_buf
[] = { 0x3ff, 0x3ff };
18805 bool isAdjustNoiseVar
= false;
18806 uint numTonesAdjust
= 0;
18809 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18810 if (pi
->phyhang_avoid
)
18811 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
18813 cur_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
18815 if (pi
->nphy_gband_spurwar_en
) {
18817 wlc_phy_adjust_rx_analpfbw_nphy(pi
,
18818 NPHY_ANARXLPFBW_REDUCTIONFACT
);
18820 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18821 if ((cur_channel
== 11)
18822 && CHSPEC_IS40(pi
->radio_chanspec
)) {
18824 wlc_phy_adjust_min_noisevar_nphy(pi
, 2,
18825 nphy_adj_tone_id_buf
,
18826 nphy_adj_noise_var_buf
);
18829 wlc_phy_adjust_min_noisevar_nphy(pi
, 0,
18834 wlc_phy_adjust_crsminpwr_nphy(pi
,
18835 NPHY_ADJUSTED_MINCRSPOWER
);
18838 if ((pi
->nphy_gband_spurwar2_en
)
18839 && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18841 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18842 switch (cur_channel
) {
18844 nphy_adj_tone_id_buf
[0] = 57;
18845 nphy_adj_tone_id_buf
[1] = 58;
18846 nphy_adj_noise_var_buf
[0] = 0x22f;
18847 nphy_adj_noise_var_buf
[1] = 0x25f;
18848 isAdjustNoiseVar
= true;
18851 nphy_adj_tone_id_buf
[0] = 41;
18852 nphy_adj_tone_id_buf
[1] = 42;
18853 nphy_adj_noise_var_buf
[0] = 0x22f;
18854 nphy_adj_noise_var_buf
[1] = 0x25f;
18855 isAdjustNoiseVar
= true;
18858 nphy_adj_tone_id_buf
[0] = 25;
18859 nphy_adj_tone_id_buf
[1] = 26;
18860 nphy_adj_noise_var_buf
[0] = 0x24f;
18861 nphy_adj_noise_var_buf
[1] = 0x25f;
18862 isAdjustNoiseVar
= true;
18865 nphy_adj_tone_id_buf
[0] = 9;
18866 nphy_adj_tone_id_buf
[1] = 10;
18867 nphy_adj_noise_var_buf
[0] = 0x22f;
18868 nphy_adj_noise_var_buf
[1] = 0x24f;
18869 isAdjustNoiseVar
= true;
18872 nphy_adj_tone_id_buf
[0] = 121;
18873 nphy_adj_tone_id_buf
[1] = 122;
18874 nphy_adj_noise_var_buf
[0] = 0x18f;
18875 nphy_adj_noise_var_buf
[1] = 0x24f;
18876 isAdjustNoiseVar
= true;
18879 nphy_adj_tone_id_buf
[0] = 105;
18880 nphy_adj_tone_id_buf
[1] = 106;
18881 nphy_adj_noise_var_buf
[0] = 0x22f;
18882 nphy_adj_noise_var_buf
[1] = 0x25f;
18883 isAdjustNoiseVar
= true;
18886 nphy_adj_tone_id_buf
[0] = 89;
18887 nphy_adj_tone_id_buf
[1] = 90;
18888 nphy_adj_noise_var_buf
[0] = 0x22f;
18889 nphy_adj_noise_var_buf
[1] = 0x24f;
18890 isAdjustNoiseVar
= true;
18893 nphy_adj_tone_id_buf
[0] = 73;
18894 nphy_adj_tone_id_buf
[1] = 74;
18895 nphy_adj_noise_var_buf
[0] = 0x22f;
18896 nphy_adj_noise_var_buf
[1] = 0x24f;
18897 isAdjustNoiseVar
= true;
18900 isAdjustNoiseVar
= false;
18905 if (isAdjustNoiseVar
) {
18906 numTonesAdjust
= sizeof(nphy_adj_tone_id_buf
) /
18907 sizeof(nphy_adj_tone_id_buf
[0]);
18909 wlc_phy_adjust_min_noisevar_nphy(pi
,
18911 nphy_adj_tone_id_buf
,
18912 nphy_adj_noise_var_buf
);
18918 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18923 if ((pi
->nphy_aband_spurwar_en
) &&
18924 (CHSPEC_IS5G(pi
->radio_chanspec
))) {
18925 switch (cur_channel
) {
18927 nphy_adj_tone_id_buf
[0] = 32;
18928 nphy_adj_noise_var_buf
[0] = 0x25f;
18933 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) &&
18934 (pi
->sh
->chippkg
== BCM4717_PKG_ID
)) {
18935 nphy_adj_tone_id_buf
[0] = 32;
18936 nphy_adj_noise_var_buf
[0] = 0x21f;
18938 nphy_adj_tone_id_buf
[0] = 0;
18939 nphy_adj_noise_var_buf
[0] = 0x0;
18943 nphy_adj_tone_id_buf
[0] = 32;
18944 nphy_adj_noise_var_buf
[0] = 0x21f;
18947 nphy_adj_tone_id_buf
[0] = 16;
18948 nphy_adj_noise_var_buf
[0] = 0x23f;
18952 nphy_adj_tone_id_buf
[0] = 48;
18953 nphy_adj_noise_var_buf
[0] = 0x23f;
18956 nphy_adj_tone_id_buf
[0] = 0;
18957 nphy_adj_noise_var_buf
[0] = 0x0;
18961 if (nphy_adj_tone_id_buf
[0]
18962 && nphy_adj_noise_var_buf
[0]) {
18963 wlc_phy_adjust_min_noisevar_nphy(pi
, 1,
18964 nphy_adj_tone_id_buf
,
18965 nphy_adj_noise_var_buf
);
18967 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18972 if (pi
->phyhang_avoid
)
18973 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
18978 wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chanspec
,
18979 const nphy_sfo_cfg_t
*ci
)
18983 val
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
18984 if (CHSPEC_IS5G(chanspec
) && !val
) {
18986 val
= R_REG(&pi
->regs
->psm_phy_hdr_param
);
18987 W_REG(&pi
->regs
->psm_phy_hdr_param
,
18988 (val
| MAC_PHY_FORCE_CLK
));
18990 or_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
18991 (BBCFG_RESETCCA
| BBCFG_RESETRX
));
18993 W_REG(&pi
->regs
->psm_phy_hdr_param
, val
);
18995 or_phy_reg(pi
, 0x09, NPHY_BandControl_currentBand
);
18996 } else if (!CHSPEC_IS5G(chanspec
) && val
) {
18998 and_phy_reg(pi
, 0x09, ~NPHY_BandControl_currentBand
);
19000 val
= R_REG(&pi
->regs
->psm_phy_hdr_param
);
19001 W_REG(&pi
->regs
->psm_phy_hdr_param
,
19002 (val
| MAC_PHY_FORCE_CLK
));
19004 and_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
19005 (u16
) (~(BBCFG_RESETCCA
| BBCFG_RESETRX
)));
19007 W_REG(&pi
->regs
->psm_phy_hdr_param
, val
);
19010 write_phy_reg(pi
, 0x1ce, ci
->PHY_BW1a
);
19011 write_phy_reg(pi
, 0x1cf, ci
->PHY_BW2
);
19012 write_phy_reg(pi
, 0x1d0, ci
->PHY_BW3
);
19014 write_phy_reg(pi
, 0x1d1, ci
->PHY_BW4
);
19015 write_phy_reg(pi
, 0x1d2, ci
->PHY_BW5
);
19016 write_phy_reg(pi
, 0x1d3, ci
->PHY_BW6
);
19018 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
19019 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
, 0);
19021 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, 0x800);
19023 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
,
19024 NPHY_ClassifierCtrl_ofdm_en
);
19026 if (CHSPEC_IS2G(chanspec
))
19027 and_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, ~0x840);
19030 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
19031 wlc_phy_txpwr_fixpower_nphy(pi
);
19034 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
19036 wlc_phy_adjust_lnagaintbl_nphy(pi
);
19039 wlc_phy_txlpfbw_nphy(pi
);
19041 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
19042 && (pi
->phy_spuravoid
!= SPURAVOID_DISABLE
)) {
19045 val
= CHSPEC_CHANNEL(chanspec
);
19046 if (!CHSPEC_IS40(pi
->radio_chanspec
)) {
19047 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19048 if ((val
== 13) || (val
== 14) || (val
== 153)) {
19053 if (((val
>= 5) && (val
<= 8)) || (val
== 13)
19059 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19065 if (pi
->nphy_aband_spurwar_en
&&
19066 ((val
== 38) || (val
== 102)
19067 || (val
== 118))) {
19068 if ((pi
->sh
->chip
==
19070 && (pi
->sh
->chippkg
==
19080 if (pi
->phy_spuravoid
== SPURAVOID_FORCEON
)
19083 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
19084 (pi
->sh
->chip
== BCM47162_CHIP_ID
)) {
19085 si_pmu_spuravoid(pi
->sh
->sih
, pi
->sh
->osh
, spuravoid
);
19087 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, false);
19088 si_pmu_spuravoid(pi
->sh
->sih
, pi
->sh
->osh
, spuravoid
);
19089 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, true);
19092 if ((pi
->sh
->chip
== BCM43224_CHIP_ID
) ||
19093 (pi
->sh
->chip
== BCM43225_CHIP_ID
) ||
19094 (pi
->sh
->chip
== BCM43421_CHIP_ID
)) {
19096 if (spuravoid
== 1) {
19098 W_REG(&pi
->regs
->tsf_clk_frac_l
,
19100 W_REG(&pi
->regs
->tsf_clk_frac_h
,
19104 W_REG(&pi
->regs
->tsf_clk_frac_l
,
19106 W_REG(&pi
->regs
->tsf_clk_frac_h
,
19111 if (!((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
19112 (pi
->sh
->chip
== BCM47162_CHIP_ID
))) {
19113 wlapi_bmac_core_phypll_reset(pi
->sh
->physhim
);
19116 mod_phy_reg(pi
, 0x01, (0x1 << 15),
19117 ((spuravoid
> 0) ? (0x1 << 15) : 0));
19119 wlc_phy_resetcca_nphy(pi
);
19121 pi
->phy_isspuravoid
= (spuravoid
> 0);
19124 if (NREV_LT(pi
->pubpi
.phy_rev
, 7))
19125 write_phy_reg(pi
, 0x17e, 0x3830);
19127 wlc_phy_spurwar_nphy(pi
);
19130 void wlc_phy_chanspec_set_nphy(phy_info_t
*pi
, chanspec_t chanspec
)
19133 chan_info_nphy_radio2057_t
*t0
= NULL
;
19134 chan_info_nphy_radio205x_t
*t1
= NULL
;
19135 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
19136 chan_info_nphy_2055_t
*t3
= NULL
;
19138 if (NORADIO_ENAB(pi
->pubpi
)) {
19142 if (!wlc_phy_chan2freq_nphy
19143 (pi
, CHSPEC_CHANNEL(chanspec
), &freq
, &t0
, &t1
, &t2
, &t3
))
19146 wlc_phy_chanspec_radio_set((wlc_phy_t
*) pi
, chanspec
);
19148 if (CHSPEC_BW(chanspec
) != pi
->bw
)
19149 wlapi_bmac_bw_set(pi
->sh
->physhim
, CHSPEC_BW(chanspec
));
19151 if (CHSPEC_IS40(chanspec
)) {
19152 if (CHSPEC_SB_UPPER(chanspec
)) {
19153 or_phy_reg(pi
, 0xa0, BPHY_BAND_SEL_UP20
);
19154 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19155 or_phy_reg(pi
, 0x310, PRIM_SEL_UP20
);
19158 and_phy_reg(pi
, 0xa0, ~BPHY_BAND_SEL_UP20
);
19159 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19160 and_phy_reg(pi
, 0x310,
19161 (~PRIM_SEL_UP20
& 0xffff));
19166 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19167 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19169 if ((pi
->pubpi
.radiorev
<= 4)
19170 || (pi
->pubpi
.radiorev
== 6)) {
19171 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE0
,
19173 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19175 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE1
,
19177 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19181 wlc_phy_chanspec_radio2057_setup(pi
, t0
, t2
);
19182 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19183 (pi
->pubpi
.radiorev
==
19184 5) ? (const nphy_sfo_cfg_t
19187 : (const nphy_sfo_cfg_t
*)
19193 RADIO_2056_SYN_COM_CTRL
| RADIO_2056_SYN
,
19195 (CHSPEC_IS5G(chanspec
) ? (0x1 << 2) : 0));
19196 wlc_phy_chanspec_radio2056_setup(pi
, t1
);
19198 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19199 (const nphy_sfo_cfg_t
*)
19205 mod_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
, 0x70,
19206 (CHSPEC_IS5G(chanspec
) ? (0x02 << 4)
19209 wlc_phy_chanspec_radio2055_setup(pi
, t3
);
19210 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19211 (const nphy_sfo_cfg_t
*)&(t3
->
19217 static void wlc_phy_savecal_nphy(phy_info_t
*pi
)
19221 u16
*txcal_radio_regs
= NULL
;
19223 if (pi
->phyhang_avoid
)
19224 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
19226 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19228 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19229 &pi
->calibration_cache
.
19232 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19234 pi
->calibration_cache
.txcal_radio_regs_2G
;
19235 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19237 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19239 RADIO_2056_TX_LOFT_FINE_I
|
19241 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19243 RADIO_2056_TX_LOFT_FINE_Q
|
19245 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19247 RADIO_2056_TX_LOFT_FINE_I
|
19249 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19251 RADIO_2056_TX_LOFT_FINE_Q
|
19254 pi
->calibration_cache
.txcal_radio_regs_2G
[4] =
19256 RADIO_2056_TX_LOFT_COARSE_I
|
19258 pi
->calibration_cache
.txcal_radio_regs_2G
[5] =
19260 RADIO_2056_TX_LOFT_COARSE_Q
|
19262 pi
->calibration_cache
.txcal_radio_regs_2G
[6] =
19264 RADIO_2056_TX_LOFT_COARSE_I
|
19266 pi
->calibration_cache
.txcal_radio_regs_2G
[7] =
19268 RADIO_2056_TX_LOFT_COARSE_Q
|
19271 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19272 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19273 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19274 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19275 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19276 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19277 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19278 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19281 pi
->nphy_iqcal_chanspec_2G
= pi
->radio_chanspec
;
19282 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19285 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19286 &pi
->calibration_cache
.
19289 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19291 pi
->calibration_cache
.txcal_radio_regs_5G
;
19292 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19294 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19296 RADIO_2056_TX_LOFT_FINE_I
|
19298 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19300 RADIO_2056_TX_LOFT_FINE_Q
|
19302 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19304 RADIO_2056_TX_LOFT_FINE_I
|
19306 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19308 RADIO_2056_TX_LOFT_FINE_Q
|
19311 pi
->calibration_cache
.txcal_radio_regs_5G
[4] =
19313 RADIO_2056_TX_LOFT_COARSE_I
|
19315 pi
->calibration_cache
.txcal_radio_regs_5G
[5] =
19317 RADIO_2056_TX_LOFT_COARSE_Q
|
19319 pi
->calibration_cache
.txcal_radio_regs_5G
[6] =
19321 RADIO_2056_TX_LOFT_COARSE_I
|
19323 pi
->calibration_cache
.txcal_radio_regs_5G
[7] =
19325 RADIO_2056_TX_LOFT_COARSE_Q
|
19328 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19329 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19330 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19331 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19332 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19333 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19334 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19335 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19338 pi
->nphy_iqcal_chanspec_5G
= pi
->radio_chanspec
;
19339 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19341 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19342 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19344 txcal_radio_regs
[2 * coreNum
] =
19345 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19347 txcal_radio_regs
[2 * coreNum
+ 1] =
19348 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19351 txcal_radio_regs
[2 * coreNum
+ 4] =
19352 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19354 txcal_radio_regs
[2 * coreNum
+ 5] =
19355 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19360 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 8, 80, 16, tbl_ptr
);
19362 if (pi
->phyhang_avoid
)
19363 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
19366 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
)
19369 u16 txcal_coeffs_bphy
[4];
19372 u16
*txcal_radio_regs
= NULL
;
19374 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19375 if (pi
->nphy_iqcal_chanspec_2G
== 0)
19378 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19379 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_2G
[5];
19381 if (pi
->nphy_iqcal_chanspec_5G
== 0)
19384 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19385 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_5G
[5];
19388 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80, 16,
19391 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19392 txcal_coeffs_bphy
[0] = tbl_ptr
[0];
19393 txcal_coeffs_bphy
[1] = tbl_ptr
[1];
19394 txcal_coeffs_bphy
[2] = tbl_ptr
[2];
19395 txcal_coeffs_bphy
[3] = tbl_ptr
[3];
19397 txcal_coeffs_bphy
[0] = 0;
19398 txcal_coeffs_bphy
[1] = 0;
19399 txcal_coeffs_bphy
[2] = 0;
19400 txcal_coeffs_bphy
[3] = 0;
19403 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88, 16,
19404 txcal_coeffs_bphy
);
19406 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85, 16, loft_comp
);
19408 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93, 16, loft_comp
);
19410 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
19411 wlc_phy_tx_iq_war_nphy(pi
);
19413 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19414 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19416 pi
->calibration_cache
.txcal_radio_regs_2G
;
19417 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19419 write_radio_reg(pi
,
19420 RADIO_2056_TX_LOFT_FINE_I
|
19422 pi
->calibration_cache
.
19423 txcal_radio_regs_2G
[0]);
19424 write_radio_reg(pi
,
19425 RADIO_2056_TX_LOFT_FINE_Q
|
19427 pi
->calibration_cache
.
19428 txcal_radio_regs_2G
[1]);
19429 write_radio_reg(pi
,
19430 RADIO_2056_TX_LOFT_FINE_I
|
19432 pi
->calibration_cache
.
19433 txcal_radio_regs_2G
[2]);
19434 write_radio_reg(pi
,
19435 RADIO_2056_TX_LOFT_FINE_Q
|
19437 pi
->calibration_cache
.
19438 txcal_radio_regs_2G
[3]);
19440 write_radio_reg(pi
,
19441 RADIO_2056_TX_LOFT_COARSE_I
|
19443 pi
->calibration_cache
.
19444 txcal_radio_regs_2G
[4]);
19445 write_radio_reg(pi
,
19446 RADIO_2056_TX_LOFT_COARSE_Q
|
19448 pi
->calibration_cache
.
19449 txcal_radio_regs_2G
[5]);
19450 write_radio_reg(pi
,
19451 RADIO_2056_TX_LOFT_COARSE_I
|
19453 pi
->calibration_cache
.
19454 txcal_radio_regs_2G
[6]);
19455 write_radio_reg(pi
,
19456 RADIO_2056_TX_LOFT_COARSE_Q
|
19458 pi
->calibration_cache
.
19459 txcal_radio_regs_2G
[7]);
19461 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19462 pi
->calibration_cache
.
19463 txcal_radio_regs_2G
[0]);
19464 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19465 pi
->calibration_cache
.
19466 txcal_radio_regs_2G
[1]);
19467 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19468 pi
->calibration_cache
.
19469 txcal_radio_regs_2G
[2]);
19470 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19471 pi
->calibration_cache
.
19472 txcal_radio_regs_2G
[3]);
19475 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19476 &pi
->calibration_cache
.
19479 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19481 pi
->calibration_cache
.txcal_radio_regs_5G
;
19482 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19484 write_radio_reg(pi
,
19485 RADIO_2056_TX_LOFT_FINE_I
|
19487 pi
->calibration_cache
.
19488 txcal_radio_regs_5G
[0]);
19489 write_radio_reg(pi
,
19490 RADIO_2056_TX_LOFT_FINE_Q
|
19492 pi
->calibration_cache
.
19493 txcal_radio_regs_5G
[1]);
19494 write_radio_reg(pi
,
19495 RADIO_2056_TX_LOFT_FINE_I
|
19497 pi
->calibration_cache
.
19498 txcal_radio_regs_5G
[2]);
19499 write_radio_reg(pi
,
19500 RADIO_2056_TX_LOFT_FINE_Q
|
19502 pi
->calibration_cache
.
19503 txcal_radio_regs_5G
[3]);
19505 write_radio_reg(pi
,
19506 RADIO_2056_TX_LOFT_COARSE_I
|
19508 pi
->calibration_cache
.
19509 txcal_radio_regs_5G
[4]);
19510 write_radio_reg(pi
,
19511 RADIO_2056_TX_LOFT_COARSE_Q
|
19513 pi
->calibration_cache
.
19514 txcal_radio_regs_5G
[5]);
19515 write_radio_reg(pi
,
19516 RADIO_2056_TX_LOFT_COARSE_I
|
19518 pi
->calibration_cache
.
19519 txcal_radio_regs_5G
[6]);
19520 write_radio_reg(pi
,
19521 RADIO_2056_TX_LOFT_COARSE_Q
|
19523 pi
->calibration_cache
.
19524 txcal_radio_regs_5G
[7]);
19526 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19527 pi
->calibration_cache
.
19528 txcal_radio_regs_5G
[0]);
19529 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19530 pi
->calibration_cache
.
19531 txcal_radio_regs_5G
[1]);
19532 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19533 pi
->calibration_cache
.
19534 txcal_radio_regs_5G
[2]);
19535 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19536 pi
->calibration_cache
.
19537 txcal_radio_regs_5G
[3]);
19540 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19541 &pi
->calibration_cache
.
19545 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19546 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19548 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19550 txcal_radio_regs
[2 * coreNum
]);
19551 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19553 txcal_radio_regs
[2 * coreNum
+ 1]);
19555 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19557 txcal_radio_regs
[2 * coreNum
+ 4]);
19558 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19560 txcal_radio_regs
[2 * coreNum
+ 5]);
19565 void wlc_phy_antsel_init(wlc_phy_t
*ppi
, bool lut_init
)
19567 phy_info_t
*pi
= (phy_info_t
*) ppi
;
19571 if (NREV_GE(pi
->pubpi
.phy_rev
, 7))
19574 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19575 u16 v0
= 0x211, v1
= 0x222, v2
= 0x144, v3
= 0x188;
19577 if (lut_init
== false)
19580 if (pi
->srom_fem2g
.antswctrllut
== 0) {
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
,
19587 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19593 if (pi
->srom_fem5g
.antswctrllut
== 0) {
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
,
19600 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19607 write_phy_reg(pi
, 0xc8, 0x0);
19608 write_phy_reg(pi
, 0xc9, 0x0);
19610 si_gpiocontrol(pi
->sh
->sih
, mask
, mask
, GPIO_DRV_PRIORITY
);
19612 mc
= R_REG(&pi
->regs
->maccontrol
);
19613 mc
&= ~MCTL_GPOUT_SEL_MASK
;
19614 W_REG(&pi
->regs
->maccontrol
, mc
);
19616 OR_REG(&pi
->regs
->psm_gpio_oe
, mask
);
19618 AND_REG(&pi
->regs
->psm_gpio_out
, ~mask
);
19621 write_phy_reg(pi
, 0xf8, 0x02d8);
19622 write_phy_reg(pi
, 0xf9, 0x0301);
19623 write_phy_reg(pi
, 0xfa, 0x02d8);
19624 write_phy_reg(pi
, 0xfb, 0x0301);
19629 u16
wlc_phy_classifier_nphy(phy_info_t
*pi
, u16 mask
, u16 val
)
19631 u16 curr_ctl
, new_ctl
;
19632 bool suspended
= false;
19634 if (D11REV_IS(pi
->sh
->corerev
, 16)) {
19636 (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
) ?
19639 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
19642 curr_ctl
= read_phy_reg(pi
, 0xb0) & (0x7 << 0);
19644 new_ctl
= (curr_ctl
& (~mask
)) | (val
& mask
);
19646 mod_phy_reg(pi
, 0xb0, (0x7 << 0), new_ctl
);
19648 if (D11REV_IS(pi
->sh
->corerev
, 16) && !suspended
)
19649 wlapi_enable_mac(pi
->sh
->physhim
);
19654 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, u16
*vals
)
19658 vals
[0] = read_phy_reg(pi
, 0x2c);
19659 vals
[1] = read_phy_reg(pi
, 0x42);
19661 write_phy_reg(pi
, 0x2c, vals
[0]);
19662 write_phy_reg(pi
, 0x42, vals
[1]);
19666 void wlc_phy_force_rfseq_nphy(phy_info_t
*pi
, u8 cmd
)
19668 u16 trigger_mask
, status_mask
;
19669 u16 orig_RfseqCoreActv
;
19672 case NPHY_RFSEQ_RX2TX
:
19673 trigger_mask
= NPHY_RfseqTrigger_rx2tx
;
19674 status_mask
= NPHY_RfseqStatus_rx2tx
;
19676 case NPHY_RFSEQ_TX2RX
:
19677 trigger_mask
= NPHY_RfseqTrigger_tx2rx
;
19678 status_mask
= NPHY_RfseqStatus_tx2rx
;
19680 case NPHY_RFSEQ_RESET2RX
:
19681 trigger_mask
= NPHY_RfseqTrigger_reset2rx
;
19682 status_mask
= NPHY_RfseqStatus_reset2rx
;
19684 case NPHY_RFSEQ_UPDATEGAINH
:
19685 trigger_mask
= NPHY_RfseqTrigger_updategainh
;
19686 status_mask
= NPHY_RfseqStatus_updategainh
;
19688 case NPHY_RFSEQ_UPDATEGAINL
:
19689 trigger_mask
= NPHY_RfseqTrigger_updategainl
;
19690 status_mask
= NPHY_RfseqStatus_updategainl
;
19692 case NPHY_RFSEQ_UPDATEGAINU
:
19693 trigger_mask
= NPHY_RfseqTrigger_updategainu
;
19694 status_mask
= NPHY_RfseqStatus_updategainu
;
19700 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
19701 or_phy_reg(pi
, 0xa1,
19702 (NPHY_RfseqMode_CoreActv_override
|
19703 NPHY_RfseqMode_Trigger_override
));
19704 or_phy_reg(pi
, 0xa3, trigger_mask
);
19705 SPINWAIT((read_phy_reg(pi
, 0xa4) & status_mask
), 200000);
19706 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
19708 ASSERT((read_phy_reg(pi
, 0xa4) & status_mask
) == 0);
19712 wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*events
, u8
*dlys
,
19715 u32 t1_offset
, t2_offset
;
19718 NREV_GE(pi
->pubpi
.phy_rev
,
19719 3) ? NPHY_REV3_RFSEQ_CMD_END
: NPHY_RFSEQ_CMD_END
;
19724 if (pi
->phyhang_avoid
)
19725 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
19727 t1_offset
= cmd
<< 4;
19728 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t1_offset
, 8,
19730 t2_offset
= t1_offset
+ 0x080;
19731 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t2_offset
, 8,
19734 for (ctr
= len
; ctr
< 16; ctr
++) {
19735 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19736 t1_offset
+ ctr
, 8, &end_event
);
19737 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19738 t2_offset
+ ctr
, 8, &end_dly
);
19741 if (pi
->phyhang_avoid
)
19742 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
19745 static u16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, u16 offset
)
19747 u16 lpf_bw_ctl_val
= 0;
19748 u16 rx2tx_lpf_rc_lut_offset
= 0;
19751 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
19752 rx2tx_lpf_rc_lut_offset
= 0x159;
19754 rx2tx_lpf_rc_lut_offset
= 0x154;
19757 rx2tx_lpf_rc_lut_offset
= offset
;
19759 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19760 (u32
) rx2tx_lpf_rc_lut_offset
, 16,
19763 lpf_bw_ctl_val
= lpf_bw_ctl_val
& 0x7;
19765 return lpf_bw_ctl_val
;
19769 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, u16 field
, u16 value
,
19770 u8 core_mask
, u8 off
, u8 override_id
)
19773 u16 addr
= 0, en_addr
= 0, val_addr
= 0, en_mask
= 0, val_mask
= 0;
19776 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19778 for (core_num
= 0; core_num
< 2; core_num
++) {
19779 if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID0
) {
19783 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19784 val_addr
= (core_num
== 0) ? 0x7a :
19786 val_mask
= (0x1 << 1);
19790 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19791 val_addr
= (core_num
== 0) ? 0x7a :
19793 val_mask
= (0x1 << 2);
19797 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19798 val_addr
= (core_num
== 0) ? 0x7a :
19800 val_mask
= (0x1 << 4);
19804 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19805 val_addr
= (core_num
== 0) ? 0x7a :
19807 val_mask
= (0x1 << 5);
19811 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19812 val_addr
= (core_num
== 0) ? 0x7a :
19814 val_mask
= (0x1 << 6);
19818 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19819 val_addr
= (core_num
== 0) ? 0x7a :
19821 val_mask
= (0x1 << 7);
19825 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19826 val_addr
= (core_num
== 0) ? 0xf8 :
19828 val_mask
= (0x7 << 4);
19832 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19833 val_addr
= (core_num
== 0) ? 0x7b :
19835 val_mask
= (0xffff << 0);
19839 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19840 val_addr
= (core_num
== 0) ? 0x7c :
19842 val_mask
= (0xffff << 0);
19846 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19847 val_addr
= (core_num
== 0) ? 0x348 :
19849 val_mask
= (0xff << 0);
19853 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19854 val_addr
= (core_num
== 0) ? 0x348 :
19856 val_mask
= (0xf << 0);
19863 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID1
) {
19867 en_addr
= (core_num
== 0) ? 0x342 :
19869 val_addr
= (core_num
== 0) ? 0x340 :
19871 val_mask
= (0x1 << 1);
19875 en_addr
= (core_num
== 0) ? 0x342 :
19877 val_addr
= (core_num
== 0) ? 0x340 :
19879 val_mask
= (0x1 << 3);
19883 en_addr
= (core_num
== 0) ? 0x342 :
19885 val_addr
= (core_num
== 0) ? 0x340 :
19887 val_mask
= (0x1 << 5);
19891 en_addr
= (core_num
== 0) ? 0x342 :
19893 val_addr
= (core_num
== 0) ? 0x340 :
19895 val_mask
= (0x1 << 4);
19900 en_addr
= (core_num
== 0) ? 0x342 :
19902 val_addr
= (core_num
== 0) ? 0x340 :
19904 val_mask
= (0x1 << 2);
19909 en_addr
= (core_num
== 0) ? 0x342 :
19911 val_addr
= (core_num
== 0) ? 0x340 :
19913 val_mask
= (0x7 << 8);
19917 en_addr
= (core_num
== 0) ? 0x342 :
19919 val_addr
= (core_num
== 0) ? 0x340 :
19921 val_mask
= (0x1 << 14);
19925 en_addr
= (core_num
== 0) ? 0x342 :
19927 val_addr
= (core_num
== 0) ? 0x340 :
19929 val_mask
= (0x1 << 13);
19933 en_addr
= (core_num
== 0) ? 0x342 :
19935 val_addr
= (core_num
== 0) ? 0x340 :
19937 val_mask
= (0x1 << 12);
19941 en_addr
= (core_num
== 0) ? 0x342 :
19943 val_addr
= (core_num
== 0) ? 0x340 :
19945 val_mask
= (0x1 << 11);
19949 en_addr
= (core_num
== 0) ? 0x342 :
19951 val_addr
= (core_num
== 0) ? 0x340 :
19953 val_mask
= (0x1 << 6);
19957 en_addr
= (core_num
== 0) ? 0x342 :
19959 val_addr
= (core_num
== 0) ? 0x340 :
19961 val_mask
= (0x1 << 0);
19968 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID2
) {
19972 en_addr
= (core_num
== 0) ? 0x346 :
19974 val_addr
= (core_num
== 0) ? 0x344 :
19976 val_mask
= (0x1 << 3);
19980 en_addr
= (core_num
== 0) ? 0x346 :
19982 val_addr
= (core_num
== 0) ? 0x344 :
19984 val_mask
= (0x1 << 1);
19988 en_addr
= (core_num
== 0) ? 0x346 :
19990 val_addr
= (core_num
== 0) ? 0x344 :
19992 val_mask
= (0x1 << 0);
19996 en_addr
= (core_num
== 0) ? 0x346 :
19998 val_addr
= (core_num
== 0) ? 0x344 :
20000 val_mask
= (0x1 << 2);
20004 en_addr
= (core_num
== 0) ? 0x346 :
20006 val_addr
= (core_num
== 0) ? 0x344 :
20008 val_mask
= (0x1 << 4);
20018 and_phy_reg(pi
, en_addr
, ~en_mask
);
20019 and_phy_reg(pi
, val_addr
, ~val_mask
);
20022 if ((core_mask
== 0)
20023 || (core_mask
& (1 << core_num
))) {
20024 or_phy_reg(pi
, en_addr
, en_mask
);
20026 if (addr
!= 0xffff) {
20027 mod_phy_reg(pi
, val_addr
,
20039 wlc_phy_rfctrl_override_nphy(phy_info_t
*pi
, u16 field
, u16 value
,
20040 u8 core_mask
, u8 off
)
20043 u16 addr
= 0, mask
= 0, en_addr
= 0, val_addr
= 0, en_mask
=
20045 u8 shift
= 0, val_shift
= 0;
20047 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
20050 for (core_num
= 0; core_num
< 2; core_num
++) {
20054 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20055 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20056 val_mask
= (0x1 << 0);
20060 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20061 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20062 val_mask
= (0x1 << 1);
20066 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20067 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20068 val_mask
= (0x1 << 2);
20072 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20073 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20074 val_mask
= (0x1 << 4);
20078 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20079 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20080 val_mask
= (0x1 << 5);
20084 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20085 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20086 val_mask
= (0x1 << 6);
20090 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20091 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20092 val_mask
= (0x1 << 7);
20096 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20097 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20098 val_mask
= (0x7 << 8);
20102 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20103 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20104 val_mask
= (0x7 << 13);
20109 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20110 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20111 val_mask
= (0x7 << 0);
20116 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20117 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20118 val_mask
= (0x7 << 4);
20123 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20124 val_addr
= (core_num
== 0) ? 0x7b : 0x7e;
20125 val_mask
= (0xffff << 0);
20129 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20130 val_addr
= (core_num
== 0) ? 0x7c : 0x7f;
20131 val_mask
= (0xffff << 0);
20135 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20136 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20137 val_mask
= (0x3 << 6);
20141 en_addr
= (core_num
== 0) ? 0xe5 : 0xe6;
20142 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20143 val_mask
= (0x1 << 15);
20152 and_phy_reg(pi
, en_addr
, ~en_mask
);
20153 and_phy_reg(pi
, val_addr
, ~val_mask
);
20156 if ((core_mask
== 0)
20157 || (core_mask
& (1 << core_num
))) {
20158 or_phy_reg(pi
, en_addr
, en_mask
);
20160 if (addr
!= 0xffff) {
20161 mod_phy_reg(pi
, val_addr
,
20172 and_phy_reg(pi
, 0xec, ~field
);
20175 or_phy_reg(pi
, 0xec, field
);
20178 for (core_num
= 0; core_num
< 2; core_num
++) {
20197 addr
= (core_num
== 0) ? 0x7a : 0x7d;
20200 addr
= (core_num
== 0) ? 0x7b : 0x7e;
20203 addr
= (core_num
== 0) ? 0x7c : 0x7f;
20227 mask
= (0xf << 12);
20272 if ((addr
!= 0xffff) && (core_mask
& (1 << core_num
))) {
20273 mod_phy_reg(pi
, addr
, mask
, (value
<< shift
));
20277 or_phy_reg(pi
, 0xec, (0x1 << 0));
20278 or_phy_reg(pi
, 0x78, (0x1 << 0));
20280 and_phy_reg(pi
, 0xec, ~(0x1 << 0));
20285 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t
*pi
, u16 cmd
, u16 value
,
20286 u8 core_mask
, u8 off
)
20288 u16 rfmxgain
= 0, lpfgain
= 0;
20291 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20294 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
:
20295 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
20296 value
, core_mask
, off
,
20297 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20298 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), value
,
20300 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20301 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), value
,
20303 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20305 case NPHY_REV7_RfctrlOverride_cmd_rx_pu
:
20306 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20307 value
, core_mask
, off
,
20308 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20309 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20311 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20312 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20314 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20315 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20317 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20318 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0,
20320 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20322 case NPHY_REV7_RfctrlOverride_cmd_tx_pu
:
20323 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20324 value
, core_mask
, off
,
20325 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20326 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20328 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20329 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20331 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20332 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), value
,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20335 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1,
20337 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20339 case NPHY_REV7_RfctrlOverride_cmd_rxgain
:
20340 rfmxgain
= value
& 0x000ff;
20341 lpfgain
= value
& 0x0ff00;
20342 lpfgain
= lpfgain
>> 8;
20344 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
20345 rfmxgain
, core_mask
,
20347 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20348 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x3 << 13),
20349 lpfgain
, core_mask
,
20351 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20353 case NPHY_REV7_RfctrlOverride_cmd_txgain
:
20354 tgain
= value
& 0x7fff;
20355 lpfgain
= value
& 0x8000;
20356 lpfgain
= lpfgain
>> 14;
20358 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
20359 tgain
, core_mask
, off
,
20360 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20361 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 13),
20362 lpfgain
, core_mask
,
20364 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20371 wlc_phy_scale_offset_rssi_nphy(phy_info_t
*pi
, u16 scale
, s8 offset
,
20372 u8 coresel
, u8 rail
, u8 rssi_type
)
20376 offset
= (offset
> NPHY_RSSICAL_MAXREAD
) ?
20377 NPHY_RSSICAL_MAXREAD
: offset
;
20378 offset
= (offset
< (-NPHY_RSSICAL_MAXREAD
- 1)) ?
20379 -NPHY_RSSICAL_MAXREAD
- 1 : offset
;
20381 valuetostuff
= ((scale
& 0x3f) << 8) | (offset
& 0x3f);
20383 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20384 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20385 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20386 write_phy_reg(pi
, 0x1a6, valuetostuff
);
20388 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20389 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20390 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20391 write_phy_reg(pi
, 0x1ac, valuetostuff
);
20393 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20394 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20395 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20396 write_phy_reg(pi
, 0x1b2, valuetostuff
);
20398 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20399 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20400 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20401 write_phy_reg(pi
, 0x1b8, valuetostuff
);
20404 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20405 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20406 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20407 write_phy_reg(pi
, 0x1a4, valuetostuff
);
20409 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20410 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20411 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20412 write_phy_reg(pi
, 0x1aa, valuetostuff
);
20414 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20415 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20416 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20417 write_phy_reg(pi
, 0x1b0, valuetostuff
);
20419 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20420 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20421 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20422 write_phy_reg(pi
, 0x1b6, valuetostuff
);
20425 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20426 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20427 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20428 write_phy_reg(pi
, 0x1a5, valuetostuff
);
20430 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20431 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20432 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20433 write_phy_reg(pi
, 0x1ab, valuetostuff
);
20435 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20436 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20437 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20438 write_phy_reg(pi
, 0x1b1, valuetostuff
);
20440 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20441 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20442 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20443 write_phy_reg(pi
, 0x1b7, valuetostuff
);
20446 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20447 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20448 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20449 write_phy_reg(pi
, 0x1a7, valuetostuff
);
20451 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20452 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20453 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20454 write_phy_reg(pi
, 0x1ad, valuetostuff
);
20456 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20457 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20458 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20459 write_phy_reg(pi
, 0x1b3, valuetostuff
);
20461 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20462 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20463 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20464 write_phy_reg(pi
, 0x1b9, valuetostuff
);
20467 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20468 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20469 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20470 write_phy_reg(pi
, 0x1a8, valuetostuff
);
20472 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20473 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20474 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20475 write_phy_reg(pi
, 0x1ae, valuetostuff
);
20477 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20478 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20479 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20480 write_phy_reg(pi
, 0x1b4, valuetostuff
);
20482 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20483 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20484 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20485 write_phy_reg(pi
, 0x1ba, valuetostuff
);
20488 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20489 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20490 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20491 write_phy_reg(pi
, 0x1a9, valuetostuff
);
20493 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20494 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20495 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20496 write_phy_reg(pi
, 0x1b5, valuetostuff
);
20499 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20500 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20501 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20502 write_phy_reg(pi
, 0x1af, valuetostuff
);
20504 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20505 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20506 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20507 write_phy_reg(pi
, 0x1bb, valuetostuff
);
20511 void wlc_phy_rssisel_nphy(phy_info_t
*pi
, u8 core_code
, u8 rssi_type
)
20514 u16 afectrlovr_rssi_val
, rfctrlcmd_rxen_val
, rfctrlcmd_coresel_val
,
20516 u16 rfctrlovr_rssi_val
, rfctrlovr_rxen_val
, rfctrlovr_coresel_val
,
20517 rfctrlovr_trigger_val
;
20518 u16 afectrlovr_rssi_mask
, rfctrlcmd_mask
, rfctrlovr_mask
;
20519 u16 rfctrlcmd_val
, rfctrlovr_val
;
20522 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20523 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20524 mod_phy_reg(pi
, 0x8f, (0x1 << 9), 0);
20525 mod_phy_reg(pi
, 0xa5, (0x1 << 9), 0);
20527 mod_phy_reg(pi
, 0xa6, (0x3 << 8), 0);
20528 mod_phy_reg(pi
, 0xa7, (0x3 << 8), 0);
20530 mod_phy_reg(pi
, 0xe5, (0x1 << 5), 0);
20531 mod_phy_reg(pi
, 0xe6, (0x1 << 5), 0);
20533 mask
= (0x1 << 2) |
20534 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20535 mod_phy_reg(pi
, 0xf9, mask
, 0);
20536 mod_phy_reg(pi
, 0xfb, mask
, 0);
20539 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
20540 if (core_code
== RADIO_MIMO_CORESEL_CORE1
20541 && core
== PHY_CORE_1
)
20543 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
20544 && core
== PHY_CORE_0
)
20547 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20548 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20550 if (rssi_type
== NPHY_RSSI_SEL_W1
||
20551 rssi_type
== NPHY_RSSI_SEL_W2
||
20552 rssi_type
== NPHY_RSSI_SEL_NB
) {
20556 PHY_CORE_0
) ? 0xa6 : 0xa7,
20559 mask
= (0x1 << 2) |
20561 (0x1 << 4) | (0x1 << 5);
20564 PHY_CORE_0
) ? 0xf9 : 0xfb,
20567 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20569 (pi
->radio_chanspec
)) {
20576 } else if (rssi_type
==
20577 NPHY_RSSI_SEL_W2
) {
20586 PHY_CORE_0
) ? 0xf9 : 0xfb,
20591 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20592 0xe5 : 0xe6, mask
, val
);
20594 if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20601 : 0xa7, mask
, val
);
20602 mask
= (0x3 << 10);
20607 : 0xa7, mask
, val
);
20608 } else if (rssi_type
==
20609 NPHY_RSSI_SEL_IQ
) {
20616 : 0xa7, mask
, val
);
20617 mask
= (0x3 << 10);
20622 : 0xa7, mask
, val
);
20630 : 0xa7, mask
, val
);
20631 mask
= (0x3 << 10);
20636 : 0xa7, mask
, val
);
20640 (pi
->pubpi
.phy_rev
,
20648 RADIO_2057_TX0_TX_SSI_MUX
20650 RADIO_2057_TX1_TX_SSI_MUX
),
20659 RADIO_2056_TX_TX_SSI_MUX
20676 (pi
->pubpi
.phy_rev
,
20683 RADIO_2057_TX0_TX_SSI_MUX
20685 RADIO_2057_TX1_TX_SSI_MUX
),
20693 RADIO_2057_IQTEST_SEL_PU
,
20699 RADIO_2056_TX_TX_SSI_MUX
20711 afectrlovr_rssi_val
= 1 << 9;
20715 : 0xa5, (0x1 << 9),
20716 afectrlovr_rssi_val
);
20723 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20724 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20725 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20728 } else if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20731 } else if (rssi_type
== NPHY_RSSI_SEL_IQ
) {
20738 mask
= ((0x3 << 12) | (0x3 << 14));
20739 val
= (val
<< 12) | (val
<< 14);
20740 mod_phy_reg(pi
, 0xa6, mask
, val
);
20741 mod_phy_reg(pi
, 0xa7, mask
, val
);
20743 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20744 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20745 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20746 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20749 if (rssi_type
== NPHY_RSSI_SEL_W2
) {
20752 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
20757 mod_phy_reg(pi
, 0x7a, mask
, val
);
20758 mod_phy_reg(pi
, 0x7d, mask
, val
);
20761 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20762 afectrlovr_rssi_val
= 0;
20763 rfctrlcmd_rxen_val
= 0;
20764 rfctrlcmd_coresel_val
= 0;
20765 rfctrlovr_rssi_val
= 0;
20766 rfctrlovr_rxen_val
= 0;
20767 rfctrlovr_coresel_val
= 0;
20768 rfctrlovr_trigger_val
= 0;
20771 afectrlovr_rssi_val
= 1;
20772 rfctrlcmd_rxen_val
= 1;
20773 rfctrlcmd_coresel_val
= core_code
;
20774 rfctrlovr_rssi_val
= 1;
20775 rfctrlovr_rxen_val
= 1;
20776 rfctrlovr_coresel_val
= 1;
20777 rfctrlovr_trigger_val
= 1;
20781 afectrlovr_rssi_mask
= ((0x1 << 12) | (0x1 << 13));
20782 afectrlovr_rssi_val
= (afectrlovr_rssi_val
<<
20783 12) | (afectrlovr_rssi_val
<< 13);
20784 mod_phy_reg(pi
, 0xa5, afectrlovr_rssi_mask
,
20785 afectrlovr_rssi_val
);
20787 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20788 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20789 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20790 rfctrlcmd_mask
= ((0x1 << 8) | (0x7 << 3));
20791 rfctrlcmd_val
= (rfctrlcmd_rxen_val
<< 8) |
20792 (rfctrlcmd_coresel_val
<< 3);
20794 rfctrlovr_mask
= ((0x1 << 5) |
20796 (0x1 << 1) | (0x1 << 0));
20797 rfctrlovr_val
= (rfctrlovr_rssi_val
<<
20799 (rfctrlovr_rxen_val
<< 12) |
20800 (rfctrlovr_coresel_val
<< 1) |
20801 (rfctrlovr_trigger_val
<< 0);
20803 mod_phy_reg(pi
, 0x78, rfctrlcmd_mask
, rfctrlcmd_val
);
20804 mod_phy_reg(pi
, 0xec, rfctrlovr_mask
, rfctrlovr_val
);
20806 mod_phy_reg(pi
, 0x78, (0x1 << 0), (startseq
<< 0));
20809 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
20815 wlc_phy_poll_rssi_nphy(phy_info_t
*pi
, u8 rssi_type
, s32
*rssi_buf
,
20819 u16 afectrlCore1_save
= 0;
20820 u16 afectrlCore2_save
= 0;
20821 u16 afectrlOverride1_save
= 0;
20822 u16 afectrlOverride2_save
= 0;
20823 u16 rfctrlOverrideAux0_save
= 0;
20824 u16 rfctrlOverrideAux1_save
= 0;
20825 u16 rfctrlMiscReg1_save
= 0;
20826 u16 rfctrlMiscReg2_save
= 0;
20827 u16 rfctrlcmd_save
= 0;
20828 u16 rfctrloverride_save
= 0;
20829 u16 rfctrlrssiothers1_save
= 0;
20830 u16 rfctrlrssiothers2_save
= 0;
20832 u8 ctr
= 0, samp
= 0;
20836 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20837 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20838 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20839 rfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
20840 rfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
20841 afectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
20842 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20843 rfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
20844 rfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
20846 afectrlOverride1_save
= read_phy_reg(pi
, 0xa5);
20847 rfctrlcmd_save
= read_phy_reg(pi
, 0x78);
20848 rfctrloverride_save
= read_phy_reg(pi
, 0xec);
20849 rfctrlrssiothers1_save
= read_phy_reg(pi
, 0x7a);
20850 rfctrlrssiothers2_save
= read_phy_reg(pi
, 0x7d);
20853 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
20855 gpiosel_orig
= read_phy_reg(pi
, 0xca);
20856 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20857 write_phy_reg(pi
, 0xca, 5);
20860 for (ctr
= 0; ctr
< 4; ctr
++) {
20864 for (samp
= 0; samp
< nsamps
; samp
++) {
20865 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20866 rssi0
= read_phy_reg(pi
, 0x1c9);
20867 rssi1
= read_phy_reg(pi
, 0x1ca);
20869 rssi0
= read_phy_reg(pi
, 0x219);
20870 rssi1
= read_phy_reg(pi
, 0x21a);
20874 tmp_buf
[ctr
++] = ((s8
) ((rssi0
& 0x3f) << 2)) >> 2;
20875 tmp_buf
[ctr
++] = ((s8
) (((rssi0
>> 8) & 0x3f) << 2)) >> 2;
20876 tmp_buf
[ctr
++] = ((s8
) ((rssi1
& 0x3f) << 2)) >> 2;
20877 tmp_buf
[ctr
++] = ((s8
) (((rssi1
>> 8) & 0x3f) << 2)) >> 2;
20879 for (ctr
= 0; ctr
< 4; ctr
++) {
20880 rssi_buf
[ctr
] += tmp_buf
[ctr
];
20885 rssi_out_val
= rssi_buf
[3] & 0xff;
20886 rssi_out_val
|= (rssi_buf
[2] & 0xff) << 8;
20887 rssi_out_val
|= (rssi_buf
[1] & 0xff) << 16;
20888 rssi_out_val
|= (rssi_buf
[0] & 0xff) << 24;
20890 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20891 write_phy_reg(pi
, 0xca, gpiosel_orig
);
20894 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
20895 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
20896 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20897 write_phy_reg(pi
, 0xf9, rfctrlMiscReg1_save
);
20898 write_phy_reg(pi
, 0xfb, rfctrlMiscReg2_save
);
20899 write_phy_reg(pi
, 0x8f, afectrlOverride1_save
);
20900 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
20901 write_phy_reg(pi
, 0xe5, rfctrlOverrideAux0_save
);
20902 write_phy_reg(pi
, 0xe6, rfctrlOverrideAux1_save
);
20904 write_phy_reg(pi
, 0xa5, afectrlOverride1_save
);
20905 write_phy_reg(pi
, 0x78, rfctrlcmd_save
);
20906 write_phy_reg(pi
, 0xec, rfctrloverride_save
);
20907 write_phy_reg(pi
, 0x7a, rfctrlrssiothers1_save
);
20908 write_phy_reg(pi
, 0x7d, rfctrlrssiothers2_save
);
20911 return rssi_out_val
;
20914 s16
wlc_phy_tempsense_nphy(phy_info_t
*pi
)
20916 u16 core1_txrf_iqcal1_save
, core1_txrf_iqcal2_save
;
20917 u16 core2_txrf_iqcal1_save
, core2_txrf_iqcal2_save
;
20918 u16 pwrdet_rxtx_core1_save
;
20919 u16 pwrdet_rxtx_core2_save
;
20920 u16 afectrlCore1_save
;
20921 u16 afectrlCore2_save
;
20922 u16 afectrlOverride_save
;
20923 u16 afectrlOverride2_save
;
20924 u16 pd_pll_ts_save
;
20927 s32 radio_temp2
[4];
20928 u16 syn_tempprocsense_save
;
20931 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20932 u16 auxADC_Vmid
, auxADC_Av
, auxADC_Vmid_save
, auxADC_Av_save
;
20933 u16 auxADC_rssi_ctrlL_save
, auxADC_rssi_ctrlH_save
;
20934 u16 auxADC_rssi_ctrlL
, auxADC_rssi_ctrlH
;
20936 u16 RfctrlOverride5_save
, RfctrlOverride6_save
;
20937 u16 RfctrlMiscReg5_save
, RfctrlMiscReg6_save
;
20938 u16 RSSIMultCoef0QPowerDet_save
;
20939 u16 tempsense_Rcal
;
20941 syn_tempprocsense_save
=
20942 read_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
);
20944 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20945 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20946 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
20947 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20948 RSSIMultCoef0QPowerDet_save
= read_phy_reg(pi
, 0x1ae);
20949 RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
20950 RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
20951 RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
20952 RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
20954 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
20955 &auxADC_Vmid_save
);
20956 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
20958 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20959 &auxADC_rssi_ctrlL_save
);
20960 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20961 &auxADC_rssi_ctrlH_save
);
20963 write_phy_reg(pi
, 0x1ae, 0x0);
20965 auxADC_rssi_ctrlL
= 0x0;
20966 auxADC_rssi_ctrlH
= 0x20;
20967 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20968 &auxADC_rssi_ctrlL
);
20969 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20970 &auxADC_rssi_ctrlH
);
20972 tempsense_Rcal
= syn_tempprocsense_save
& 0x1c;
20974 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
20975 tempsense_Rcal
| 0x01);
20977 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
20979 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20980 mod_phy_reg(pi
, 0xa6, (0x1 << 7), 0);
20981 mod_phy_reg(pi
, 0xa7, (0x1 << 7), 0);
20982 mod_phy_reg(pi
, 0x8f, (0x1 << 7), (0x1 << 7));
20983 mod_phy_reg(pi
, 0xa5, (0x1 << 7), (0x1 << 7));
20985 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
20986 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
20987 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
20988 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
20990 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
20991 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
20992 mod_phy_reg(pi
, 0xa6, (0x1 << 3), 0);
20993 mod_phy_reg(pi
, 0xa7, (0x1 << 3), 0);
20994 mod_phy_reg(pi
, 0x8f, (0x1 << 3), (0x1 << 3));
20995 mod_phy_reg(pi
, 0xa5, (0x1 << 3), (0x1 << 3));
20996 mod_phy_reg(pi
, 0xa6, (0x1 << 6), 0);
20997 mod_phy_reg(pi
, 0xa7, (0x1 << 6), 0);
20998 mod_phy_reg(pi
, 0x8f, (0x1 << 6), (0x1 << 6));
20999 mod_phy_reg(pi
, 0xa5, (0x1 << 6), (0x1 << 6));
21001 auxADC_Vmid
= 0xA3;
21003 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21005 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21010 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21011 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21012 tempsense_Rcal
| 0x03);
21015 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21018 if (radio_temp
[1] + radio_temp2
[1] < -30) {
21019 auxADC_Vmid
= 0x45;
21021 } else if (radio_temp
[1] + radio_temp2
[1] < -9) {
21022 auxADC_Vmid
= 0x200;
21024 } else if (radio_temp
[1] + radio_temp2
[1] < 11) {
21025 auxADC_Vmid
= 0x266;
21028 auxADC_Vmid
= 0x2D5;
21032 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21034 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21039 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21040 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21041 tempsense_Rcal
| 0x01);
21044 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21046 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21047 syn_tempprocsense_save
);
21049 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21050 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21051 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21052 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21053 write_phy_reg(pi
, 0x1ae, RSSIMultCoef0QPowerDet_save
);
21054 write_phy_reg(pi
, 0x346, RfctrlOverride5_save
);
21055 write_phy_reg(pi
, 0x347, RfctrlOverride6_save
);
21056 write_phy_reg(pi
, 0x344, RfctrlMiscReg5_save
);
21057 write_phy_reg(pi
, 0x345, RfctrlMiscReg5_save
);
21059 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21060 &auxADC_Vmid_save
);
21061 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21063 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
21064 &auxADC_rssi_ctrlL_save
);
21065 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
21066 &auxADC_rssi_ctrlH_save
);
21068 if (pi
->sh
->chip
== BCM5357_CHIP_ID
) {
21069 radio_temp
[0] = (193 * (radio_temp
[1] + radio_temp2
[1])
21070 + 88 * (auxADC_Vl
) - 27111 +
21072 } else if (pi
->sh
->chip
== BCM43236_CHIP_ID
) {
21073 radio_temp
[0] = (198 * (radio_temp
[1] + radio_temp2
[1])
21074 + 91 * (auxADC_Vl
) - 27243 +
21077 radio_temp
[0] = (179 * (radio_temp
[1] + radio_temp2
[1])
21078 + 82 * (auxADC_Vl
) - 28861 +
21082 offset
= (s16
) pi
->phy_tempsense_offset
;
21084 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21085 syn_tempprocsense_save
=
21086 read_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
);
21088 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21089 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21090 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
21091 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21092 gpioSel_save
= read_phy_reg(pi
, 0xca);
21094 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21096 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21097 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21099 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x05);
21102 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21103 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21104 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x01);
21106 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21110 (126 * (radio_temp
[1] + radio_temp2
[1]) + 3987) / 64;
21112 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
,
21113 syn_tempprocsense_save
);
21115 write_phy_reg(pi
, 0xca, gpioSel_save
);
21116 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21117 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21118 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21119 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21121 offset
= (s16
) pi
->phy_tempsense_offset
;
21124 pwrdet_rxtx_core1_save
=
21125 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
21126 pwrdet_rxtx_core2_save
=
21127 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
21128 core1_txrf_iqcal1_save
=
21129 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
21130 core1_txrf_iqcal2_save
=
21131 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
21132 core2_txrf_iqcal1_save
=
21133 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
21134 core2_txrf_iqcal2_save
=
21135 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
21136 pd_pll_ts_save
= read_radio_reg(pi
, RADIO_2055_PD_PLL_TS
);
21138 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21139 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21140 afectrlOverride_save
= read_phy_reg(pi
, 0xa5);
21141 gpioSel_save
= read_phy_reg(pi
, 0xca);
21143 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x01);
21144 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x01);
21145 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x08);
21146 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x08);
21147 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
21148 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
21149 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, 0x00);
21151 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21152 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21154 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21155 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21157 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21158 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21160 radio_temp
[0] = (radio_temp
[0] + radio_temp2
[0]);
21161 radio_temp
[1] = (radio_temp
[1] + radio_temp2
[1]);
21162 radio_temp
[2] = (radio_temp
[2] + radio_temp2
[2]);
21163 radio_temp
[3] = (radio_temp
[3] + radio_temp2
[3]);
21166 (radio_temp
[0] + radio_temp
[1] + radio_temp
[2] +
21170 (radio_temp
[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21172 radio_temp
[0] = (radio_temp
[0] - (8 * 420)) / 38;
21174 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
21175 pwrdet_rxtx_core1_save
);
21176 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
21177 pwrdet_rxtx_core2_save
);
21178 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
21179 core1_txrf_iqcal1_save
);
21180 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
21181 core2_txrf_iqcal1_save
);
21182 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
21183 core1_txrf_iqcal2_save
);
21184 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
21185 core2_txrf_iqcal2_save
);
21186 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, pd_pll_ts_save
);
21188 write_phy_reg(pi
, 0xca, gpioSel_save
);
21189 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21190 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21191 write_phy_reg(pi
, 0xa5, afectrlOverride_save
);
21194 return (s16
) radio_temp
[0] + offset
;
21198 wlc_phy_set_rssi_2055_vcm(phy_info_t
*pi
, u8 rssi_type
, u8
*vcm_buf
)
21202 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21203 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
21204 if (core
== PHY_CORE_0
) {
21206 RADIO_2055_CORE1_B0_NBRSSI_VCM
,
21207 RADIO_2055_NBRSSI_VCM_I_MASK
,
21210 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21212 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21213 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21216 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21219 RADIO_2055_CORE2_B0_NBRSSI_VCM
,
21220 RADIO_2055_NBRSSI_VCM_I_MASK
,
21223 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21225 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21226 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21229 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21233 if (core
== PHY_CORE_0
) {
21235 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21236 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21239 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21242 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21243 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21246 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21252 void wlc_phy_rssi_cal_nphy(phy_info_t
*pi
)
21254 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21256 wlc_phy_rssi_cal_nphy_rev3(pi
);
21258 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_NB
);
21259 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W1
);
21260 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W2
);
21264 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
)
21269 u16 rssi_ctrl_state
[2], pd_state
[2];
21270 u16 rfctrlintc_state
[2], rfpdcorerxtx_state
[2];
21271 u16 rfctrlintc_override_val
;
21272 u16 clip_off
[] = { 0xffff, 0xffff };
21273 u16 rf_pd_val
, pd_mask
, rssi_ctrl_mask
;
21274 u8 vcm
, min_vcm
, vcm_tmp
[4];
21275 u8 vcm_final
[4] = { 0, 0, 0, 0 };
21276 u8 result_idx
, ctr
;
21277 s32 poll_results
[4][4] = {
21283 s32 poll_miniq
[4][2] = {
21290 s32 fine_digital_offset
[4];
21291 s32 poll_results_min
[4] = { 0, 0, 0, 0 };
21294 switch (rssi_type
) {
21295 case NPHY_RSSI_SEL_NB
:
21296 target_code
= NPHY_RSSICAL_NB_TARGET
;
21298 case NPHY_RSSI_SEL_W1
:
21299 target_code
= NPHY_RSSICAL_W1_TARGET
;
21301 case NPHY_RSSI_SEL_W2
:
21302 target_code
= NPHY_RSSICAL_W2_TARGET
;
21309 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21310 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21311 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21312 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21314 rf_pd_val
= (rssi_type
== NPHY_RSSI_SEL_NB
) ? 0x6 : 0x4;
21315 rfctrlintc_override_val
=
21316 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 : 0x110;
21318 rfctrlintc_state
[0] = read_phy_reg(pi
, 0x91);
21319 rfpdcorerxtx_state
[0] = read_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
);
21320 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
21321 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rf_pd_val
);
21323 rfctrlintc_state
[1] = read_phy_reg(pi
, 0x92);
21324 rfpdcorerxtx_state
[1] = read_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
);
21325 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
21326 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rf_pd_val
);
21328 pd_mask
= RADIO_2055_NBRSSI_PD
| RADIO_2055_WBRSSI_G1_PD
|
21329 RADIO_2055_WBRSSI_G2_PD
;
21331 read_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
) & pd_mask
;
21333 read_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
) & pd_mask
;
21334 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, 0);
21335 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, 0);
21336 rssi_ctrl_mask
= RADIO_2055_NBRSSI_SEL
| RADIO_2055_WBRSSI_G1_SEL
|
21337 RADIO_2055_WBRSSI_G2_SEL
;
21338 rssi_ctrl_state
[0] =
21339 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE1
) & rssi_ctrl_mask
;
21340 rssi_ctrl_state
[1] =
21341 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE2
) & rssi_ctrl_mask
;
21342 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
21344 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21345 NPHY_RAIL_I
, rssi_type
);
21346 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21347 NPHY_RAIL_Q
, rssi_type
);
21349 for (vcm
= 0; vcm
< 4; vcm
++) {
21351 vcm_tmp
[0] = vcm_tmp
[1] = vcm_tmp
[2] = vcm_tmp
[3] = vcm
;
21352 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21353 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_tmp
);
21356 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, &poll_results
[vcm
][0],
21357 NPHY_RSSICAL_NPOLL
);
21359 if ((rssi_type
== NPHY_RSSI_SEL_W1
)
21360 || (rssi_type
== NPHY_RSSI_SEL_W2
)) {
21361 for (ctr
= 0; ctr
< 2; ctr
++) {
21362 poll_miniq
[vcm
][ctr
] =
21363 min(poll_results
[vcm
][ctr
* 2 + 0],
21364 poll_results
[vcm
][ctr
* 2 + 1]);
21369 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21370 min_d
= NPHY_RSSICAL_MAXD
;
21372 min_poll
= NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+ 1;
21373 for (vcm
= 0; vcm
< 4; vcm
++) {
21374 curr_d
= ABS(((rssi_type
== NPHY_RSSI_SEL_NB
) ?
21375 poll_results
[vcm
][result_idx
] :
21376 poll_miniq
[vcm
][result_idx
/ 2]) -
21377 (target_code
* NPHY_RSSICAL_NPOLL
));
21378 if (curr_d
< min_d
) {
21382 if (poll_results
[vcm
][result_idx
] < min_poll
) {
21383 min_poll
= poll_results
[vcm
][result_idx
];
21386 vcm_final
[result_idx
] = min_vcm
;
21387 poll_results_min
[result_idx
] = min_poll
;
21390 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21391 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_final
);
21394 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21395 fine_digital_offset
[result_idx
] =
21396 (target_code
* NPHY_RSSICAL_NPOLL
) -
21397 poll_results
[vcm_final
[result_idx
]][result_idx
];
21398 if (fine_digital_offset
[result_idx
] < 0) {
21399 fine_digital_offset
[result_idx
] =
21400 ABS(fine_digital_offset
[result_idx
]);
21401 fine_digital_offset
[result_idx
] +=
21402 (NPHY_RSSICAL_NPOLL
/ 2);
21403 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21404 fine_digital_offset
[result_idx
] =
21405 -fine_digital_offset
[result_idx
];
21407 fine_digital_offset
[result_idx
] +=
21408 (NPHY_RSSICAL_NPOLL
/ 2);
21409 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21412 if (poll_results_min
[result_idx
] ==
21413 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21414 fine_digital_offset
[result_idx
] =
21415 (target_code
- NPHY_RSSICAL_MAXREAD
- 1);
21418 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
21420 fine_digital_offset
[result_idx
],
21422 0) ? RADIO_MIMO_CORESEL_CORE1
:
21423 RADIO_MIMO_CORESEL_CORE2
,
21425 0) ? NPHY_RAIL_I
: NPHY_RAIL_Q
,
21429 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, pd_state
[0]);
21430 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, pd_state
[1]);
21431 if (rssi_ctrl_state
[0] == RADIO_2055_NBRSSI_SEL
) {
21432 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21434 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G1_SEL
) {
21435 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21437 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G2_SEL
) {
21438 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21441 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21444 if (rssi_ctrl_state
[1] == RADIO_2055_NBRSSI_SEL
) {
21445 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21447 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G1_SEL
) {
21448 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21450 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G2_SEL
) {
21451 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21454 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21458 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, rssi_type
);
21460 write_phy_reg(pi
, 0x91, rfctrlintc_state
[0]);
21461 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rfpdcorerxtx_state
[0]);
21462 write_phy_reg(pi
, 0x92, rfctrlintc_state
[1]);
21463 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rfpdcorerxtx_state
[1]);
21465 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
21466 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
21468 wlc_phy_resetcca_nphy(pi
);
21472 wlc_phy_rssi_compute_nphy(phy_info_t
*pi
, wlc_d11rxhdr_t
*wlc_rxh
)
21474 d11rxhdr_t
*rxh
= &wlc_rxh
->rxhdr
;
21475 s16 rxpwr
, rxpwr0
, rxpwr1
;
21476 s16 phyRx0_l
, phyRx2_l
;
21479 rxpwr0
= le16_to_cpu(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR0_MASK
;
21480 rxpwr1
= (le16_to_cpu(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR1_MASK
) >> 8;
21487 phyRx0_l
= le16_to_cpu(rxh
->PhyRxStatus_0
) & 0x00ff;
21488 phyRx2_l
= le16_to_cpu(rxh
->PhyRxStatus_2
) & 0x00ff;
21489 if (phyRx2_l
> 127)
21492 if (((rxpwr0
== 16) || (rxpwr0
== 32))) {
21497 wlc_rxh
->rxpwr
[0] = (s8
) rxpwr0
;
21498 wlc_rxh
->rxpwr
[1] = (s8
) rxpwr1
;
21499 wlc_rxh
->do_rssi_ma
= 0;
21501 if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MAX
)
21502 rxpwr
= (rxpwr0
> rxpwr1
) ? rxpwr0
: rxpwr1
;
21503 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MIN
)
21504 rxpwr
= (rxpwr0
< rxpwr1
) ? rxpwr0
: rxpwr1
;
21505 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_AVG
)
21506 rxpwr
= (rxpwr0
+ rxpwr1
) >> 1;
21514 wlc_phy_rfctrlintc_override_nphy(phy_info_t
*pi
, u8 field
, u16 value
,
21521 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21522 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21523 if (core_code
== RADIO_MIMO_CORESEL_CORE1
21524 && core
== PHY_CORE_1
)
21526 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
21527 && core
== PHY_CORE_0
)
21530 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
21532 mask
= (0x1 << 10);
21534 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21538 if (field
== NPHY_RfctrlIntc_override_OFF
) {
21540 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21543 wlc_phy_force_rfseq_nphy(pi
,
21544 NPHY_RFSEQ_RESET2RX
);
21545 } else if (field
== NPHY_RfctrlIntc_override_TRSW
) {
21547 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21549 mask
= (0x1 << 6) | (0x1 << 7);
21554 PHY_CORE_0
) ? 0x91 : 0x92,
21559 PHY_CORE_0
) ? 0x91 : 0x92,
21562 and_phy_reg(pi
, 0x2ff, (u16
)
21564 or_phy_reg(pi
, 0x2ff, (0x1 << 13));
21565 or_phy_reg(pi
, 0x2ff, (0x1 << 0));
21568 mask
= (0x1 << 6) |
21570 (0x1 << 8) | (0x1 << 9);
21574 PHY_CORE_0
) ? 0x91 : 0x92,
21581 PHY_CORE_0
) ? 0xe7 : 0xec,
21584 mask
= (core
== PHY_CORE_0
) ? (0x1 << 0)
21586 val
= 1 << ((core
== PHY_CORE_0
) ?
21588 mod_phy_reg(pi
, 0x78, mask
, val
);
21590 SPINWAIT(((read_phy_reg(pi
, 0x78) & val
)
21592 ASSERT((read_phy_reg(pi
, 0x78) & val
) ==
21599 PHY_CORE_0
) ? 0xe7 : 0xec,
21602 } else if (field
== NPHY_RfctrlIntc_override_PA
) {
21603 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21605 mask
= (0x1 << 4) | (0x1 << 5);
21607 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21615 PHY_CORE_0
) ? 0x91 : 0x92,
21620 PHY_CORE_0
) ? 0x91 : 0x92,
21624 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21633 PHY_CORE_0
) ? 0x91 : 0x92,
21636 } else if (field
== NPHY_RfctrlIntc_override_EXT_LNA_PU
) {
21637 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21638 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21645 : 0x92, mask
, val
);
21659 : 0x92, mask
, val
);
21668 mask
= (0x1 << 11);
21672 PHY_CORE_0
) ? 0x91 : 0x92,
21676 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21685 PHY_CORE_0
) ? 0x91 : 0x92,
21688 } else if (field
==
21689 NPHY_RfctrlIntc_override_EXT_LNA_GAIN
) {
21690 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21691 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21698 : 0x92, mask
, val
);
21712 : 0x92, mask
, val
);
21721 mask
= (0x1 << 11);
21725 PHY_CORE_0
) ? 0x91 : 0x92,
21729 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21738 PHY_CORE_0
) ? 0x91 : 0x92,
21748 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
)
21752 u16 clip_off
[] = { 0xffff, 0xffff };
21757 s32 poll_results
[8][4] = {
21767 s32 poll_result_core
[4] = { 0, 0, 0, 0 };
21768 s32 min_d
= NPHY_RSSICAL_MAXD
, curr_d
;
21769 s32 fine_digital_offset
[4];
21770 s32 poll_results_min
[4] = { 0, 0, 0, 0 };
21776 u16 NPHY_Rfctrlintc1_save
, NPHY_Rfctrlintc2_save
;
21777 u16 NPHY_AfectrlOverride1_save
, NPHY_AfectrlOverride2_save
;
21778 u16 NPHY_AfectrlCore1_save
, NPHY_AfectrlCore2_save
;
21779 u16 NPHY_RfctrlOverride0_save
, NPHY_RfctrlOverride1_save
;
21780 u16 NPHY_RfctrlOverrideAux0_save
, NPHY_RfctrlOverrideAux1_save
;
21781 u16 NPHY_RfctrlCmd_save
;
21782 u16 NPHY_RfctrlMiscReg1_save
, NPHY_RfctrlMiscReg2_save
;
21783 u16 NPHY_RfctrlRSSIOTHERS1_save
, NPHY_RfctrlRSSIOTHERS2_save
;
21785 u16 NPHY_REV7_RfctrlOverride3_save
, NPHY_REV7_RfctrlOverride4_save
;
21786 u16 NPHY_REV7_RfctrlOverride5_save
, NPHY_REV7_RfctrlOverride6_save
;
21787 u16 NPHY_REV7_RfctrlMiscReg3_save
, NPHY_REV7_RfctrlMiscReg4_save
;
21788 u16 NPHY_REV7_RfctrlMiscReg5_save
, NPHY_REV7_RfctrlMiscReg6_save
;
21790 NPHY_REV7_RfctrlOverride3_save
= NPHY_REV7_RfctrlOverride4_save
=
21791 NPHY_REV7_RfctrlOverride5_save
= NPHY_REV7_RfctrlOverride6_save
=
21792 NPHY_REV7_RfctrlMiscReg3_save
= NPHY_REV7_RfctrlMiscReg4_save
=
21793 NPHY_REV7_RfctrlMiscReg5_save
= NPHY_REV7_RfctrlMiscReg6_save
= 0;
21795 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21796 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21797 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21798 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21800 NPHY_Rfctrlintc1_save
= read_phy_reg(pi
, 0x91);
21801 NPHY_Rfctrlintc2_save
= read_phy_reg(pi
, 0x92);
21802 NPHY_AfectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
21803 NPHY_AfectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21804 NPHY_AfectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21805 NPHY_AfectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21806 NPHY_RfctrlOverride0_save
= read_phy_reg(pi
, 0xe7);
21807 NPHY_RfctrlOverride1_save
= read_phy_reg(pi
, 0xec);
21808 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21809 NPHY_REV7_RfctrlOverride3_save
= read_phy_reg(pi
, 0x342);
21810 NPHY_REV7_RfctrlOverride4_save
= read_phy_reg(pi
, 0x343);
21811 NPHY_REV7_RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
21812 NPHY_REV7_RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
21814 NPHY_RfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
21815 NPHY_RfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
21816 NPHY_RfctrlCmd_save
= read_phy_reg(pi
, 0x78);
21817 NPHY_RfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
21818 NPHY_RfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
21819 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21820 NPHY_REV7_RfctrlMiscReg3_save
= read_phy_reg(pi
, 0x340);
21821 NPHY_REV7_RfctrlMiscReg4_save
= read_phy_reg(pi
, 0x341);
21822 NPHY_REV7_RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
21823 NPHY_REV7_RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
21825 NPHY_RfctrlRSSIOTHERS1_save
= read_phy_reg(pi
, 0x7a);
21826 NPHY_RfctrlRSSIOTHERS2_save
= read_phy_reg(pi
, 0x7d);
21828 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_OFF
, 0,
21829 RADIO_MIMO_CORESEL_ALLRXTX
);
21830 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_TRSW
, 1,
21831 RADIO_MIMO_CORESEL_ALLRXTX
);
21833 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21834 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21835 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
,
21838 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0, 0);
21841 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21842 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21843 NPHY_REV7_RfctrlOverride_cmd_rx_pu
,
21846 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0, 0);
21849 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21850 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
21852 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21853 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 6), 1, 0, 0,
21854 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21856 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 7), 1, 0, 0);
21857 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 6), 1, 0, 0);
21860 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21861 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21862 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
21864 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21865 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 1, 0,
21867 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21869 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 0, 0, 0);
21870 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 1, 0, 0);
21874 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21875 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
21877 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21878 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 1, 0,
21880 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21882 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 0, 0, 0);
21883 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 1, 0, 0);
21887 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
21891 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21893 if ((rxcore_state
& (1 << core
)) == 0)
21896 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21899 RADIO_MIMO_CORESEL_CORE1
:
21900 RADIO_MIMO_CORESEL_CORE2
,
21901 NPHY_RAIL_I
, NPHY_RSSI_SEL_NB
);
21902 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21905 RADIO_MIMO_CORESEL_CORE1
:
21906 RADIO_MIMO_CORESEL_CORE2
,
21907 NPHY_RAIL_Q
, NPHY_RSSI_SEL_NB
);
21909 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21910 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21912 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21913 RADIO_2057_NB_MASTER_CORE0
:
21914 RADIO_2057_NB_MASTER_CORE1
,
21915 RADIO_2057_VCM_MASK
, vcm
);
21918 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21920 PHY_CORE_0
) ? RADIO_2056_RX0
:
21922 RADIO_2056_VCM_MASK
,
21923 vcm
<< RADIO_2056_RSSI_VCM_SHIFT
);
21926 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_NB
,
21927 &poll_results
[vcm
][0],
21928 NPHY_RSSICAL_NPOLL
);
21931 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21932 if ((core
== result_idx
/ 2) && (result_idx
% 2 == 0)) {
21934 min_d
= NPHY_RSSICAL_MAXD
;
21937 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+
21939 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21940 curr_d
= poll_results
[vcm
][result_idx
] *
21941 poll_results
[vcm
][result_idx
] +
21942 poll_results
[vcm
][result_idx
+ 1] *
21943 poll_results
[vcm
][result_idx
+ 1];
21944 if (curr_d
< min_d
) {
21948 if (poll_results
[vcm
][result_idx
] <
21955 vcm_final
= min_vcm
;
21956 poll_results_min
[result_idx
] = min_poll
;
21960 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21961 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21962 RADIO_2057_NB_MASTER_CORE0
:
21963 RADIO_2057_NB_MASTER_CORE1
,
21964 RADIO_2057_VCM_MASK
, vcm_final
);
21966 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21968 PHY_CORE_0
) ? RADIO_2056_RX0
:
21969 RADIO_2056_RX1
), RADIO_2056_VCM_MASK
,
21970 vcm_final
<< RADIO_2056_RSSI_VCM_SHIFT
);
21973 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21974 if (core
== result_idx
/ 2) {
21975 fine_digital_offset
[result_idx
] =
21976 (NPHY_RSSICAL_NB_TARGET
*
21977 NPHY_RSSICAL_NPOLL
) -
21978 poll_results
[vcm_final
][result_idx
];
21979 if (fine_digital_offset
[result_idx
] < 0) {
21980 fine_digital_offset
[result_idx
] =
21981 ABS(fine_digital_offset
21983 fine_digital_offset
[result_idx
] +=
21984 (NPHY_RSSICAL_NPOLL
/ 2);
21985 fine_digital_offset
[result_idx
] /=
21986 NPHY_RSSICAL_NPOLL
;
21987 fine_digital_offset
[result_idx
] =
21988 -fine_digital_offset
[result_idx
];
21990 fine_digital_offset
[result_idx
] +=
21991 (NPHY_RSSICAL_NPOLL
/ 2);
21992 fine_digital_offset
[result_idx
] /=
21993 NPHY_RSSICAL_NPOLL
;
21996 if (poll_results_min
[result_idx
] ==
21997 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21998 fine_digital_offset
[result_idx
] =
21999 (NPHY_RSSICAL_NB_TARGET
-
22000 NPHY_RSSICAL_MAXREAD
- 1);
22003 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
22005 fine_digital_offset
22010 RADIO_MIMO_CORESEL_CORE1
22012 RADIO_MIMO_CORESEL_CORE2
,
22023 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
22025 if ((rxcore_state
& (1 << core
)) == 0)
22028 for (wb_cnt
= 0; wb_cnt
< 2; wb_cnt
++) {
22030 rssi_type
= NPHY_RSSI_SEL_W1
;
22031 target_code
= NPHY_RSSICAL_W1_TARGET_REV3
;
22033 rssi_type
= NPHY_RSSI_SEL_W2
;
22034 target_code
= NPHY_RSSICAL_W2_TARGET_REV3
;
22037 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22040 RADIO_MIMO_CORESEL_CORE1
22042 RADIO_MIMO_CORESEL_CORE2
,
22043 NPHY_RAIL_I
, rssi_type
);
22044 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22047 RADIO_MIMO_CORESEL_CORE1
22049 RADIO_MIMO_CORESEL_CORE2
,
22050 NPHY_RAIL_Q
, rssi_type
);
22052 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, poll_result_core
,
22053 NPHY_RSSICAL_NPOLL
);
22055 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
22056 if (core
== result_idx
/ 2) {
22057 fine_digital_offset
[result_idx
] =
22058 (target_code
* NPHY_RSSICAL_NPOLL
) -
22059 poll_result_core
[result_idx
];
22060 if (fine_digital_offset
[result_idx
] < 0) {
22061 fine_digital_offset
[result_idx
]
22063 ABS(fine_digital_offset
22065 fine_digital_offset
[result_idx
]
22066 += (NPHY_RSSICAL_NPOLL
/ 2);
22067 fine_digital_offset
[result_idx
]
22068 /= NPHY_RSSICAL_NPOLL
;
22069 fine_digital_offset
[result_idx
]
22071 -fine_digital_offset
22074 fine_digital_offset
[result_idx
]
22075 += (NPHY_RSSICAL_NPOLL
/ 2);
22076 fine_digital_offset
[result_idx
]
22077 /= NPHY_RSSICAL_NPOLL
;
22080 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
22082 fine_digital_offset
22088 RADIO_MIMO_CORESEL_CORE1
22090 RADIO_MIMO_CORESEL_CORE2
,
22104 write_phy_reg(pi
, 0x91, NPHY_Rfctrlintc1_save
);
22105 write_phy_reg(pi
, 0x92, NPHY_Rfctrlintc2_save
);
22107 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
22109 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 1 << 0);
22110 mod_phy_reg(pi
, 0x78, (0x1 << 0), 1 << 0);
22111 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 0);
22113 mod_phy_reg(pi
, 0xec, (0x1 << 0), 1 << 0);
22114 mod_phy_reg(pi
, 0x78, (0x1 << 1), 1 << 1);
22115 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
22117 write_phy_reg(pi
, 0x8f, NPHY_AfectrlOverride1_save
);
22118 write_phy_reg(pi
, 0xa5, NPHY_AfectrlOverride2_save
);
22119 write_phy_reg(pi
, 0xa6, NPHY_AfectrlCore1_save
);
22120 write_phy_reg(pi
, 0xa7, NPHY_AfectrlCore2_save
);
22121 write_phy_reg(pi
, 0xe7, NPHY_RfctrlOverride0_save
);
22122 write_phy_reg(pi
, 0xec, NPHY_RfctrlOverride1_save
);
22123 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22124 write_phy_reg(pi
, 0x342, NPHY_REV7_RfctrlOverride3_save
);
22125 write_phy_reg(pi
, 0x343, NPHY_REV7_RfctrlOverride4_save
);
22126 write_phy_reg(pi
, 0x346, NPHY_REV7_RfctrlOverride5_save
);
22127 write_phy_reg(pi
, 0x347, NPHY_REV7_RfctrlOverride6_save
);
22129 write_phy_reg(pi
, 0xe5, NPHY_RfctrlOverrideAux0_save
);
22130 write_phy_reg(pi
, 0xe6, NPHY_RfctrlOverrideAux1_save
);
22131 write_phy_reg(pi
, 0x78, NPHY_RfctrlCmd_save
);
22132 write_phy_reg(pi
, 0xf9, NPHY_RfctrlMiscReg1_save
);
22133 write_phy_reg(pi
, 0xfb, NPHY_RfctrlMiscReg2_save
);
22134 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22135 write_phy_reg(pi
, 0x340, NPHY_REV7_RfctrlMiscReg3_save
);
22136 write_phy_reg(pi
, 0x341, NPHY_REV7_RfctrlMiscReg4_save
);
22137 write_phy_reg(pi
, 0x344, NPHY_REV7_RfctrlMiscReg5_save
);
22138 write_phy_reg(pi
, 0x345, NPHY_REV7_RfctrlMiscReg6_save
);
22140 write_phy_reg(pi
, 0x7a, NPHY_RfctrlRSSIOTHERS1_save
);
22141 write_phy_reg(pi
, 0x7d, NPHY_RfctrlRSSIOTHERS2_save
);
22143 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22144 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22145 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22146 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22147 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22148 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22150 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22152 RADIO_2056_RX_RSSI_MISC
|
22154 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22156 RADIO_2056_RX_RSSI_MISC
|
22160 pi
->rssical_cache
.rssical_phyregs_2G
[0] =
22161 read_phy_reg(pi
, 0x1a6);
22162 pi
->rssical_cache
.rssical_phyregs_2G
[1] =
22163 read_phy_reg(pi
, 0x1ac);
22164 pi
->rssical_cache
.rssical_phyregs_2G
[2] =
22165 read_phy_reg(pi
, 0x1b2);
22166 pi
->rssical_cache
.rssical_phyregs_2G
[3] =
22167 read_phy_reg(pi
, 0x1b8);
22168 pi
->rssical_cache
.rssical_phyregs_2G
[4] =
22169 read_phy_reg(pi
, 0x1a4);
22170 pi
->rssical_cache
.rssical_phyregs_2G
[5] =
22171 read_phy_reg(pi
, 0x1aa);
22172 pi
->rssical_cache
.rssical_phyregs_2G
[6] =
22173 read_phy_reg(pi
, 0x1b0);
22174 pi
->rssical_cache
.rssical_phyregs_2G
[7] =
22175 read_phy_reg(pi
, 0x1b6);
22176 pi
->rssical_cache
.rssical_phyregs_2G
[8] =
22177 read_phy_reg(pi
, 0x1a5);
22178 pi
->rssical_cache
.rssical_phyregs_2G
[9] =
22179 read_phy_reg(pi
, 0x1ab);
22180 pi
->rssical_cache
.rssical_phyregs_2G
[10] =
22181 read_phy_reg(pi
, 0x1b1);
22182 pi
->rssical_cache
.rssical_phyregs_2G
[11] =
22183 read_phy_reg(pi
, 0x1b7);
22185 pi
->nphy_rssical_chanspec_2G
= pi
->radio_chanspec
;
22187 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22188 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22189 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22190 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22191 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22193 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22195 RADIO_2056_RX_RSSI_MISC
|
22197 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22199 RADIO_2056_RX_RSSI_MISC
|
22203 pi
->rssical_cache
.rssical_phyregs_5G
[0] =
22204 read_phy_reg(pi
, 0x1a6);
22205 pi
->rssical_cache
.rssical_phyregs_5G
[1] =
22206 read_phy_reg(pi
, 0x1ac);
22207 pi
->rssical_cache
.rssical_phyregs_5G
[2] =
22208 read_phy_reg(pi
, 0x1b2);
22209 pi
->rssical_cache
.rssical_phyregs_5G
[3] =
22210 read_phy_reg(pi
, 0x1b8);
22211 pi
->rssical_cache
.rssical_phyregs_5G
[4] =
22212 read_phy_reg(pi
, 0x1a4);
22213 pi
->rssical_cache
.rssical_phyregs_5G
[5] =
22214 read_phy_reg(pi
, 0x1aa);
22215 pi
->rssical_cache
.rssical_phyregs_5G
[6] =
22216 read_phy_reg(pi
, 0x1b0);
22217 pi
->rssical_cache
.rssical_phyregs_5G
[7] =
22218 read_phy_reg(pi
, 0x1b6);
22219 pi
->rssical_cache
.rssical_phyregs_5G
[8] =
22220 read_phy_reg(pi
, 0x1a5);
22221 pi
->rssical_cache
.rssical_phyregs_5G
[9] =
22222 read_phy_reg(pi
, 0x1ab);
22223 pi
->rssical_cache
.rssical_phyregs_5G
[10] =
22224 read_phy_reg(pi
, 0x1b1);
22225 pi
->rssical_cache
.rssical_phyregs_5G
[11] =
22226 read_phy_reg(pi
, 0x1b7);
22228 pi
->nphy_rssical_chanspec_5G
= pi
->radio_chanspec
;
22231 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
22232 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
22235 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
)
22237 ASSERT(NREV_GE(pi
->pubpi
.phy_rev
, 3));
22239 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22240 if (pi
->nphy_rssical_chanspec_2G
== 0)
22243 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22244 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22245 RADIO_2057_VCM_MASK
,
22247 rssical_radio_regs_2G
[0]);
22248 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22249 RADIO_2057_VCM_MASK
,
22251 rssical_radio_regs_2G
[1]);
22254 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22255 RADIO_2056_VCM_MASK
,
22257 rssical_radio_regs_2G
[0]);
22259 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22260 RADIO_2056_VCM_MASK
,
22262 rssical_radio_regs_2G
[1]);
22265 write_phy_reg(pi
, 0x1a6,
22266 pi
->rssical_cache
.rssical_phyregs_2G
[0]);
22267 write_phy_reg(pi
, 0x1ac,
22268 pi
->rssical_cache
.rssical_phyregs_2G
[1]);
22269 write_phy_reg(pi
, 0x1b2,
22270 pi
->rssical_cache
.rssical_phyregs_2G
[2]);
22271 write_phy_reg(pi
, 0x1b8,
22272 pi
->rssical_cache
.rssical_phyregs_2G
[3]);
22273 write_phy_reg(pi
, 0x1a4,
22274 pi
->rssical_cache
.rssical_phyregs_2G
[4]);
22275 write_phy_reg(pi
, 0x1aa,
22276 pi
->rssical_cache
.rssical_phyregs_2G
[5]);
22277 write_phy_reg(pi
, 0x1b0,
22278 pi
->rssical_cache
.rssical_phyregs_2G
[6]);
22279 write_phy_reg(pi
, 0x1b6,
22280 pi
->rssical_cache
.rssical_phyregs_2G
[7]);
22281 write_phy_reg(pi
, 0x1a5,
22282 pi
->rssical_cache
.rssical_phyregs_2G
[8]);
22283 write_phy_reg(pi
, 0x1ab,
22284 pi
->rssical_cache
.rssical_phyregs_2G
[9]);
22285 write_phy_reg(pi
, 0x1b1,
22286 pi
->rssical_cache
.rssical_phyregs_2G
[10]);
22287 write_phy_reg(pi
, 0x1b7,
22288 pi
->rssical_cache
.rssical_phyregs_2G
[11]);
22291 if (pi
->nphy_rssical_chanspec_5G
== 0)
22294 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22295 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22296 RADIO_2057_VCM_MASK
,
22298 rssical_radio_regs_5G
[0]);
22299 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22300 RADIO_2057_VCM_MASK
,
22302 rssical_radio_regs_5G
[1]);
22305 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22306 RADIO_2056_VCM_MASK
,
22308 rssical_radio_regs_5G
[0]);
22310 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22311 RADIO_2056_VCM_MASK
,
22313 rssical_radio_regs_5G
[1]);
22316 write_phy_reg(pi
, 0x1a6,
22317 pi
->rssical_cache
.rssical_phyregs_5G
[0]);
22318 write_phy_reg(pi
, 0x1ac,
22319 pi
->rssical_cache
.rssical_phyregs_5G
[1]);
22320 write_phy_reg(pi
, 0x1b2,
22321 pi
->rssical_cache
.rssical_phyregs_5G
[2]);
22322 write_phy_reg(pi
, 0x1b8,
22323 pi
->rssical_cache
.rssical_phyregs_5G
[3]);
22324 write_phy_reg(pi
, 0x1a4,
22325 pi
->rssical_cache
.rssical_phyregs_5G
[4]);
22326 write_phy_reg(pi
, 0x1aa,
22327 pi
->rssical_cache
.rssical_phyregs_5G
[5]);
22328 write_phy_reg(pi
, 0x1b0,
22329 pi
->rssical_cache
.rssical_phyregs_5G
[6]);
22330 write_phy_reg(pi
, 0x1b6,
22331 pi
->rssical_cache
.rssical_phyregs_5G
[7]);
22332 write_phy_reg(pi
, 0x1a5,
22333 pi
->rssical_cache
.rssical_phyregs_5G
[8]);
22334 write_phy_reg(pi
, 0x1ab,
22335 pi
->rssical_cache
.rssical_phyregs_5G
[9]);
22336 write_phy_reg(pi
, 0x1b1,
22337 pi
->rssical_cache
.rssical_phyregs_5G
[10]);
22338 write_phy_reg(pi
, 0x1b7,
22339 pi
->rssical_cache
.rssical_phyregs_5G
[11]);
22344 wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, u32 f_kHz
, u16 max_val
,
22347 u8 phy_bw
, is_phybw40
;
22348 u16 num_samps
, t
, spur
;
22349 fixed theta
= 0, rot
= 0;
22351 cs32
*tone_buf
= NULL
;
22353 is_phybw40
= CHSPEC_IS40(pi
->radio_chanspec
);
22354 phy_bw
= (is_phybw40
== 1) ? 40 : 20;
22355 tbl_len
= (phy_bw
<< 3);
22357 if (dac_test_mode
== 1) {
22358 spur
= read_phy_reg(pi
, 0x01);
22359 spur
= (spur
>> 15) & 1;
22360 phy_bw
= (spur
== 1) ? 82 : 80;
22361 phy_bw
= (is_phybw40
== 1) ? (phy_bw
<< 1) : phy_bw
;
22363 tbl_len
= (phy_bw
<< 1);
22366 tone_buf
= kmalloc(sizeof(cs32
) * tbl_len
, GFP_ATOMIC
);
22367 if (tone_buf
== NULL
) {
22371 num_samps
= (u16
) tbl_len
;
22372 rot
= FIXED((f_kHz
* 36) / phy_bw
) / 100;
22375 for (t
= 0; t
< num_samps
; t
++) {
22377 wlc_phy_cordic(theta
, &tone_buf
[t
]);
22381 tone_buf
[t
].q
= (s32
) FLOAT(tone_buf
[t
].q
* max_val
);
22382 tone_buf
[t
].i
= (s32
) FLOAT(tone_buf
[t
].i
* max_val
);
22385 wlc_phy_loadsampletable_nphy(pi
, tone_buf
, num_samps
);
22387 if (tone_buf
!= NULL
)
22394 wlc_phy_tx_tone_nphy(phy_info_t
*pi
, u32 f_kHz
, u16 max_val
,
22395 u8 iqmode
, u8 dac_test_mode
, bool modify_bbmult
)
22398 u16 loops
= 0xffff;
22402 wlc_phy_gen_load_samples_nphy(pi
, f_kHz
, max_val
, dac_test_mode
);
22403 if (num_samps
== 0) {
22407 wlc_phy_runsamples_nphy(pi
, num_samps
, loops
, wait
, iqmode
,
22408 dac_test_mode
, modify_bbmult
);
22414 wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cs32
*tone_buf
,
22418 u32
*data_buf
= NULL
;
22420 data_buf
= kmalloc(sizeof(u32
) * num_samps
, GFP_ATOMIC
);
22421 if (data_buf
== NULL
) {
22425 if (pi
->phyhang_avoid
)
22426 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22428 for (t
= 0; t
< num_samps
; t
++) {
22429 data_buf
[t
] = ((((unsigned int)tone_buf
[t
].i
) & 0x3ff) << 10) |
22430 (((unsigned int)tone_buf
[t
].q
) & 0x3ff);
22432 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SAMPLEPLAY
, num_samps
, 0, 32,
22435 if (data_buf
!= NULL
)
22438 if (pi
->phyhang_avoid
)
22439 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22443 wlc_phy_runsamples_nphy(phy_info_t
*pi
, u16 num_samps
, u16 loops
,
22444 u16 wait
, u8 iqmode
, u8 dac_test_mode
,
22445 bool modify_bbmult
)
22448 u8 phy_bw
, sample_cmd
;
22449 u16 orig_RfseqCoreActv
;
22450 u16 lpf_bw_ctl_override3
, lpf_bw_ctl_override4
, lpf_bw_ctl_miscreg3
,
22451 lpf_bw_ctl_miscreg4
;
22453 if (pi
->phyhang_avoid
)
22454 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22457 if (CHSPEC_IS40(pi
->radio_chanspec
))
22460 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22462 lpf_bw_ctl_override3
= read_phy_reg(pi
, 0x342) & (0x1 << 7);
22463 lpf_bw_ctl_override4
= read_phy_reg(pi
, 0x343) & (0x1 << 7);
22464 if (lpf_bw_ctl_override3
| lpf_bw_ctl_override4
) {
22465 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22467 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22470 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22472 wlc_phy_read_lpf_bw_ctl_nphy
22474 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22476 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= true;
22478 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22480 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22485 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) == 0) {
22487 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22489 pi
->nphy_bb_mult_save
=
22490 BB_MULT_VALID_MASK
| (bb_mult
& BB_MULT_MASK
);
22493 if (modify_bbmult
) {
22494 bb_mult
= (phy_bw
== 20) ? 100 : 71;
22495 bb_mult
= (bb_mult
<< 8) + bb_mult
;
22496 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22500 if (pi
->phyhang_avoid
)
22501 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22503 write_phy_reg(pi
, 0xc6, num_samps
- 1);
22505 if (loops
!= 0xffff) {
22506 write_phy_reg(pi
, 0xc4, loops
- 1);
22508 write_phy_reg(pi
, 0xc4, loops
);
22510 write_phy_reg(pi
, 0xc5, wait
);
22512 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
22513 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
22516 and_phy_reg(pi
, 0xc2, 0x7FFF);
22518 or_phy_reg(pi
, 0xc2, 0x8000);
22521 sample_cmd
= (dac_test_mode
== 1) ? 0x5 : 0x1;
22522 write_phy_reg(pi
, 0xc3, sample_cmd
);
22525 SPINWAIT(((read_phy_reg(pi
, 0xa4) & 0x1) == 1), 1000);
22527 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
22530 void wlc_phy_stopplayback_nphy(phy_info_t
*pi
)
22532 u16 playback_status
;
22535 if (pi
->phyhang_avoid
)
22536 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22538 playback_status
= read_phy_reg(pi
, 0xc7);
22539 if (playback_status
& 0x1) {
22540 or_phy_reg(pi
, 0xc3, NPHY_sampleCmd_STOP
);
22541 } else if (playback_status
& 0x2) {
22543 and_phy_reg(pi
, 0xc2,
22544 (u16
) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN
);
22547 and_phy_reg(pi
, 0xc3, (u16
) ~(0x1 << 2));
22549 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) != 0) {
22551 bb_mult
= pi
->nphy_bb_mult_save
& BB_MULT_MASK
;
22552 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22555 pi
->nphy_bb_mult_save
= 0;
22558 if (NREV_IS(pi
->pubpi
.phy_rev
, 7) || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
22559 if (pi
->nphy_sample_play_lpf_bw_ctl_ovr
) {
22560 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22563 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22564 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= false;
22568 if (pi
->phyhang_avoid
)
22569 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22572 nphy_txgains_t
wlc_phy_get_tx_gain_nphy(phy_info_t
*pi
)
22574 u16 base_idx
[2], curr_gain
[2];
22576 nphy_txgains_t target_gain
;
22577 u32
*tx_pwrctrl_tbl
= NULL
;
22579 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
22580 if (pi
->phyhang_avoid
)
22581 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22583 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
22586 if (pi
->phyhang_avoid
)
22587 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22589 for (core_no
= 0; core_no
< 2; core_no
++) {
22590 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22591 target_gain
.ipa
[core_no
] =
22592 curr_gain
[core_no
] & 0x0007;
22593 target_gain
.pad
[core_no
] =
22594 ((curr_gain
[core_no
] & 0x00F8) >> 3);
22595 target_gain
.pga
[core_no
] =
22596 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22597 target_gain
.txgm
[core_no
] =
22598 ((curr_gain
[core_no
] & 0x7000) >> 12);
22599 target_gain
.txlpf
[core_no
] =
22600 ((curr_gain
[core_no
] & 0x8000) >> 15);
22601 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22602 target_gain
.ipa
[core_no
] =
22603 curr_gain
[core_no
] & 0x000F;
22604 target_gain
.pad
[core_no
] =
22605 ((curr_gain
[core_no
] & 0x00F0) >> 4);
22606 target_gain
.pga
[core_no
] =
22607 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22608 target_gain
.txgm
[core_no
] =
22609 ((curr_gain
[core_no
] & 0x7000) >> 12);
22611 target_gain
.ipa
[core_no
] =
22612 curr_gain
[core_no
] & 0x0003;
22613 target_gain
.pad
[core_no
] =
22614 ((curr_gain
[core_no
] & 0x000C) >> 2);
22615 target_gain
.pga
[core_no
] =
22616 ((curr_gain
[core_no
] & 0x0070) >> 4);
22617 target_gain
.txgm
[core_no
] =
22618 ((curr_gain
[core_no
] & 0x0380) >> 7);
22622 base_idx
[0] = (read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f;
22623 base_idx
[1] = (read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f;
22624 for (core_no
= 0; core_no
< 2; core_no
++) {
22625 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22628 wlc_phy_get_ipa_gaintbl_nphy(pi
);
22630 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22632 (pi
->pubpi
.phy_rev
, 3) {
22634 nphy_tpc_5GHz_txgain_rev3
;
22636 (pi
->pubpi
.phy_rev
, 4) {
22641 nphy_tpc_5GHz_txgain_HiPwrEPA
22643 nphy_tpc_5GHz_txgain_rev4
;
22646 nphy_tpc_5GHz_txgain_rev5
;
22650 (pi
->pubpi
.phy_rev
, 7)) {
22654 nphy_tpc_txgain_epa_2057rev3
;
22655 } else if (pi
->pubpi
.
22659 nphy_tpc_txgain_epa_2057rev5
;
22664 (pi
->pubpi
.phy_rev
,
22666 && (pi
->srom_fem2g
.
22670 nphy_tpc_txgain_HiPwrEPA
;
22673 nphy_tpc_txgain_rev3
;
22679 (pi
->pubpi
.phy_rev
, 7) {
22680 target_gain
.ipa
[core_no
] =
22681 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22683 target_gain
.pad
[core_no
] =
22684 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22686 target_gain
.pga
[core_no
] =
22687 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22689 target_gain
.txgm
[core_no
] =
22690 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22692 target_gain
.txlpf
[core_no
] =
22693 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22696 target_gain
.ipa
[core_no
] =
22697 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22699 target_gain
.pad
[core_no
] =
22700 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22702 target_gain
.pga
[core_no
] =
22703 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22705 target_gain
.txgm
[core_no
] =
22706 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22710 target_gain
.ipa
[core_no
] =
22711 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 16) &
22713 target_gain
.pad
[core_no
] =
22714 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 18) &
22716 target_gain
.pga
[core_no
] =
22717 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 20) &
22719 target_gain
.txgm
[core_no
] =
22720 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 23) &
22726 return target_gain
;
22730 wlc_phy_iqcal_gainparams_nphy(phy_info_t
*pi
, u16 core_no
,
22731 nphy_txgains_t target_gain
,
22732 nphy_iqcal_params_t
*params
)
22737 u8 band_idx
= (CHSPEC_IS5G(pi
->radio_chanspec
) ? 1 : 0);
22739 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22740 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22741 params
->txlpf
= target_gain
.txlpf
[core_no
];
22743 params
->txgm
= target_gain
.txgm
[core_no
];
22744 params
->pga
= target_gain
.pga
[core_no
];
22745 params
->pad
= target_gain
.pad
[core_no
];
22746 params
->ipa
= target_gain
.ipa
[core_no
];
22747 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22749 ((params
->txlpf
<< 15) | (params
->
22750 txgm
<< 12) | (params
->
22752 (params
->pad
<< 3) | (params
->ipa
));
22755 ((params
->txgm
<< 12) | (params
->
22756 pga
<< 8) | (params
->
22760 params
->ncorr
[0] = 0x79;
22761 params
->ncorr
[1] = 0x79;
22762 params
->ncorr
[2] = 0x79;
22763 params
->ncorr
[3] = 0x79;
22764 params
->ncorr
[4] = 0x79;
22767 gain_index
= ((target_gain
.pad
[core_no
] << 0) |
22768 (target_gain
.pga
[core_no
] << 4) | (target_gain
.
22773 for (k
= 0; k
< NPHY_IQCAL_NUMGAINS
; k
++) {
22774 if (tbl_iqcal_gainparams_nphy
[band_idx
][k
][0] ==
22783 params
->txgm
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][1];
22784 params
->pga
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][2];
22785 params
->pad
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][3];
22786 params
->cal_gain
= ((params
->txgm
<< 7) | (params
->pga
<< 4) |
22787 (params
->pad
<< 2));
22788 params
->ncorr
[0] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][4];
22789 params
->ncorr
[1] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][5];
22790 params
->ncorr
[2] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][6];
22791 params
->ncorr
[3] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][7];
22795 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t
*pi
)
22797 u16 jtag_core
, core
;
22799 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22801 for (core
= 0; core
<= 1; core
++) {
22803 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22804 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22807 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22808 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22811 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22812 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22815 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22816 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
);
22818 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] = 0;
22820 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22821 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22824 if (pi
->pubpi
.radiorev
!= 5)
22825 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22826 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22829 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22830 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
);
22832 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22833 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22836 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22837 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22838 TX_SSI_MASTER
, 0x0a);
22839 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22840 IQCAL_VCM_HG
, 0x43);
22841 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22843 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22845 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22847 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22848 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22849 core
, TX_SSI_MUX
, 0x4);
22852 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22854 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22859 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22864 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22867 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22868 TX_SSI_MASTER
, 0x06);
22869 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22870 IQCAL_VCM_HG
, 0x43);
22871 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22873 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22876 if (pi
->pubpi
.radiorev
!= 5)
22877 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22878 core
, TSSIA
, 0x00);
22879 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22880 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22885 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22887 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22892 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22897 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22901 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22903 for (core
= 0; core
<= 1; core
++) {
22906 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
22908 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22910 RADIO_2056_TX_TX_SSI_MASTER
|
22913 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22915 RADIO_2056_TX_IQCAL_VCM_HG
|
22918 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22920 RADIO_2056_TX_IQCAL_IDAC
|
22923 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22925 RADIO_2056_TX_TSSI_VCM
| jtag_core
);
22927 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] =
22929 RADIO_2056_TX_TX_AMP_DET
|
22932 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22934 RADIO_2056_TX_TX_SSI_MUX
|
22937 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22938 read_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
);
22940 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22941 read_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
);
22943 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22945 RADIO_2056_TX_TSSI_MISC1
|
22948 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 9] =
22950 RADIO_2056_TX_TSSI_MISC2
|
22953 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 10] =
22955 RADIO_2056_TX_TSSI_MISC3
|
22958 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22959 write_radio_reg(pi
,
22960 RADIO_2056_TX_TX_SSI_MASTER
|
22962 write_radio_reg(pi
,
22963 RADIO_2056_TX_IQCAL_VCM_HG
|
22965 write_radio_reg(pi
,
22966 RADIO_2056_TX_IQCAL_IDAC
|
22968 write_radio_reg(pi
,
22969 RADIO_2056_TX_TSSI_VCM
|
22971 write_radio_reg(pi
,
22972 RADIO_2056_TX_TX_AMP_DET
|
22976 write_radio_reg(pi
,
22977 RADIO_2056_TX_TX_SSI_MUX
22979 write_radio_reg(pi
,
22980 RADIO_2056_TX_TSSIA
|
22983 write_radio_reg(pi
,
22984 RADIO_2056_TX_TX_SSI_MUX
22985 | jtag_core
, 0x00);
22986 write_radio_reg(pi
,
22987 RADIO_2056_TX_TSSIA
|
22990 write_radio_reg(pi
,
22991 RADIO_2056_TX_TSSIG
| jtag_core
,
22993 write_radio_reg(pi
,
22994 RADIO_2056_TX_TSSI_MISC1
|
22997 write_radio_reg(pi
,
22998 RADIO_2056_TX_TSSI_MISC2
|
23000 write_radio_reg(pi
,
23001 RADIO_2056_TX_TSSI_MISC3
|
23004 write_radio_reg(pi
,
23005 RADIO_2056_TX_TX_SSI_MASTER
|
23007 write_radio_reg(pi
,
23008 RADIO_2056_TX_IQCAL_VCM_HG
|
23010 write_radio_reg(pi
,
23011 RADIO_2056_TX_IQCAL_IDAC
|
23013 write_radio_reg(pi
,
23014 RADIO_2056_TX_TSSI_VCM
|
23016 write_radio_reg(pi
,
23017 RADIO_2056_TX_TX_AMP_DET
|
23019 write_radio_reg(pi
,
23020 RADIO_2056_TX_TSSIA
| jtag_core
,
23025 write_radio_reg(pi
,
23026 RADIO_2056_TX_TX_SSI_MUX
23027 | jtag_core
, 0x06);
23028 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
23030 write_radio_reg(pi
,
23031 RADIO_2056_TX_TSSIG
23036 write_radio_reg(pi
,
23037 RADIO_2056_TX_TSSIG
23042 write_radio_reg(pi
,
23043 RADIO_2056_TX_TX_SSI_MUX
23044 | jtag_core
, 0x00);
23045 write_radio_reg(pi
,
23046 RADIO_2056_TX_TSSIG
|
23050 write_radio_reg(pi
,
23051 RADIO_2056_TX_TSSI_MISC1
|
23053 write_radio_reg(pi
,
23054 RADIO_2056_TX_TSSI_MISC2
|
23056 write_radio_reg(pi
,
23057 RADIO_2056_TX_TSSI_MISC3
|
23063 pi
->tx_rx_cal_radio_saveregs
[0] =
23064 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
23065 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x29);
23066 pi
->tx_rx_cal_radio_saveregs
[1] =
23067 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
23068 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x54);
23070 pi
->tx_rx_cal_radio_saveregs
[2] =
23071 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
23072 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x29);
23073 pi
->tx_rx_cal_radio_saveregs
[3] =
23074 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
23075 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x54);
23077 pi
->tx_rx_cal_radio_saveregs
[4] =
23078 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
23079 pi
->tx_rx_cal_radio_saveregs
[5] =
23080 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
23082 if ((read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
) ==
23085 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
23086 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
23089 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x20);
23090 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x20);
23093 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
23095 or_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0x20);
23096 or_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0x20);
23099 and_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0xdf);
23100 and_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0xdf);
23105 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t
*pi
)
23107 u16 jtag_core
, core
;
23109 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23110 for (core
= 0; core
<= 1; core
++) {
23112 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23115 tx_rx_cal_radio_saveregs
[(core
* 11) +
23118 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
23120 tx_rx_cal_radio_saveregs
[(core
* 11) +
23123 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
23125 tx_rx_cal_radio_saveregs
[(core
* 11) +
23128 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
23130 tx_rx_cal_radio_saveregs
[(core
* 11) +
23133 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TX_SSI_MUX
,
23135 tx_rx_cal_radio_saveregs
[(core
* 11) +
23138 if (pi
->pubpi
.radiorev
!= 5)
23139 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23142 tx_rx_cal_radio_saveregs
[(core
23147 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
,
23149 tx_rx_cal_radio_saveregs
[(core
* 11) +
23152 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
23154 tx_rx_cal_radio_saveregs
[(core
* 11) +
23157 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23158 for (core
= 0; core
<= 1; core
++) {
23161 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
23163 write_radio_reg(pi
,
23164 RADIO_2056_TX_TX_SSI_MASTER
| jtag_core
,
23166 tx_rx_cal_radio_saveregs
[(core
* 11) +
23169 write_radio_reg(pi
,
23170 RADIO_2056_TX_IQCAL_VCM_HG
| jtag_core
,
23172 tx_rx_cal_radio_saveregs
[(core
* 11) +
23175 write_radio_reg(pi
,
23176 RADIO_2056_TX_IQCAL_IDAC
| jtag_core
,
23178 tx_rx_cal_radio_saveregs
[(core
* 11) +
23181 write_radio_reg(pi
, RADIO_2056_TX_TSSI_VCM
| jtag_core
,
23183 tx_rx_cal_radio_saveregs
[(core
* 11) +
23186 write_radio_reg(pi
,
23187 RADIO_2056_TX_TX_AMP_DET
| jtag_core
,
23189 tx_rx_cal_radio_saveregs
[(core
* 11) +
23192 write_radio_reg(pi
,
23193 RADIO_2056_TX_TX_SSI_MUX
| jtag_core
,
23195 tx_rx_cal_radio_saveregs
[(core
* 11) +
23198 write_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
,
23200 tx_rx_cal_radio_saveregs
[(core
* 11) +
23203 write_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
,
23205 tx_rx_cal_radio_saveregs
[(core
* 11) +
23208 write_radio_reg(pi
,
23209 RADIO_2056_TX_TSSI_MISC1
| jtag_core
,
23211 tx_rx_cal_radio_saveregs
[(core
* 11) +
23214 write_radio_reg(pi
,
23215 RADIO_2056_TX_TSSI_MISC2
| jtag_core
,
23217 tx_rx_cal_radio_saveregs
[(core
* 11) +
23220 write_radio_reg(pi
,
23221 RADIO_2056_TX_TSSI_MISC3
| jtag_core
,
23223 tx_rx_cal_radio_saveregs
[(core
* 11) +
23228 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
23229 pi
->tx_rx_cal_radio_saveregs
[0]);
23230 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
23231 pi
->tx_rx_cal_radio_saveregs
[1]);
23232 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
23233 pi
->tx_rx_cal_radio_saveregs
[2]);
23234 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
23235 pi
->tx_rx_cal_radio_saveregs
[3]);
23236 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
23237 pi
->tx_rx_cal_radio_saveregs
[4]);
23238 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
23239 pi
->tx_rx_cal_radio_saveregs
[5]);
23243 static void wlc_phy_txcal_physetup_nphy(phy_info_t
*pi
)
23247 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23248 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23249 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23251 mask
= ((0x3 << 8) | (0x3 << 10));
23253 val
|= (0x2 << 10);
23254 mod_phy_reg(pi
, 0xa6, mask
, val
);
23255 mod_phy_reg(pi
, 0xa7, mask
, val
);
23257 val
= read_phy_reg(pi
, 0x8f);
23258 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23259 val
|= ((0x1 << 9) | (0x1 << 10));
23260 write_phy_reg(pi
, 0x8f, val
);
23262 val
= read_phy_reg(pi
, 0xa5);
23263 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23264 val
|= ((0x1 << 9) | (0x1 << 10));
23265 write_phy_reg(pi
, 0xa5, val
);
23267 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x01);
23268 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23270 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23272 pi
->tx_rx_cal_phy_saveregs
[5] = val
;
23274 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23277 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23279 pi
->tx_rx_cal_phy_saveregs
[6] = val
;
23281 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23284 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0x91);
23285 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0x92);
23287 if (!(pi
->use_int_tx_iqlo_cal_nphy
)) {
23289 wlc_phy_rfctrlintc_override_nphy(pi
,
23290 NPHY_RfctrlIntc_override_PA
,
23292 RADIO_MIMO_CORESEL_CORE1
23294 RADIO_MIMO_CORESEL_CORE2
);
23297 wlc_phy_rfctrlintc_override_nphy(pi
,
23298 NPHY_RfctrlIntc_override_PA
,
23300 RADIO_MIMO_CORESEL_CORE1
23302 RADIO_MIMO_CORESEL_CORE2
);
23305 wlc_phy_rfctrlintc_override_nphy(pi
,
23306 NPHY_RfctrlIntc_override_TRSW
,
23307 0x2, RADIO_MIMO_CORESEL_CORE1
);
23308 wlc_phy_rfctrlintc_override_nphy(pi
,
23309 NPHY_RfctrlIntc_override_TRSW
,
23310 0x8, RADIO_MIMO_CORESEL_CORE2
);
23312 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
23313 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
23314 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
23315 0x29b, (0x1 << 0), (0) << 0);
23317 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
23318 0x29b, (0x1 << 0), (0) << 0);
23320 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23321 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23322 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
23323 wlc_phy_read_lpf_bw_ctl_nphy
23325 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23328 if (pi
->use_int_tx_iqlo_cal_nphy
23329 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23331 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23333 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23336 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23338 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23341 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23345 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23348 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23351 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23352 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23355 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23359 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23360 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23362 mask
= ((0x3 << 12) | (0x3 << 14));
23364 val
|= (0x2 << 14);
23365 mod_phy_reg(pi
, 0xa6, mask
, val
);
23366 mod_phy_reg(pi
, 0xa7, mask
, val
);
23368 val
= read_phy_reg(pi
, 0xa5);
23369 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23370 val
|= ((0x1 << 12) | (0x1 << 13));
23371 write_phy_reg(pi
, 0xa5, val
);
23373 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23375 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23377 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23380 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23382 pi
->tx_rx_cal_phy_saveregs
[4] = val
;
23384 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23387 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x91);
23388 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x92);
23389 val
= CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
23390 write_phy_reg(pi
, 0x91, val
);
23391 write_phy_reg(pi
, 0x92, val
);
23395 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t
*pi
)
23399 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23400 write_phy_reg(pi
, 0xa6, pi
->tx_rx_cal_phy_saveregs
[0]);
23401 write_phy_reg(pi
, 0xa7, pi
->tx_rx_cal_phy_saveregs
[1]);
23402 write_phy_reg(pi
, 0x8f, pi
->tx_rx_cal_phy_saveregs
[2]);
23403 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[3]);
23404 write_phy_reg(pi
, 0x01, pi
->tx_rx_cal_phy_saveregs
[4]);
23406 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23407 &pi
->tx_rx_cal_phy_saveregs
[5]);
23408 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23409 &pi
->tx_rx_cal_phy_saveregs
[6]);
23411 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[7]);
23412 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[8]);
23414 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
23415 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
23417 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23418 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23419 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
23421 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23424 wlc_phy_resetcca_nphy(pi
);
23426 if (pi
->use_int_tx_iqlo_cal_nphy
23427 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23429 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23430 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23432 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23435 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23439 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23442 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23446 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23448 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23449 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23452 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23456 mask
= ((0x3 << 12) | (0x3 << 14));
23457 mod_phy_reg(pi
, 0xa6, mask
, pi
->tx_rx_cal_phy_saveregs
[0]);
23458 mod_phy_reg(pi
, 0xa7, mask
, pi
->tx_rx_cal_phy_saveregs
[1]);
23459 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[2]);
23461 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23462 &pi
->tx_rx_cal_phy_saveregs
[3]);
23464 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23465 &pi
->tx_rx_cal_phy_saveregs
[4]);
23467 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[5]);
23468 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[6]);
23472 #define NPHY_CAL_TSSISAMPS 64
23473 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23474 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23477 wlc_phy_est_tonepwr_nphy(phy_info_t
*pi
, s32
*qdBm_pwrbuf
, u8 num_samps
)
23480 s32 temp
, pwrindex
[2];
23486 tssi_reg
= read_phy_reg(pi
, 0x1e9);
23488 temp
= (s32
) (tssi_reg
& 0x3f);
23489 idle_tssi
[0] = (temp
<= 31) ? temp
: (temp
- 64);
23491 temp
= (s32
) ((tssi_reg
>> 8) & 0x3f);
23492 idle_tssi
[1] = (temp
<= 31) ? temp
: (temp
- 64);
23495 CHSPEC_IS5G(pi
->radio_chanspec
) ?
23496 (u8
)NPHY_RSSI_SEL_TSSI_5G
:(u8
)NPHY_RSSI_SEL_TSSI_2G
;
23498 wlc_phy_poll_rssi_nphy(pi
, tssi_type
, rssi_buf
, num_samps
);
23500 tssival
[0] = rssi_buf
[0] / ((s32
) num_samps
);
23501 tssival
[1] = rssi_buf
[2] / ((s32
) num_samps
);
23503 pwrindex
[0] = idle_tssi
[0] - tssival
[0] + 64;
23504 pwrindex
[1] = idle_tssi
[1] - tssival
[1] + 64;
23506 if (pwrindex
[0] < 0) {
23508 } else if (pwrindex
[0] > 63) {
23512 if (pwrindex
[1] < 0) {
23514 } else if (pwrindex
[1] > 63) {
23518 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 1,
23519 (u32
) pwrindex
[0], 32, &qdBm_pwrbuf
[0]);
23520 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 1,
23521 (u32
) pwrindex
[1], 32, &qdBm_pwrbuf
[1]);
23524 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
)
23528 pi
->nphy_txcal_pwr_idx
[0] = pi
->nphy_cal_orig_pwr_idx
[0];
23529 pi
->nphy_txcal_pwr_idx
[1] = pi
->nphy_cal_orig_pwr_idx
[0];
23530 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], true);
23531 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], true);
23533 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23536 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23537 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F40;
23538 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F40;
23540 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F60;
23541 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F60;
23544 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23548 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
)
23550 bool save_bbmult
= false;
23551 u8 txcal_index_2057_rev5n7
= 0;
23552 u8 txcal_index_2057_rev3n4n6
= 10;
23554 if (pi
->use_int_tx_iqlo_cal_nphy
) {
23555 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23556 if ((pi
->pubpi
.radiorev
== 3) ||
23557 (pi
->pubpi
.radiorev
== 4) ||
23558 (pi
->pubpi
.radiorev
== 6)) {
23560 pi
->nphy_txcal_pwr_idx
[0] =
23561 txcal_index_2057_rev3n4n6
;
23562 pi
->nphy_txcal_pwr_idx
[1] =
23563 txcal_index_2057_rev3n4n6
;
23564 wlc_phy_txpwr_index_nphy(pi
, 3,
23565 txcal_index_2057_rev3n4n6
,
23569 pi
->nphy_txcal_pwr_idx
[0] =
23570 txcal_index_2057_rev5n7
;
23571 pi
->nphy_txcal_pwr_idx
[1] =
23572 txcal_index_2057_rev5n7
;
23573 wlc_phy_txpwr_index_nphy(pi
, 3,
23574 txcal_index_2057_rev5n7
,
23577 save_bbmult
= true;
23579 } else if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
23580 wlc_phy_cal_txgainctrl_nphy(pi
, 11, false);
23581 if (pi
->sh
->hw_phytxchain
!= 3) {
23582 pi
->nphy_txcal_pwr_idx
[1] =
23583 pi
->nphy_txcal_pwr_idx
[0];
23584 wlc_phy_txpwr_index_nphy(pi
, 3,
23586 nphy_txcal_pwr_idx
[0],
23588 save_bbmult
= true;
23591 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
23593 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23594 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23597 pi
->nphy_txcal_pwr_idx
[0] = 80;
23598 pi
->nphy_txcal_pwr_idx
[1] = 80;
23599 wlc_phy_txpwr_index_nphy(pi
, 3, 80,
23601 save_bbmult
= true;
23605 wlc_phy_internal_cal_txgain_nphy(pi
);
23606 save_bbmult
= true;
23609 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
23611 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23612 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23615 wlc_phy_cal_txgainctrl_nphy(pi
, 14,
23620 wlc_phy_internal_cal_txgain_nphy(pi
);
23621 save_bbmult
= true;
23626 wlc_phy_cal_txgainctrl_nphy(pi
, 10, false);
23630 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
23631 &pi
->nphy_txcal_bbmult
);
23636 wlc_phy_cal_txgainctrl_nphy(phy_info_t
*pi
, s32 dBm_targetpower
, bool debug
)
23638 int gainctrl_loopidx
;
23640 u16 m0m1
, curr_m0m1
;
23645 u16 phy_saveregs
[4];
23647 u16 ampl_test
= 250;
23649 bool phyhang_avoid_state
= false;
23651 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23659 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
23665 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], true);
23666 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], true);
23668 if (pi
->phyhang_avoid
)
23669 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
23671 phyhang_avoid_state
= pi
->phyhang_avoid
;
23672 pi
->phyhang_avoid
= false;
23674 phy_saveregs
[0] = read_phy_reg(pi
, 0x91);
23675 phy_saveregs
[1] = read_phy_reg(pi
, 0x92);
23676 phy_saveregs
[2] = read_phy_reg(pi
, 0xe7);
23677 phy_saveregs
[3] = read_phy_reg(pi
, 0xec);
23678 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 1,
23679 RADIO_MIMO_CORESEL_CORE1
|
23680 RADIO_MIMO_CORESEL_CORE2
);
23683 wlc_phy_rfctrlintc_override_nphy(pi
,
23684 NPHY_RfctrlIntc_override_TRSW
,
23685 0x2, RADIO_MIMO_CORESEL_CORE1
);
23686 wlc_phy_rfctrlintc_override_nphy(pi
,
23687 NPHY_RfctrlIntc_override_TRSW
,
23688 0x8, RADIO_MIMO_CORESEL_CORE2
);
23690 wlc_phy_rfctrlintc_override_nphy(pi
,
23691 NPHY_RfctrlIntc_override_TRSW
,
23692 0x1, RADIO_MIMO_CORESEL_CORE1
);
23693 wlc_phy_rfctrlintc_override_nphy(pi
,
23694 NPHY_RfctrlIntc_override_TRSW
,
23695 0x7, RADIO_MIMO_CORESEL_CORE2
);
23698 orig_BBConfig
= read_phy_reg(pi
, 0x01);
23699 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23701 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
23703 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
23704 txpwrindex
= (s32
) pi
->nphy_cal_orig_pwr_idx
[core
];
23706 for (gainctrl_loopidx
= 0; gainctrl_loopidx
< 2;
23707 gainctrl_loopidx
++) {
23708 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23711 if (core
== PHY_CORE_0
) {
23712 curr_m0m1
= m0m1
& 0xff00;
23714 curr_m0m1
= m0m1
& 0x00ff;
23717 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &curr_m0m1
);
23718 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &curr_m0m1
);
23722 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23723 NPHY_CAL_TSSISAMPS
);
23725 pi
->nphy_bb_mult_save
= 0;
23726 wlc_phy_stopplayback_nphy(pi
);
23728 delta_power
= (dBm_targetpower
* 4) - qdBm_power
[core
];
23730 txpwrindex
-= stepsize
* delta_power
;
23731 if (txpwrindex
< 0) {
23733 } else if (txpwrindex
> 127) {
23737 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
23738 if (NREV_IS(pi
->pubpi
.phy_rev
, 4) &&
23739 (pi
->srom_fem5g
.extpagain
== 3)) {
23740 if (txpwrindex
< 30) {
23745 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
23746 (pi
->srom_fem2g
.extpagain
== 3)) {
23747 if (txpwrindex
< 50) {
23753 wlc_phy_txpwr_index_nphy(pi
, (1 << core
),
23754 (u8
) txpwrindex
, true);
23757 pi
->nphy_txcal_pwr_idx
[core
] = (u8
) txpwrindex
;
23763 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23765 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23768 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23769 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &dbg_m0m1
);
23773 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23774 NPHY_CAL_TSSISAMPS
);
23776 wlc_phy_table_read_nphy(pi
, 7, 1, (0x110 + core
), 16,
23780 pi
->nphy_bb_mult_save
= 0;
23781 wlc_phy_stopplayback_nphy(pi
);
23785 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_txcal_pwr_idx
[0], true);
23786 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_txcal_pwr_idx
[1], true);
23788 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &pi
->nphy_txcal_bbmult
);
23790 write_phy_reg(pi
, 0x01, orig_BBConfig
);
23792 write_phy_reg(pi
, 0x91, phy_saveregs
[0]);
23793 write_phy_reg(pi
, 0x92, phy_saveregs
[1]);
23794 write_phy_reg(pi
, 0xe7, phy_saveregs
[2]);
23795 write_phy_reg(pi
, 0xec, phy_saveregs
[3]);
23797 pi
->phyhang_avoid
= phyhang_avoid_state
;
23799 if (pi
->phyhang_avoid
)
23800 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
23803 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, u16 core
)
23810 nphy_txiqcal_ladder_t ladder_lo
[] = {
23811 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23812 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23813 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23816 nphy_txiqcal_ladder_t ladder_iq
[] = {
23817 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23818 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23819 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23822 bbmult
= (core
== PHY_CORE_0
) ?
23823 ((pi
->nphy_txcal_bbmult
>> 8) & 0xff) : (pi
->
23824 nphy_txcal_bbmult
& 0xff);
23826 for (index
= 0; index
< 18; index
++) {
23827 bbmult_scale
= ladder_lo
[index
].percent
* bbmult
;
23828 bbmult_scale
/= 100;
23831 ((bbmult_scale
& 0xff) << 8) | ladder_lo
[index
].g_env
;
23832 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
, 16,
23835 bbmult_scale
= ladder_iq
[index
].percent
* bbmult
;
23836 bbmult_scale
/= 100;
23839 ((bbmult_scale
& 0xff) << 8) | ladder_iq
[index
].g_env
;
23840 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
+ 32,
23845 void wlc_phy_cal_perical_nphy_run(phy_info_t
*pi
, u8 caltype
)
23847 nphy_txgains_t target_gain
;
23848 u8 tx_pwr_ctrl_state
;
23849 bool fullcal
= true;
23850 bool restore_tx_gain
= false;
23853 if (NORADIO_ENAB(pi
->pubpi
)) {
23854 wlc_phy_cal_perical_mphase_reset(pi
);
23861 ASSERT(pi
->nphy_perical
!= PHY_PERICAL_DISABLE
);
23863 if (caltype
== PHY_PERICAL_AUTO
)
23864 fullcal
= (pi
->radio_chanspec
!= pi
->nphy_txiqlocal_chanspec
);
23865 else if (caltype
== PHY_PERICAL_PARTIAL
)
23868 if (pi
->cal_type_override
!= PHY_PERICAL_AUTO
) {
23870 (pi
->cal_type_override
== PHY_PERICAL_FULL
) ? true : false;
23873 if ((pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_INIT
)) {
23874 if (pi
->nphy_txiqlocal_chanspec
!= pi
->radio_chanspec
)
23875 wlc_phy_cal_perical_mphase_restart(pi
);
23878 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_RXCAL
)) {
23879 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
, 10000);
23882 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23884 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23886 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_IDLE
) ||
23887 (pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_INIT
)) {
23888 pi
->nphy_cal_orig_pwr_idx
[0] =
23889 (u8
) ((read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f);
23890 pi
->nphy_cal_orig_pwr_idx
[1] =
23891 (u8
) ((read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f);
23893 if (pi
->nphy_txpwrctrl
!= PHY_TPC_HW_OFF
) {
23894 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2,
23896 pi
->nphy_cal_orig_tx_gain
);
23898 pi
->nphy_cal_orig_tx_gain
[0] = 0;
23899 pi
->nphy_cal_orig_tx_gain
[1] = 0;
23902 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23903 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
23904 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
23906 if (pi
->antsel_type
== ANTSEL_2x3
)
23907 wlc_phy_antsel_init((wlc_phy_t
*) pi
, true);
23909 mphase
= (pi
->mphase_cal_phase_id
!= MPHASE_CAL_STATE_IDLE
);
23912 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23913 wlc_phy_precal_txgain_nphy(pi
);
23914 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23915 restore_tx_gain
= true;
23917 target_gain
= pi
->nphy_cal_target_gain
;
23920 wlc_phy_cal_txiqlo_nphy(pi
, target_gain
, fullcal
, mphase
)) {
23922 wlc_phy_a4(pi
, true);
23924 wlc_phyreg_exit((wlc_phy_t
*) pi
);
23925 wlapi_enable_mac(pi
->sh
->physhim
);
23926 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
,
23928 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23929 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23931 if (BCME_OK
== wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
23933 first_cal_after_assoc
23939 wlc_phy_savecal_nphy(pi
);
23941 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
23943 pi
->nphy_perical_last
= pi
->sh
->now
;
23946 if (caltype
!= PHY_PERICAL_AUTO
) {
23947 wlc_phy_rssi_cal_nphy(pi
);
23950 if (pi
->first_cal_after_assoc
23951 || (pi
->cal_type_override
== PHY_PERICAL_FULL
)) {
23952 pi
->first_cal_after_assoc
= false;
23953 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
23954 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
23957 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23958 wlc_phy_radio205x_vcocal_nphy(pi
);
23961 ASSERT(pi
->nphy_perical
>= PHY_PERICAL_MPHASE
);
23963 switch (pi
->mphase_cal_phase_id
) {
23964 case MPHASE_CAL_STATE_INIT
:
23965 pi
->nphy_perical_last
= pi
->sh
->now
;
23966 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
23968 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23969 wlc_phy_precal_txgain_nphy(pi
);
23971 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23972 pi
->mphase_cal_phase_id
++;
23975 case MPHASE_CAL_STATE_TXPHASE0
:
23976 case MPHASE_CAL_STATE_TXPHASE1
:
23977 case MPHASE_CAL_STATE_TXPHASE2
:
23978 case MPHASE_CAL_STATE_TXPHASE3
:
23979 case MPHASE_CAL_STATE_TXPHASE4
:
23980 case MPHASE_CAL_STATE_TXPHASE5
:
23981 if ((pi
->radar_percal_mask
& 0x10) != 0)
23982 pi
->nphy_rxcal_active
= true;
23984 if (wlc_phy_cal_txiqlo_nphy
23985 (pi
, pi
->nphy_cal_target_gain
, fullcal
,
23986 true) != BCME_OK
) {
23988 wlc_phy_cal_perical_mphase_reset(pi
);
23992 if (NREV_LE(pi
->pubpi
.phy_rev
, 2) &&
23993 (pi
->mphase_cal_phase_id
==
23994 MPHASE_CAL_STATE_TXPHASE4
)) {
23995 pi
->mphase_cal_phase_id
+= 2;
23997 pi
->mphase_cal_phase_id
++;
24001 case MPHASE_CAL_STATE_PAPDCAL
:
24002 if ((pi
->radar_percal_mask
& 0x2) != 0)
24003 pi
->nphy_rxcal_active
= true;
24006 wlc_phy_a4(pi
, true);
24008 pi
->mphase_cal_phase_id
++;
24011 case MPHASE_CAL_STATE_RXCAL
:
24012 if ((pi
->radar_percal_mask
& 0x1) != 0)
24013 pi
->nphy_rxcal_active
= true;
24014 if (wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
24015 (pi
->first_cal_after_assoc
||
24016 (pi
->cal_type_override
==
24017 PHY_PERICAL_FULL
)) ? 2 : 0,
24018 false) == BCME_OK
) {
24019 wlc_phy_savecal_nphy(pi
);
24022 pi
->mphase_cal_phase_id
++;
24025 case MPHASE_CAL_STATE_RSSICAL
:
24026 if ((pi
->radar_percal_mask
& 0x4) != 0)
24027 pi
->nphy_rxcal_active
= true;
24028 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
24029 wlc_phy_rssi_cal_nphy(pi
);
24031 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24032 wlc_phy_radio205x_vcocal_nphy(pi
);
24034 restore_tx_gain
= true;
24036 if (pi
->first_cal_after_assoc
) {
24037 pi
->mphase_cal_phase_id
++;
24039 wlc_phy_cal_perical_mphase_reset(pi
);
24044 case MPHASE_CAL_STATE_IDLETSSI
:
24045 if ((pi
->radar_percal_mask
& 0x8) != 0)
24046 pi
->nphy_rxcal_active
= true;
24048 if (pi
->first_cal_after_assoc
) {
24049 pi
->first_cal_after_assoc
= false;
24050 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
24051 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
24054 wlc_phy_cal_perical_mphase_reset(pi
);
24059 wlc_phy_cal_perical_mphase_reset(pi
);
24064 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24065 if (restore_tx_gain
) {
24066 if (tx_pwr_ctrl_state
!= PHY_TPC_HW_OFF
) {
24068 wlc_phy_txpwr_index_nphy(pi
, 1,
24070 nphy_cal_orig_pwr_idx
24072 wlc_phy_txpwr_index_nphy(pi
, 2,
24074 nphy_cal_orig_pwr_idx
24077 pi
->nphy_txpwrindex
[0].index
= -1;
24078 pi
->nphy_txpwrindex
[1].index
= -1;
24080 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
24086 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
24096 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
24097 wlc_phyreg_exit((wlc_phy_t
*) pi
);
24098 wlapi_enable_mac(pi
->sh
->physhim
);
24102 wlc_phy_cal_txiqlo_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
24103 bool fullcal
, bool mphase
)
24109 u8 num_cals
, max_cal_cmds
;
24110 u16 core_no
, cal_type
;
24117 nphy_iqcal_params_t cal_params
[2];
24120 bool ladder_updated
[2];
24121 u8 mphase_cal_lastphase
= 0;
24122 int bcmerror
= BCME_OK
;
24123 bool phyhang_avoid_state
= false;
24125 u16 tbl_tx_iqlo_cal_loft_ladder_20
[] = {
24126 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24128 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24132 u16 tbl_tx_iqlo_cal_iqimb_ladder_20
[] = {
24133 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24135 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24139 u16 tbl_tx_iqlo_cal_loft_ladder_40
[] = {
24140 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24142 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24146 u16 tbl_tx_iqlo_cal_iqimb_ladder_40
[] = {
24147 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24149 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24153 u16 tbl_tx_iqlo_cal_startcoefs
[] = {
24154 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24158 u16 tbl_tx_iqlo_cal_cmds_fullcal
[] = {
24159 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24160 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24163 u16 tbl_tx_iqlo_cal_cmds_recal
[] = {
24164 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24165 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24168 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3
[] = {
24169 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24170 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24174 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
[] = {
24175 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24176 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24179 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[] = {
24180 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24181 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24184 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
24186 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24187 phyhang_avoid_state
= pi
->phyhang_avoid
;
24188 pi
->phyhang_avoid
= false;
24191 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
24197 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
24199 for (core_no
= 0; core_no
<= 1; core_no
++) {
24200 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
24201 &cal_params
[core_no
]);
24202 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
24205 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
24207 wlc_phy_txcal_radio_setup_nphy(pi
);
24209 wlc_phy_txcal_physetup_nphy(pi
);
24211 ladder_updated
[0] = ladder_updated
[1] = false;
24212 if (!(NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24213 (NREV_IS(pi
->pubpi
.phy_rev
, 5) && PHY_IPA(pi
)
24214 && (CHSPEC_IS2G(pi
->radio_chanspec
))))) {
24216 if (phy_bw
== 40) {
24217 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_40
;
24218 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40
);
24220 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_20
;
24221 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20
);
24223 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 0,
24226 if (phy_bw
== 40) {
24227 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_40
;
24228 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40
);
24230 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_20
;
24231 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20
);
24233 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 32,
24237 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24238 write_phy_reg(pi
, 0xc2, 0x8ad9);
24240 write_phy_reg(pi
, 0xc2, 0x8aa9);
24244 tone_freq
= (phy_bw
== 20) ? 2500 : 5000;
24246 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24247 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff, 0, 1, 0, false);
24248 bcmerror
= BCME_OK
;
24251 wlc_phy_tx_tone_nphy(pi
, tone_freq
, max_val
, 1, 0, false);
24254 if (bcmerror
== BCME_OK
) {
24256 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24257 tbl_ptr
= pi
->mphase_txcal_bestcoeffs
;
24258 tbl_len
= ARRAY_SIZE(pi
->mphase_txcal_bestcoeffs
);
24259 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24264 if ((!fullcal
) && (pi
->nphy_txiqlocal_coeffsvalid
)) {
24266 tbl_ptr
= pi
->nphy_txiqlocal_bestc
;
24267 tbl_len
= ARRAY_SIZE(pi
->nphy_txiqlocal_bestc
);
24268 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24276 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24278 tbl_tx_iqlo_cal_startcoefs_nphyrev3
;
24281 (tbl_tx_iqlo_cal_startcoefs_nphyrev3
);
24283 tbl_ptr
= tbl_tx_iqlo_cal_startcoefs
;
24286 (tbl_tx_iqlo_cal_startcoefs
);
24290 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 64,
24294 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24295 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
) :
24296 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal
);
24298 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24299 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3
) :
24300 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal
);
24304 cal_cnt
= pi
->mphase_txcal_cmdidx
;
24305 if ((cal_cnt
+ pi
->mphase_txcal_numcmds
) < max_cal_cmds
) {
24306 num_cals
= cal_cnt
+ pi
->mphase_txcal_numcmds
;
24308 num_cals
= max_cal_cmds
;
24312 num_cals
= max_cal_cmds
;
24315 for (; cal_cnt
< num_cals
; cal_cnt
++) {
24318 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24319 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24321 tbl_tx_iqlo_cal_cmds_fullcal
[cal_cnt
];
24323 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24324 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[cal_cnt
]
24325 : tbl_tx_iqlo_cal_cmds_recal
[cal_cnt
];
24328 core_no
= ((cal_cmd
& 0x3000) >> 12);
24329 cal_type
= ((cal_cmd
& 0x0F00) >> 8);
24331 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24332 (NREV_IS(pi
->pubpi
.phy_rev
, 5) &&
24334 && (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
24335 if (!ladder_updated
[core_no
]) {
24336 wlc_phy_update_txcal_ladder_nphy(pi
,
24338 ladder_updated
[core_no
] = true;
24343 (cal_params
[core_no
].
24344 ncorr
[cal_type
] << 8) | NPHY_N_GCTL
;
24345 write_phy_reg(pi
, 0xc1, val
);
24347 if ((cal_type
== 1) || (cal_type
== 3)
24348 || (cal_type
== 4)) {
24350 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24351 1, 69 + core_no
, 16,
24354 diq_start
= tbl_buf
[0];
24357 wlc_phy_table_write_nphy(pi
,
24358 NPHY_TBL_ID_IQLOCAL
, 1,
24363 write_phy_reg(pi
, 0xc0, cal_cmd
);
24365 SPINWAIT(((read_phy_reg(pi
, 0xc0) & 0xc000) != 0),
24367 ASSERT((read_phy_reg(pi
, 0xc0) & 0xc000) == 0);
24369 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24370 tbl_len
, 96, 16, tbl_buf
);
24371 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24372 tbl_len
, 64, 16, tbl_buf
);
24374 if ((cal_type
== 1) || (cal_type
== 3)
24375 || (cal_type
== 4)) {
24377 tbl_buf
[0] = diq_start
;
24384 pi
->mphase_txcal_cmdidx
= num_cals
;
24385 if (pi
->mphase_txcal_cmdidx
>= max_cal_cmds
)
24386 pi
->mphase_txcal_cmdidx
= 0;
24389 mphase_cal_lastphase
=
24390 (NREV_LE(pi
->pubpi
.phy_rev
, 2)) ?
24391 MPHASE_CAL_STATE_TXPHASE4
: MPHASE_CAL_STATE_TXPHASE5
;
24394 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
)) {
24396 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 96,
24398 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24401 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24409 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24412 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 101,
24414 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24417 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24420 tbl_len
= ARRAY_SIZE(pi
->nphy_txiqlocal_bestc
);
24421 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24425 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24427 pi
->nphy_txiqlocal_bestc
);
24429 pi
->nphy_txiqlocal_coeffsvalid
= true;
24430 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
24432 tbl_len
= ARRAY_SIZE(pi
->mphase_txcal_bestcoeffs
);
24433 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24437 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24439 pi
->mphase_txcal_bestcoeffs
);
24442 wlc_phy_stopplayback_nphy(pi
);
24444 write_phy_reg(pi
, 0xc2, 0x0000);
24448 wlc_phy_txcal_phycleanup_nphy(pi
);
24450 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
24453 wlc_phy_txcal_radio_cleanup_nphy(pi
);
24455 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24457 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
))
24458 wlc_phy_tx_iq_war_nphy(pi
);
24461 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24462 pi
->phyhang_avoid
= phyhang_avoid_state
;
24465 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
24470 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
)
24474 ASSERT(NREV_LT(pi
->pubpi
.phy_rev
, 2));
24476 if ((pi
->nphy_txiqlocal_chanspec
== pi
->radio_chanspec
) &&
24477 (pi
->nphy_txiqlocal_coeffsvalid
)) {
24478 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24479 ARRAY_SIZE(tbl_buf
), 80, 16, tbl_buf
);
24481 if ((pi
->nphy_txiqlocal_bestc
[0] != tbl_buf
[0]) ||
24482 (pi
->nphy_txiqlocal_bestc
[1] != tbl_buf
[1]) ||
24483 (pi
->nphy_txiqlocal_bestc
[2] != tbl_buf
[2]) ||
24484 (pi
->nphy_txiqlocal_bestc
[3] != tbl_buf
[3])) {
24486 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24487 16, pi
->nphy_txiqlocal_bestc
);
24493 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24496 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24498 &pi
->nphy_txiqlocal_bestc
[5]);
24500 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24502 &pi
->nphy_txiqlocal_bestc
[5]);
24507 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
)
24509 nphy_iq_comp_t tx_comp
;
24511 wlc_phy_table_read_nphy(pi
, 15, 4, 0x50, 16, (void *)&tx_comp
);
24513 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
, tx_comp
.a0
);
24514 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 2, tx_comp
.b0
);
24515 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 4, tx_comp
.a1
);
24516 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 6, tx_comp
.b1
);
24520 wlc_phy_rx_iq_coeffs_nphy(phy_info_t
*pi
, u8 write
, nphy_iq_comp_t
*pcomp
)
24523 write_phy_reg(pi
, 0x9a, pcomp
->a0
);
24524 write_phy_reg(pi
, 0x9b, pcomp
->b0
);
24525 write_phy_reg(pi
, 0x9c, pcomp
->a1
);
24526 write_phy_reg(pi
, 0x9d, pcomp
->b1
);
24528 pcomp
->a0
= read_phy_reg(pi
, 0x9a);
24529 pcomp
->b0
= read_phy_reg(pi
, 0x9b);
24530 pcomp
->a1
= read_phy_reg(pi
, 0x9c);
24531 pcomp
->b1
= read_phy_reg(pi
, 0x9d);
24536 wlc_phy_rx_iq_est_nphy(phy_info_t
*pi
, phy_iq_est_t
*est
, u16 num_samps
,
24537 u8 wait_time
, u8 wait_for_crs
)
24541 write_phy_reg(pi
, 0x12b, num_samps
);
24542 mod_phy_reg(pi
, 0x12a, (0xff << 0), (wait_time
<< 0));
24543 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqMode
,
24544 (wait_for_crs
) ? NPHY_IqestCmd_iqMode
: 0);
24546 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqstart
, NPHY_IqestCmd_iqstart
);
24548 SPINWAIT(((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) != 0),
24550 ASSERT((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0);
24552 if ((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0) {
24553 ASSERT(pi
->pubpi
.phy_corenum
<= PHY_CORE_MAX
);
24554 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
24556 (read_phy_reg(pi
, NPHY_IqestipwrAccHi(core
)) << 16)
24557 | read_phy_reg(pi
, NPHY_IqestipwrAccLo(core
));
24559 (read_phy_reg(pi
, NPHY_IqestqpwrAccHi(core
)) << 16)
24560 | read_phy_reg(pi
, NPHY_IqestqpwrAccLo(core
));
24561 est
[core
].iq_prod
=
24562 (read_phy_reg(pi
, NPHY_IqestIqAccHi(core
)) << 16) |
24563 read_phy_reg(pi
, NPHY_IqestIqAccLo(core
));
24568 #define CAL_RETRY_CNT 2
24569 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t
*pi
, u8 core_mask
)
24572 phy_iq_est_t est
[PHY_CORE_MAX
];
24573 nphy_iq_comp_t old_comp
, new_comp
;
24575 u32 ii
= 0, qq
= 0;
24576 s16 iq_nbits
, qq_nbits
, brsh
, arsh
;
24578 int bcmerror
= BCME_OK
;
24579 uint cal_retry
= 0;
24581 if (core_mask
== 0x0)
24584 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &old_comp
);
24585 new_comp
.a0
= new_comp
.b0
= new_comp
.a1
= new_comp
.b1
= 0x0;
24586 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24589 wlc_phy_rx_iq_est_nphy(pi
, est
, 0x4000, 32, 0);
24591 new_comp
= old_comp
;
24593 for (curr_core
= 0; curr_core
< pi
->pubpi
.phy_corenum
; curr_core
++) {
24595 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24596 iq
= est
[curr_core
].iq_prod
;
24597 ii
= est
[curr_core
].i_pwr
;
24598 qq
= est
[curr_core
].q_pwr
;
24599 } else if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24600 iq
= est
[curr_core
].iq_prod
;
24601 ii
= est
[curr_core
].i_pwr
;
24602 qq
= est
[curr_core
].q_pwr
;
24607 if ((ii
+ qq
) < NPHY_MIN_RXIQ_PWR
) {
24608 bcmerror
= BCME_ERROR
;
24612 iq_nbits
= wlc_phy_nbits(iq
);
24613 qq_nbits
= wlc_phy_nbits(qq
);
24615 arsh
= 10 - (30 - iq_nbits
);
24617 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
>> (1 + arsh
)));
24618 temp
= (s32
) (ii
>> arsh
);
24620 bcmerror
= BCME_ERROR
;
24624 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
<< (-1 - arsh
)));
24625 temp
= (s32
) (ii
<< -arsh
);
24627 bcmerror
= BCME_ERROR
;
24634 brsh
= qq_nbits
- 31 + 20;
24636 b
= (qq
<< (31 - qq_nbits
));
24637 temp
= (s32
) (ii
>> brsh
);
24639 bcmerror
= BCME_ERROR
;
24643 b
= (qq
<< (31 - qq_nbits
));
24644 temp
= (s32
) (ii
<< -brsh
);
24646 bcmerror
= BCME_ERROR
;
24652 b
= (s32
) wlc_phy_sqrt_int((u32
) b
);
24655 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24656 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24657 new_comp
.a0
= (s16
) a
& 0x3ff;
24658 new_comp
.b0
= (s16
) b
& 0x3ff;
24661 new_comp
.a0
= (s16
) b
& 0x3ff;
24662 new_comp
.b0
= (s16
) a
& 0x3ff;
24665 if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24666 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24667 new_comp
.a1
= (s16
) a
& 0x3ff;
24668 new_comp
.b1
= (s16
) b
& 0x3ff;
24671 new_comp
.a1
= (s16
) b
& 0x3ff;
24672 new_comp
.b1
= (s16
) a
& 0x3ff;
24677 if (bcmerror
!= BCME_OK
) {
24678 printk("%s: Failed, cnt = %d\n", __func__
, cal_retry
);
24680 if (cal_retry
< CAL_RETRY_CNT
) {
24685 new_comp
= old_comp
;
24686 } else if (cal_retry
> 0) {
24689 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24692 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t
*pi
, u8 rx_core
)
24698 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24699 if (rx_core
== PHY_CORE_0
) {
24700 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24701 pi
->tx_rx_cal_radio_saveregs
[0] =
24703 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
);
24704 pi
->tx_rx_cal_radio_saveregs
[1] =
24706 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
);
24708 write_radio_reg(pi
,
24709 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24711 write_radio_reg(pi
,
24712 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
24716 pi
->tx_rx_cal_radio_saveregs
[0] =
24718 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
);
24719 pi
->tx_rx_cal_radio_saveregs
[1] =
24721 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
);
24723 write_radio_reg(pi
,
24724 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
24726 write_radio_reg(pi
,
24727 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
24732 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24733 pi
->tx_rx_cal_radio_saveregs
[0] =
24735 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
);
24736 pi
->tx_rx_cal_radio_saveregs
[1] =
24738 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
);
24740 write_radio_reg(pi
,
24741 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
24743 write_radio_reg(pi
,
24744 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
24748 pi
->tx_rx_cal_radio_saveregs
[0] =
24750 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
);
24751 pi
->tx_rx_cal_radio_saveregs
[1] =
24753 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
);
24755 write_radio_reg(pi
,
24756 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
24758 write_radio_reg(pi
,
24759 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
24765 if (rx_core
== PHY_CORE_0
) {
24766 pi
->tx_rx_cal_radio_saveregs
[0] =
24768 RADIO_2056_TX_RXIQCAL_TXMUX
|
24770 pi
->tx_rx_cal_radio_saveregs
[1] =
24772 RADIO_2056_RX_RXIQCAL_RXMUX
|
24775 if (pi
->pubpi
.radiorev
>= 5) {
24776 pi
->tx_rx_cal_radio_saveregs
[2] =
24778 RADIO_2056_RX_RXSPARE2
|
24780 pi
->tx_rx_cal_radio_saveregs
[3] =
24782 RADIO_2056_TX_TXSPARE2
|
24786 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24788 if (pi
->pubpi
.radiorev
>= 5) {
24789 pi
->tx_rx_cal_radio_saveregs
[4] =
24791 RADIO_2056_RX_LNAA_MASTER
24794 write_radio_reg(pi
,
24795 RADIO_2056_RX_LNAA_MASTER
24796 | RADIO_2056_RX0
, 0x40);
24798 write_radio_reg(pi
,
24799 RADIO_2056_TX_TXSPARE2
|
24800 RADIO_2056_TX1
, bias_a
);
24802 write_radio_reg(pi
,
24803 RADIO_2056_RX_RXSPARE2
|
24804 RADIO_2056_RX0
, bias_a
);
24806 pi
->tx_rx_cal_radio_saveregs
[4] =
24808 RADIO_2056_RX_LNAA_TUNE
24813 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24816 (offtune_val
<= 0x7) ? 0xF : 0;
24819 RADIO_2056_RX_LNAA_TUNE
|
24820 RADIO_2056_RX0
, 0xF0,
24821 (offtune_val
<< 8));
24824 write_radio_reg(pi
,
24825 RADIO_2056_TX_RXIQCAL_TXMUX
|
24826 RADIO_2056_TX1
, 0x9);
24827 write_radio_reg(pi
,
24828 RADIO_2056_RX_RXIQCAL_RXMUX
|
24829 RADIO_2056_RX0
, 0x9);
24831 if (pi
->pubpi
.radiorev
>= 5) {
24832 pi
->tx_rx_cal_radio_saveregs
[4] =
24834 RADIO_2056_RX_LNAG_MASTER
24837 write_radio_reg(pi
,
24838 RADIO_2056_RX_LNAG_MASTER
24839 | RADIO_2056_RX0
, 0x40);
24841 write_radio_reg(pi
,
24842 RADIO_2056_TX_TXSPARE2
|
24843 RADIO_2056_TX1
, bias_g
);
24845 write_radio_reg(pi
,
24846 RADIO_2056_RX_RXSPARE2
|
24847 RADIO_2056_RX0
, bias_g
);
24850 pi
->tx_rx_cal_radio_saveregs
[4] =
24852 RADIO_2056_RX_LNAG_TUNE
24857 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24860 (offtune_val
<= 0x7) ? 0xF : 0;
24863 RADIO_2056_RX_LNAG_TUNE
|
24864 RADIO_2056_RX0
, 0xF0,
24865 (offtune_val
<< 8));
24868 write_radio_reg(pi
,
24869 RADIO_2056_TX_RXIQCAL_TXMUX
|
24870 RADIO_2056_TX1
, 0x6);
24871 write_radio_reg(pi
,
24872 RADIO_2056_RX_RXIQCAL_RXMUX
|
24873 RADIO_2056_RX0
, 0x6);
24877 pi
->tx_rx_cal_radio_saveregs
[0] =
24879 RADIO_2056_TX_RXIQCAL_TXMUX
|
24881 pi
->tx_rx_cal_radio_saveregs
[1] =
24883 RADIO_2056_RX_RXIQCAL_RXMUX
|
24886 if (pi
->pubpi
.radiorev
>= 5) {
24887 pi
->tx_rx_cal_radio_saveregs
[2] =
24889 RADIO_2056_RX_RXSPARE2
|
24891 pi
->tx_rx_cal_radio_saveregs
[3] =
24893 RADIO_2056_TX_TXSPARE2
|
24897 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24899 if (pi
->pubpi
.radiorev
>= 5) {
24900 pi
->tx_rx_cal_radio_saveregs
[4] =
24902 RADIO_2056_RX_LNAA_MASTER
24905 write_radio_reg(pi
,
24906 RADIO_2056_RX_LNAA_MASTER
24907 | RADIO_2056_RX1
, 0x40);
24909 write_radio_reg(pi
,
24910 RADIO_2056_TX_TXSPARE2
|
24911 RADIO_2056_TX0
, bias_a
);
24913 write_radio_reg(pi
,
24914 RADIO_2056_RX_RXSPARE2
|
24915 RADIO_2056_RX1
, bias_a
);
24917 pi
->tx_rx_cal_radio_saveregs
[4] =
24919 RADIO_2056_RX_LNAA_TUNE
24924 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24927 (offtune_val
<= 0x7) ? 0xF : 0;
24930 RADIO_2056_RX_LNAA_TUNE
|
24931 RADIO_2056_RX1
, 0xF0,
24932 (offtune_val
<< 8));
24935 write_radio_reg(pi
,
24936 RADIO_2056_TX_RXIQCAL_TXMUX
|
24937 RADIO_2056_TX0
, 0x9);
24938 write_radio_reg(pi
,
24939 RADIO_2056_RX_RXIQCAL_RXMUX
|
24940 RADIO_2056_RX1
, 0x9);
24942 if (pi
->pubpi
.radiorev
>= 5) {
24943 pi
->tx_rx_cal_radio_saveregs
[4] =
24945 RADIO_2056_RX_LNAG_MASTER
24948 write_radio_reg(pi
,
24949 RADIO_2056_RX_LNAG_MASTER
24950 | RADIO_2056_RX1
, 0x40);
24952 write_radio_reg(pi
,
24953 RADIO_2056_TX_TXSPARE2
|
24954 RADIO_2056_TX0
, bias_g
);
24956 write_radio_reg(pi
,
24957 RADIO_2056_RX_RXSPARE2
|
24958 RADIO_2056_RX1
, bias_g
);
24960 pi
->tx_rx_cal_radio_saveregs
[4] =
24962 RADIO_2056_RX_LNAG_TUNE
24967 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24970 (offtune_val
<= 0x7) ? 0xF : 0;
24973 RADIO_2056_RX_LNAG_TUNE
|
24974 RADIO_2056_RX1
, 0xF0,
24975 (offtune_val
<< 8));
24978 write_radio_reg(pi
,
24979 RADIO_2056_TX_RXIQCAL_TXMUX
|
24980 RADIO_2056_TX0
, 0x6);
24981 write_radio_reg(pi
,
24982 RADIO_2056_RX_RXIQCAL_RXMUX
|
24983 RADIO_2056_RX1
, 0x6);
24989 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
24991 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24992 if (rx_core
== PHY_CORE_0
) {
24993 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24994 write_radio_reg(pi
,
24995 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24997 tx_rx_cal_radio_saveregs
[0]);
24998 write_radio_reg(pi
,
24999 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
25001 tx_rx_cal_radio_saveregs
[1]);
25004 write_radio_reg(pi
,
25005 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
25007 tx_rx_cal_radio_saveregs
[0]);
25008 write_radio_reg(pi
,
25009 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
25011 tx_rx_cal_radio_saveregs
[1]);
25015 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25016 write_radio_reg(pi
,
25017 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
25019 tx_rx_cal_radio_saveregs
[0]);
25020 write_radio_reg(pi
,
25021 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
25023 tx_rx_cal_radio_saveregs
[1]);
25026 write_radio_reg(pi
,
25027 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
25029 tx_rx_cal_radio_saveregs
[0]);
25030 write_radio_reg(pi
,
25031 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
25033 tx_rx_cal_radio_saveregs
[1]);
25038 if (rx_core
== PHY_CORE_0
) {
25039 write_radio_reg(pi
,
25040 RADIO_2056_TX_RXIQCAL_TXMUX
|
25042 pi
->tx_rx_cal_radio_saveregs
[0]);
25044 write_radio_reg(pi
,
25045 RADIO_2056_RX_RXIQCAL_RXMUX
|
25047 pi
->tx_rx_cal_radio_saveregs
[1]);
25049 if (pi
->pubpi
.radiorev
>= 5) {
25050 write_radio_reg(pi
,
25051 RADIO_2056_RX_RXSPARE2
|
25054 tx_rx_cal_radio_saveregs
[2]);
25056 write_radio_reg(pi
,
25057 RADIO_2056_TX_TXSPARE2
|
25060 tx_rx_cal_radio_saveregs
[3]);
25063 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25064 if (pi
->pubpi
.radiorev
>= 5) {
25065 write_radio_reg(pi
,
25066 RADIO_2056_RX_LNAA_MASTER
25069 tx_rx_cal_radio_saveregs
25072 write_radio_reg(pi
,
25073 RADIO_2056_RX_LNAA_TUNE
25076 tx_rx_cal_radio_saveregs
25080 if (pi
->pubpi
.radiorev
>= 5) {
25081 write_radio_reg(pi
,
25082 RADIO_2056_RX_LNAG_MASTER
25085 tx_rx_cal_radio_saveregs
25088 write_radio_reg(pi
,
25089 RADIO_2056_RX_LNAG_TUNE
25092 tx_rx_cal_radio_saveregs
25098 write_radio_reg(pi
,
25099 RADIO_2056_TX_RXIQCAL_TXMUX
|
25101 pi
->tx_rx_cal_radio_saveregs
[0]);
25103 write_radio_reg(pi
,
25104 RADIO_2056_RX_RXIQCAL_RXMUX
|
25106 pi
->tx_rx_cal_radio_saveregs
[1]);
25108 if (pi
->pubpi
.radiorev
>= 5) {
25109 write_radio_reg(pi
,
25110 RADIO_2056_RX_RXSPARE2
|
25113 tx_rx_cal_radio_saveregs
[2]);
25115 write_radio_reg(pi
,
25116 RADIO_2056_TX_TXSPARE2
|
25119 tx_rx_cal_radio_saveregs
[3]);
25122 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25123 if (pi
->pubpi
.radiorev
>= 5) {
25124 write_radio_reg(pi
,
25125 RADIO_2056_RX_LNAA_MASTER
25128 tx_rx_cal_radio_saveregs
25131 write_radio_reg(pi
,
25132 RADIO_2056_RX_LNAA_TUNE
25135 tx_rx_cal_radio_saveregs
25139 if (pi
->pubpi
.radiorev
>= 5) {
25140 write_radio_reg(pi
,
25141 RADIO_2056_RX_LNAG_MASTER
25144 tx_rx_cal_radio_saveregs
25147 write_radio_reg(pi
,
25148 RADIO_2056_RX_LNAG_TUNE
25151 tx_rx_cal_radio_saveregs
25159 static void wlc_phy_rxcal_physetup_nphy(phy_info_t
*pi
, u8 rx_core
)
25162 u16 rx_antval
, tx_antval
;
25164 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25168 tx_core
= (rx_core
== PHY_CORE_0
) ? 1 : 0;
25171 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa2);
25172 pi
->tx_rx_cal_phy_saveregs
[1] =
25173 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7);
25174 pi
->tx_rx_cal_phy_saveregs
[2] =
25175 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5);
25176 pi
->tx_rx_cal_phy_saveregs
[3] = read_phy_reg(pi
, 0x91);
25177 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x92);
25178 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x7a);
25179 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x7d);
25180 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0xe7);
25181 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0xec);
25182 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25183 pi
->tx_rx_cal_phy_saveregs
[11] = read_phy_reg(pi
, 0x342);
25184 pi
->tx_rx_cal_phy_saveregs
[12] = read_phy_reg(pi
, 0x343);
25185 pi
->tx_rx_cal_phy_saveregs
[13] = read_phy_reg(pi
, 0x346);
25186 pi
->tx_rx_cal_phy_saveregs
[14] = read_phy_reg(pi
, 0x347);
25189 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
25190 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
25191 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
25192 0x29b, (0x1 << 0), (0) << 0);
25194 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
25195 0x29b, (0x1 << 0), (0) << 0);
25197 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25199 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25201 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << (1 - rx_core
)) << 12);
25205 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25206 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25207 mod_phy_reg(pi
, 0xa2, (0xf << 4), (1 << rx_core
) << 4);
25208 mod_phy_reg(pi
, 0xa2, (0xf << 8), (1 << rx_core
) << 8);
25211 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25212 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25213 (0x1 << 2), (0x1 << 2));
25214 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25215 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25216 (0x1 << 0) | (0x1 << 1), 0);
25217 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25219 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25222 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 0,
25223 RADIO_MIMO_CORESEL_CORE1
|
25224 RADIO_MIMO_CORESEL_CORE2
);
25226 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25227 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
25229 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
25230 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 0, 0, 0,
25231 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25232 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 1, 0, 0,
25233 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25234 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 1, 0, 0,
25235 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25236 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0, 0,
25237 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
25238 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0, 0,
25239 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25240 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25241 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25244 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25246 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25249 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25251 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
25253 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25254 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0, 0,
25255 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25257 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 3, 0);
25260 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
25262 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25264 wlc_phy_rfctrlintc_override_nphy(pi
,
25265 NPHY_RfctrlIntc_override_TRSW
,
25269 if (rx_core
== PHY_CORE_0
) {
25277 wlc_phy_rfctrlintc_override_nphy(pi
,
25278 NPHY_RfctrlIntc_override_TRSW
,
25279 rx_antval
, rx_core
+ 1);
25280 wlc_phy_rfctrlintc_override_nphy(pi
,
25281 NPHY_RfctrlIntc_override_TRSW
,
25282 tx_antval
, tx_core
+ 1);
25286 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
25289 write_phy_reg(pi
, 0xa2, pi
->tx_rx_cal_phy_saveregs
[0]);
25290 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7,
25291 pi
->tx_rx_cal_phy_saveregs
[1]);
25292 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25293 pi
->tx_rx_cal_phy_saveregs
[2]);
25294 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[3]);
25295 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[4]);
25297 write_phy_reg(pi
, 0x7a, pi
->tx_rx_cal_phy_saveregs
[5]);
25298 write_phy_reg(pi
, 0x7d, pi
->tx_rx_cal_phy_saveregs
[6]);
25299 write_phy_reg(pi
, 0xe7, pi
->tx_rx_cal_phy_saveregs
[7]);
25300 write_phy_reg(pi
, 0xec, pi
->tx_rx_cal_phy_saveregs
[8]);
25301 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25302 write_phy_reg(pi
, 0x342, pi
->tx_rx_cal_phy_saveregs
[11]);
25303 write_phy_reg(pi
, 0x343, pi
->tx_rx_cal_phy_saveregs
[12]);
25304 write_phy_reg(pi
, 0x346, pi
->tx_rx_cal_phy_saveregs
[13]);
25305 write_phy_reg(pi
, 0x347, pi
->tx_rx_cal_phy_saveregs
[14]);
25308 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
25309 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
25313 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rx_core
,
25314 u16
*rxgain
, u8 cal_type
)
25318 phy_iq_est_t est
[PHY_CORE_MAX
];
25320 nphy_iq_comp_t save_comp
, zero_comp
;
25321 u32 i_pwr
, q_pwr
, curr_pwr
, optim_pwr
= 0, prev_pwr
= 0, thresh_pwr
=
25323 s16 desired_log2_pwr
, actual_log2_pwr
, delta_pwr
;
25324 bool gainctrl_done
= false;
25325 u8 mix_tia_gain
= 3;
25326 s8 optim_gaintbl_index
= 0, prev_gaintbl_index
= 0;
25327 s8 curr_gaintbl_index
= 3;
25328 u8 gainctrl_dirn
= NPHY_RXCAL_GAIN_INIT
;
25329 nphy_ipa_txrxgain_t
*nphy_rxcal_gaintbl
;
25330 u16 hpvga
, lpf_biq1
, lpf_biq0
, lna2
, lna1
;
25333 u16 nphy_rxcal_txgain
[2];
25335 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25339 tx_core
= 1 - rx_core
;
25343 desired_log2_pwr
= (cal_type
== 0) ? 13 : 13;
25345 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &save_comp
);
25346 zero_comp
.a0
= zero_comp
.b0
= zero_comp
.a1
= zero_comp
.b1
= 0x0;
25347 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &zero_comp
);
25349 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25350 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25352 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25357 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25358 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz_rev7
;
25360 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz
;
25363 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25364 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz_rev7
;
25366 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz
;
25372 hpvga
= (NREV_GE(pi
->pubpi
.phy_rev
, 7)) ?
25373 0 : nphy_rxcal_gaintbl
[curr_gaintbl_index
].hpvga
;
25374 lpf_biq1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq1
;
25375 lpf_biq0
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq0
;
25376 lna2
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna2
;
25377 lna1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna1
;
25378 txpwrindex
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].txpwrindex
;
25380 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25381 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25382 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25383 ((lpf_biq1
<< 12) |
25389 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25393 (mix_tia_gain
<< 4) |
25394 (lna2
<< 2) | lna1
), 0x3,
25398 pi
->nphy_rxcal_pwr_idx
[tx_core
] = txpwrindex
;
25400 if (txpwrindex
== -1) {
25401 nphy_rxcal_txgain
[0] = 0x8ff0 | pi
->nphy_gmval
;
25402 nphy_rxcal_txgain
[1] = 0x8ff0 | pi
->nphy_gmval
;
25403 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
25405 nphy_rxcal_txgain
);
25407 wlc_phy_txpwr_index_nphy(pi
, tx_core
+ 1, txpwrindex
,
25411 wlc_phy_tx_tone_nphy(pi
, (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25412 NPHY_RXCAL_TONEFREQ_40MHz
:
25413 NPHY_RXCAL_TONEFREQ_20MHz
,
25414 NPHY_RXCAL_TONEAMP
, 0, cal_type
, false);
25416 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25417 i_pwr
= (est
[rx_core
].i_pwr
+ num_samps
/ 2) / num_samps
;
25418 q_pwr
= (est
[rx_core
].q_pwr
+ num_samps
/ 2) / num_samps
;
25419 curr_pwr
= i_pwr
+ q_pwr
;
25421 switch (gainctrl_dirn
) {
25422 case NPHY_RXCAL_GAIN_INIT
:
25423 if (curr_pwr
> thresh_pwr
) {
25424 gainctrl_dirn
= NPHY_RXCAL_GAIN_DOWN
;
25425 prev_gaintbl_index
= curr_gaintbl_index
;
25426 curr_gaintbl_index
--;
25428 gainctrl_dirn
= NPHY_RXCAL_GAIN_UP
;
25429 prev_gaintbl_index
= curr_gaintbl_index
;
25430 curr_gaintbl_index
++;
25434 case NPHY_RXCAL_GAIN_UP
:
25435 if (curr_pwr
> thresh_pwr
) {
25436 gainctrl_done
= true;
25437 optim_pwr
= prev_pwr
;
25438 optim_gaintbl_index
= prev_gaintbl_index
;
25440 prev_gaintbl_index
= curr_gaintbl_index
;
25441 curr_gaintbl_index
++;
25445 case NPHY_RXCAL_GAIN_DOWN
:
25446 if (curr_pwr
> thresh_pwr
) {
25447 prev_gaintbl_index
= curr_gaintbl_index
;
25448 curr_gaintbl_index
--;
25450 gainctrl_done
= true;
25451 optim_pwr
= curr_pwr
;
25452 optim_gaintbl_index
= curr_gaintbl_index
;
25460 if ((curr_gaintbl_index
< 0) ||
25461 (curr_gaintbl_index
> NPHY_IPA_RXCAL_MAXGAININDEX
)) {
25462 gainctrl_done
= true;
25463 optim_pwr
= curr_pwr
;
25464 optim_gaintbl_index
= prev_gaintbl_index
;
25466 prev_pwr
= curr_pwr
;
25469 wlc_phy_stopplayback_nphy(pi
);
25470 } while (!gainctrl_done
);
25472 hpvga
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].hpvga
;
25473 lpf_biq1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq1
;
25474 lpf_biq0
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq0
;
25475 lna2
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna2
;
25476 lna1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna1
;
25477 txpwrindex
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].txpwrindex
;
25479 actual_log2_pwr
= wlc_phy_nbits(optim_pwr
);
25480 delta_pwr
= desired_log2_pwr
- actual_log2_pwr
;
25482 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25483 fine_gain_idx
= (int)lpf_biq1
+ delta_pwr
;
25485 if (fine_gain_idx
+ (int)lpf_biq0
> 10) {
25486 lpf_biq1
= 10 - lpf_biq0
;
25488 lpf_biq1
= (u16
) max(fine_gain_idx
, 0);
25490 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25491 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25492 ((lpf_biq1
<< 12) |
25494 (mix_tia_gain
<< 4) |
25495 (lna2
<< 2) | lna1
), 0x3,
25498 hpvga
= (u16
) max(min(((int)hpvga
) + delta_pwr
, 10), 0);
25499 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25500 ((hpvga
<< 12) | (lpf_biq1
<< 10) |
25501 (lpf_biq0
<< 8) | (mix_tia_gain
<<
25508 if (rxgain
!= NULL
) {
25511 *rxgain
++ = mix_tia_gain
;
25512 *rxgain
++ = lpf_biq0
;
25513 *rxgain
++ = lpf_biq1
;
25517 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &save_comp
);
25521 wlc_phy_rxcal_gainctrl_nphy(phy_info_t
*pi
, u8 rx_core
, u16
*rxgain
,
25524 wlc_phy_rxcal_gainctrl_nphy_rev5(pi
, rx_core
, rxgain
, cal_type
);
25528 wlc_phy_rc_sweep_nphy(phy_info_t
*pi
, u8 core_idx
, u8 loopback_type
)
25530 u32 target_bws
[2] = { 9500, 21000 };
25531 u32 ref_tones
[2] = { 3000, 6000 };
25532 u32 target_bw
, ref_tone
;
25534 u32 target_pwr_ratios
[2] = { 28606, 18468 };
25535 u32 target_pwr_ratio
, pwr_ratio
, last_pwr_ratio
= 0;
25537 u16 start_rccal_ovr_val
= 128;
25538 u16 txlpf_rccal_lpc_ovr_val
= 128;
25539 u16 rxlpf_rccal_hpc_ovr_val
= 159;
25541 u16 orig_txlpf_rccal_lpc_ovr_val
;
25542 u16 orig_rxlpf_rccal_hpc_ovr_val
;
25543 u16 radio_addr_offset_rx
;
25544 u16 radio_addr_offset_tx
;
25546 u16 orig_RxStrnFilt40Num
[6];
25547 u16 orig_RxStrnFilt40Den
[4];
25548 u16 orig_rfctrloverride
[2];
25549 u16 orig_rfctrlauxreg
[2];
25550 u16 orig_rfctrlrssiothers
;
25553 u16 rx_lpf_bw
, rx_lpf_bws
[2] = { 2, 4 };
25554 u16 lpf_hpc
= 7, hpvga_hpc
= 7;
25557 u16 rccal_val
, last_rccal_val
= 0, best_rccal_val
= 0;
25558 u32 ref_iq_vals
= 0, target_iq_vals
= 0;
25559 u16 num_samps
, log_num_samps
= 10;
25560 phy_iq_est_t est
[PHY_CORE_MAX
];
25562 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25566 num_samps
= (1 << log_num_samps
);
25568 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25569 target_bw
= target_bws
[1];
25570 target_pwr_ratio
= target_pwr_ratios
[1];
25571 ref_tone
= ref_tones
[1];
25572 rx_lpf_bw
= rx_lpf_bws
[1];
25574 target_bw
= target_bws
[0];
25575 target_pwr_ratio
= target_pwr_ratios
[0];
25576 ref_tone
= ref_tones
[0];
25577 rx_lpf_bw
= rx_lpf_bws
[0];
25580 if (core_idx
== 0) {
25581 radio_addr_offset_rx
= RADIO_2056_RX0
;
25582 radio_addr_offset_tx
=
25583 (loopback_type
== 0) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
25585 radio_addr_offset_rx
= RADIO_2056_RX1
;
25586 radio_addr_offset_tx
=
25587 (loopback_type
== 0) ? RADIO_2056_TX1
: RADIO_2056_TX0
;
25590 orig_txlpf_rccal_lpc_ovr_val
=
25592 (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
));
25593 orig_rxlpf_rccal_hpc_ovr_val
=
25595 (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25596 radio_addr_offset_rx
));
25598 orig_dcBypass
= ((read_phy_reg(pi
, 0x48) >> 8) & 1);
25600 orig_RxStrnFilt40Num
[0] = read_phy_reg(pi
, 0x267);
25601 orig_RxStrnFilt40Num
[1] = read_phy_reg(pi
, 0x268);
25602 orig_RxStrnFilt40Num
[2] = read_phy_reg(pi
, 0x269);
25603 orig_RxStrnFilt40Den
[0] = read_phy_reg(pi
, 0x26a);
25604 orig_RxStrnFilt40Den
[1] = read_phy_reg(pi
, 0x26b);
25605 orig_RxStrnFilt40Num
[3] = read_phy_reg(pi
, 0x26c);
25606 orig_RxStrnFilt40Num
[4] = read_phy_reg(pi
, 0x26d);
25607 orig_RxStrnFilt40Num
[5] = read_phy_reg(pi
, 0x26e);
25608 orig_RxStrnFilt40Den
[2] = read_phy_reg(pi
, 0x26f);
25609 orig_RxStrnFilt40Den
[3] = read_phy_reg(pi
, 0x270);
25611 orig_rfctrloverride
[0] = read_phy_reg(pi
, 0xe7);
25612 orig_rfctrloverride
[1] = read_phy_reg(pi
, 0xec);
25613 orig_rfctrlauxreg
[0] = read_phy_reg(pi
, 0xf8);
25614 orig_rfctrlauxreg
[1] = read_phy_reg(pi
, 0xfa);
25615 orig_rfctrlrssiothers
= read_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d);
25617 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25618 txlpf_rccal_lpc_ovr_val
);
25620 write_radio_reg(pi
,
25621 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25622 rxlpf_rccal_hpc_ovr_val
);
25624 mod_phy_reg(pi
, 0x48, (0x1 << 8), (0x1 << 8));
25626 write_phy_reg(pi
, 0x267, 0x02d4);
25627 write_phy_reg(pi
, 0x268, 0x0000);
25628 write_phy_reg(pi
, 0x269, 0x0000);
25629 write_phy_reg(pi
, 0x26a, 0x0000);
25630 write_phy_reg(pi
, 0x26b, 0x0000);
25631 write_phy_reg(pi
, 0x26c, 0x02d4);
25632 write_phy_reg(pi
, 0x26d, 0x0000);
25633 write_phy_reg(pi
, 0x26e, 0x0000);
25634 write_phy_reg(pi
, 0x26f, 0x0000);
25635 write_phy_reg(pi
, 0x270, 0x0000);
25637 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 8));
25638 or_phy_reg(pi
, (core_idx
== 0) ? 0xec : 0xe7, (0x1 << 15));
25639 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 9));
25640 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 10));
25642 mod_phy_reg(pi
, (core_idx
== 0) ? 0xfa : 0xf8,
25643 (0x7 << 10), (tx_lpf_bw
<< 10));
25644 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25645 (0x7 << 0), (hpvga_hpc
<< 0));
25646 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25647 (0x7 << 4), (lpf_hpc
<< 4));
25648 mod_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d,
25649 (0x7 << 8), (rx_lpf_bw
<< 8));
25651 rccal_stepsize
= 16;
25652 rccal_val
= start_rccal_ovr_val
+ rccal_stepsize
;
25654 while (rccal_stepsize
>= 0) {
25655 write_radio_reg(pi
,
25656 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25657 radio_addr_offset_rx
), rccal_val
);
25659 if (rccal_stepsize
== 16) {
25661 wlc_phy_tx_tone_nphy(pi
, ref_tone
, NPHY_RXCAL_TONEAMP
,
25665 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25667 if (core_idx
== 0) {
25669 max_t(u32
, (est
[0].i_pwr
+
25670 est
[0].q_pwr
) >> (log_num_samps
+ 1),
25674 max_t(u32
, (est
[1].i_pwr
+
25675 est
[1].q_pwr
) >> (log_num_samps
+ 1),
25679 wlc_phy_tx_tone_nphy(pi
, target_bw
, NPHY_RXCAL_TONEAMP
,
25684 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25686 if (core_idx
== 0) {
25688 (est
[0].i_pwr
+ est
[0].q_pwr
) >> (log_num_samps
+
25692 (est
[1].i_pwr
+ est
[1].q_pwr
) >> (log_num_samps
+
25695 pwr_ratio
= (uint
) ((target_iq_vals
<< 16) / ref_iq_vals
);
25697 if (rccal_stepsize
== 0) {
25699 } else if (rccal_stepsize
== 1) {
25700 last_rccal_val
= rccal_val
;
25701 rccal_val
+= (pwr_ratio
> target_pwr_ratio
) ? 1 : -1;
25702 last_pwr_ratio
= pwr_ratio
;
25705 rccal_stepsize
= (rccal_stepsize
>> 1);
25706 rccal_val
+= ((pwr_ratio
> target_pwr_ratio
) ?
25707 rccal_stepsize
: (-rccal_stepsize
));
25710 if (rccal_stepsize
== -1) {
25712 (ABS((int)last_pwr_ratio
- (int)target_pwr_ratio
) <
25713 ABS((int)pwr_ratio
-
25714 (int)target_pwr_ratio
)) ? last_rccal_val
:
25717 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25718 if ((best_rccal_val
> 140)
25719 || (best_rccal_val
< 135)) {
25720 best_rccal_val
= 138;
25723 if ((best_rccal_val
> 142)
25724 || (best_rccal_val
< 137)) {
25725 best_rccal_val
= 140;
25729 write_radio_reg(pi
,
25730 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25731 radio_addr_offset_rx
), best_rccal_val
);
25735 wlc_phy_stopplayback_nphy(pi
);
25737 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25738 orig_txlpf_rccal_lpc_ovr_val
);
25739 write_radio_reg(pi
,
25740 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25741 orig_rxlpf_rccal_hpc_ovr_val
);
25743 mod_phy_reg(pi
, 0x48, (0x1 << 8), (orig_dcBypass
<< 8));
25745 write_phy_reg(pi
, 0x267, orig_RxStrnFilt40Num
[0]);
25746 write_phy_reg(pi
, 0x268, orig_RxStrnFilt40Num
[1]);
25747 write_phy_reg(pi
, 0x269, orig_RxStrnFilt40Num
[2]);
25748 write_phy_reg(pi
, 0x26a, orig_RxStrnFilt40Den
[0]);
25749 write_phy_reg(pi
, 0x26b, orig_RxStrnFilt40Den
[1]);
25750 write_phy_reg(pi
, 0x26c, orig_RxStrnFilt40Num
[3]);
25751 write_phy_reg(pi
, 0x26d, orig_RxStrnFilt40Num
[4]);
25752 write_phy_reg(pi
, 0x26e, orig_RxStrnFilt40Num
[5]);
25753 write_phy_reg(pi
, 0x26f, orig_RxStrnFilt40Den
[2]);
25754 write_phy_reg(pi
, 0x270, orig_RxStrnFilt40Den
[3]);
25756 write_phy_reg(pi
, 0xe7, orig_rfctrloverride
[0]);
25757 write_phy_reg(pi
, 0xec, orig_rfctrloverride
[1]);
25758 write_phy_reg(pi
, 0xf8, orig_rfctrlauxreg
[0]);
25759 write_phy_reg(pi
, 0xfa, orig_rfctrlauxreg
[1]);
25760 write_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers
);
25762 pi
->nphy_anarxlpf_adjusted
= false;
25764 return best_rccal_val
- 0x80;
25767 #define WAIT_FOR_SCOPE 4000
25769 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25770 u8 cal_type
, bool debug
)
25773 u8 core_no
, rx_core
;
25777 nphy_iqcal_params_t cal_params
[2];
25779 s8 rxlpf_rccal_hpc
, txlpf_rccal_lpc
;
25781 bool phyhang_avoid_state
= false;
25782 bool skip_rxiqcal
= false;
25784 orig_BBConfig
= read_phy_reg(pi
, 0x01);
25785 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
25787 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
25789 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25790 phyhang_avoid_state
= pi
->phyhang_avoid
;
25791 pi
->phyhang_avoid
= false;
25794 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25796 for (core_no
= 0; core_no
<= 1; core_no
++) {
25797 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25798 &cal_params
[core_no
]);
25799 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25802 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25804 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
25806 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25809 ((rxcore_state
& (1 << rx_core
)) == 0) ? true : false;
25811 wlc_phy_rxcal_physetup_nphy(pi
, rx_core
);
25813 wlc_phy_rxcal_radio_setup_nphy(pi
, rx_core
);
25815 if ((!skip_rxiqcal
) && ((cal_type
== 0) || (cal_type
== 2))) {
25817 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
, 0);
25819 wlc_phy_tx_tone_nphy(pi
,
25820 (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25821 NPHY_RXCAL_TONEFREQ_40MHz
:
25822 NPHY_RXCAL_TONEFREQ_20MHz
,
25823 NPHY_RXCAL_TONEAMP
, 0, cal_type
,
25827 mdelay(WAIT_FOR_SCOPE
);
25829 wlc_phy_calc_rx_iq_comp_nphy(pi
, rx_core
+ 1);
25830 wlc_phy_stopplayback_nphy(pi
);
25833 if (((cal_type
== 1) || (cal_type
== 2))
25834 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25836 if (rx_core
== PHY_CORE_1
) {
25838 if (rxcore_state
== 1) {
25839 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25843 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
,
25846 best_rccal
[rx_core
] =
25847 wlc_phy_rc_sweep_nphy(pi
, rx_core
, 1);
25848 pi
->nphy_rccal_value
= best_rccal
[rx_core
];
25850 if (rxcore_state
== 1) {
25851 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25858 wlc_phy_rxcal_radio_cleanup_nphy(pi
, rx_core
);
25860 wlc_phy_rxcal_phycleanup_nphy(pi
, rx_core
);
25861 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25864 if ((cal_type
== 1) || (cal_type
== 2)) {
25866 best_rccal
[0] = best_rccal
[1];
25867 write_radio_reg(pi
,
25868 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25869 RADIO_2056_RX0
), (best_rccal
[0] | 0x80));
25871 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25873 (((int)best_rccal
[rx_core
] - 12) >> 1) + 10;
25874 txlpf_rccal_lpc
= ((int)best_rccal
[rx_core
] - 12) + 10;
25877 txlpf_rccal_lpc
+= IS40MHZ(pi
) ? 24 : 12;
25878 txlpf_idac
= IS40MHZ(pi
) ? 0x0e : 0x13;
25879 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, rx_core
,
25880 TXLPF_IDAC_4
, txlpf_idac
);
25883 rxlpf_rccal_hpc
= max(min_t(u8
, rxlpf_rccal_hpc
, 31), 0);
25884 txlpf_rccal_lpc
= max(min_t(u8
, txlpf_rccal_lpc
, 31), 0);
25886 write_radio_reg(pi
, (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25888 PHY_CORE_0
) ? RADIO_2056_RX0
:
25890 (rxlpf_rccal_hpc
| 0x80));
25892 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
|
25894 PHY_CORE_0
) ? RADIO_2056_TX0
:
25896 (txlpf_rccal_lpc
| 0x80));
25900 write_phy_reg(pi
, 0x01, orig_BBConfig
);
25902 wlc_phy_resetcca_nphy(pi
);
25904 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25905 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25906 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25909 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
25911 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25913 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
25916 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25917 pi
->phyhang_avoid
= phyhang_avoid_state
;
25920 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
25926 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25929 phy_iq_est_t est
[PHY_CORE_MAX
];
25930 u8 core_num
, rx_core
, tx_core
;
25931 u16 lna_vals
[] = { 0x3, 0x3, 0x1 };
25932 u16 hpf1_vals
[] = { 0x7, 0x2, 0x0 };
25933 u16 hpf2_vals
[] = { 0x2, 0x0, 0x0 };
25934 s16 curr_hpf1
, curr_hpf2
, curr_hpf
, curr_lna
;
25935 s16 desired_log2_pwr
, actual_log2_pwr
, hpf_change
;
25936 u16 orig_RfseqCoreActv
, orig_AfectrlCore
, orig_AfectrlOverride
;
25937 u16 orig_RfctrlIntcRx
, orig_RfctrlIntcTx
;
25939 u32 i_pwr
, q_pwr
, tot_pwr
[3];
25940 u8 gain_pass
, use_hpf_num
;
25941 u16 mask
, val1
, val2
;
25945 nphy_iqcal_params_t cal_params
[2];
25947 int bcmerror
= BCME_OK
;
25948 bool first_playtone
= true;
25950 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
25952 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
25954 wlc_phy_reapply_txcal_coeffs_nphy(pi
);
25957 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25959 for (core_no
= 0; core_no
<= 1; core_no
++) {
25960 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25961 &cal_params
[core_no
]);
25962 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25965 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25968 desired_log2_pwr
= 13;
25970 for (core_num
= 0; core_num
< 2; core_num
++) {
25972 rx_core
= core_num
;
25973 tx_core
= 1 - core_num
;
25975 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa2);
25976 orig_AfectrlCore
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25978 orig_AfectrlOverride
= read_phy_reg(pi
, 0xa5);
25979 orig_RfctrlIntcRx
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25981 orig_RfctrlIntcTx
= read_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ?
25984 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25985 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25987 or_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25988 ((0x1 << 1) | (0x1 << 2)));
25989 or_phy_reg(pi
, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25991 if (((pi
->nphy_rxcalparams
) & 0xff000000)) {
25994 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25995 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 :
26000 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
26001 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 :
26005 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
26006 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x148 :
26009 mask
= RADIO_2055_COUPLE_RX_MASK
| RADIO_2055_COUPLE_TX_MASK
;
26010 if (rx_core
== PHY_CORE_0
) {
26011 val1
= RADIO_2055_COUPLE_RX_MASK
;
26012 val2
= RADIO_2055_COUPLE_TX_MASK
;
26014 val1
= RADIO_2055_COUPLE_TX_MASK
;
26015 val2
= RADIO_2055_COUPLE_RX_MASK
;
26018 if ((pi
->nphy_rxcalparams
& 0x10000)) {
26019 mod_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, mask
,
26021 mod_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, mask
,
26025 for (gain_pass
= 0; gain_pass
< 4; gain_pass
++) {
26028 mdelay(WAIT_FOR_SCOPE
);
26030 if (gain_pass
< 3) {
26031 curr_lna
= lna_vals
[gain_pass
];
26032 curr_hpf1
= hpf1_vals
[gain_pass
];
26033 curr_hpf2
= hpf2_vals
[gain_pass
];
26036 if (tot_pwr
[1] > 10000) {
26037 curr_lna
= lna_vals
[2];
26038 curr_hpf1
= hpf1_vals
[2];
26039 curr_hpf2
= hpf2_vals
[2];
26041 curr_hpf
= curr_hpf1
;
26043 wlc_phy_nbits(tot_pwr
[2]);
26045 if (tot_pwr
[0] > 10000) {
26046 curr_lna
= lna_vals
[1];
26047 curr_hpf1
= hpf1_vals
[1];
26048 curr_hpf2
= hpf2_vals
[1];
26050 curr_hpf
= curr_hpf1
;
26052 wlc_phy_nbits(tot_pwr
[1]);
26054 curr_lna
= lna_vals
[0];
26055 curr_hpf1
= hpf1_vals
[0];
26056 curr_hpf2
= hpf2_vals
[0];
26058 curr_hpf
= curr_hpf2
;
26060 wlc_phy_nbits(tot_pwr
[0]);
26064 hpf_change
= desired_log2_pwr
- actual_log2_pwr
;
26065 curr_hpf
+= hpf_change
;
26066 curr_hpf
= max(min_t(u16
, curr_hpf
, 10), 0);
26067 if (use_hpf_num
== 1) {
26068 curr_hpf1
= curr_hpf
;
26070 curr_hpf2
= curr_hpf
;
26074 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10),
26075 ((curr_hpf2
<< 8) |
26077 (curr_lna
<< 2)), 0x3, 0);
26078 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26080 wlc_phy_stopplayback_nphy(pi
);
26082 if (first_playtone
) {
26083 bcmerror
= wlc_phy_tx_tone_nphy(pi
, 4000,
26089 first_playtone
= false;
26092 (CHSPEC_IS40(pi
->radio_chanspec
)) ? 40 : 20;
26093 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff,
26097 if (bcmerror
== BCME_OK
) {
26098 if (gain_pass
< 3) {
26100 wlc_phy_rx_iq_est_nphy(pi
, est
,
26104 (est
[rx_core
].i_pwr
+
26105 num_samps
/ 2) / num_samps
;
26107 (est
[rx_core
].q_pwr
+
26108 num_samps
/ 2) / num_samps
;
26109 tot_pwr
[gain_pass
] = i_pwr
+ q_pwr
;
26112 wlc_phy_calc_rx_iq_comp_nphy(pi
,
26117 wlc_phy_stopplayback_nphy(pi
);
26120 if (bcmerror
!= BCME_OK
)
26124 and_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, ~mask
);
26125 and_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, ~mask
);
26127 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 :
26128 0x92, orig_RfctrlIntcTx
);
26129 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x91 :
26130 0x92, orig_RfctrlIntcRx
);
26131 write_phy_reg(pi
, 0xa5, orig_AfectrlOverride
);
26132 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 :
26133 0xa7, orig_AfectrlCore
);
26134 write_phy_reg(pi
, 0xa2, orig_RfseqCoreActv
);
26136 if (bcmerror
!= BCME_OK
)
26140 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10), 0, 0x3, 1);
26141 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26143 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
26146 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
26152 wlc_phy_cal_rxiq_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
26153 u8 cal_type
, bool debug
)
26155 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26159 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
26160 return wlc_phy_cal_rxiq_nphy_rev3(pi
, target_gain
, cal_type
,
26163 return wlc_phy_cal_rxiq_nphy_rev2(pi
, target_gain
, debug
);
26167 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26170 u16 addr_offset
= 0x2c5;
26172 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26173 write_phy_reg(pi
, addr_offset
+ j
,
26174 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26178 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26181 u16 addr_offset
[] = { 0x186, 0x195,
26185 for (type
= 0; type
< 3; type
++) {
26186 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26187 write_phy_reg(pi
, addr_offset
[type
] + j
,
26188 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26193 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26194 write_phy_reg(pi
, 0x186 + j
,
26195 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26198 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26199 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26200 write_phy_reg(pi
, 0x186 + j
,
26201 NPHY_IPA_REV4_txdigi_filtcoeffs
[5]
26206 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
26207 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26208 write_phy_reg(pi
, 0x2c5 + j
,
26209 NPHY_IPA_REV4_txdigi_filtcoeffs
[6]
26216 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
)
26221 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26222 write_phy_reg(pi
, 0x195 + j
,
26223 NPHY_IPA_REV4_txdigi_filtcoeffs
[4][j
]);
26226 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26227 write_phy_reg(pi
, 0x186 + j
,
26228 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26233 static u16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
)
26237 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26242 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
)
26244 u16 m0m1
= (u16
) ((m0
<< 8) | m1
);
26246 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26247 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &m0m1
);
26250 static u32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
)
26252 u32
*tx_pwrctrl_tbl
= NULL
;
26254 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26256 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26258 if ((pi
->pubpi
.radiorev
== 4)
26259 || (pi
->pubpi
.radiorev
== 6)) {
26262 nphy_tpc_txgain_ipa_2g_2057rev4n6
;
26263 } else if (pi
->pubpi
.radiorev
== 3) {
26266 nphy_tpc_txgain_ipa_2g_2057rev3
;
26267 } else if (pi
->pubpi
.radiorev
== 5) {
26270 nphy_tpc_txgain_ipa_2g_2057rev5
;
26271 } else if ((pi
->pubpi
.radiorev
== 7)
26272 || (pi
->pubpi
.radiorev
== 8)) {
26275 nphy_tpc_txgain_ipa_2g_2057rev7
;
26280 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
26282 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev6
;
26283 if (pi
->sh
->chip
== BCM47162_CHIP_ID
) {
26285 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26288 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
26290 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26293 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa
;
26298 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26299 if ((pi
->pubpi
.radiorev
== 3) ||
26300 (pi
->pubpi
.radiorev
== 4) ||
26301 (pi
->pubpi
.radiorev
== 6)) {
26303 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g_2057
;
26304 } else if ((pi
->pubpi
.radiorev
== 7)
26305 || (pi
->pubpi
.radiorev
== 8)) {
26308 nphy_tpc_txgain_ipa_5g_2057rev7
;
26314 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g
;
26318 return tx_pwrctrl_tbl
;
26322 wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
,
26329 off_core
= core
^ 0x1;
26330 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26332 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26333 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26334 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
26335 wlc_phy_read_lpf_bw_ctl_nphy
26337 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26340 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26341 if (pi
->pubpi
.radiorev
== 5) {
26342 mixgain
= (core
== 0) ? 0x20 : 0x00;
26344 } else if ((pi
->pubpi
.radiorev
== 7)
26345 || (pi
->pubpi
.radiorev
== 8)) {
26349 } else if ((pi
->pubpi
.radiorev
<= 4)
26350 || (pi
->pubpi
.radiorev
== 6)) {
26358 if ((pi
->pubpi
.radiorev
== 4) ||
26359 (pi
->pubpi
.radiorev
== 6)) {
26362 } else if ((pi
->pubpi
.radiorev
== 3)
26363 || (pi
->pubpi
.radiorev
== 7)
26364 || (pi
->pubpi
.radiorev
== 8)) {
26372 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
26373 mixgain
, (1 << core
), 0,
26374 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26376 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26377 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26378 1, (1 << core
), 0);
26379 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26380 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26381 0, (1 << off_core
), 0);
26383 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26385 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26386 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1,
26388 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26389 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0,
26391 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26392 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1,
26394 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26395 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0,
26397 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26398 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1,
26400 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26401 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0,
26403 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26404 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1,
26406 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26408 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
26410 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26411 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0,
26413 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26415 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26417 state
->afeoverride
[core
] =
26418 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26419 state
->afectrl
[off_core
] =
26420 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa7 : 0xa6);
26421 state
->afeoverride
[off_core
] =
26422 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa5 : 0x8f);
26424 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26426 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26427 0xa5), (0x1 << 2), (0x1 << 2));
26429 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa7 : 0xa6),
26430 (0x1 << 2), (0x1 << 2));
26431 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa5 :
26432 0x8f), (0x1 << 2), (0x1 << 2));
26434 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26435 state
->pwrup
[core
] =
26436 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26437 TXRXCOUPLE_2G_PWRUP
);
26438 state
->atten
[core
] =
26439 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26440 TXRXCOUPLE_2G_ATTEN
);
26441 state
->pwrup
[off_core
] =
26442 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26443 TXRXCOUPLE_2G_PWRUP
);
26444 state
->atten
[off_core
] =
26445 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26446 TXRXCOUPLE_2G_ATTEN
);
26448 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26449 TXRXCOUPLE_2G_PWRUP
, 0xc);
26451 if ((pi
->pubpi
.radiorev
== 3) ||
26452 (pi
->pubpi
.radiorev
== 4) ||
26453 (pi
->pubpi
.radiorev
== 6)) {
26455 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26456 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26458 } else if (pi
->pubpi
.radiorev
== 5) {
26460 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26461 TXRXCOUPLE_2G_ATTEN
,
26462 (core
== 0) ? 0xf7 : 0xf2);
26464 } else if ((pi
->pubpi
.radiorev
== 7)
26465 || (pi
->pubpi
.radiorev
== 8)) {
26467 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26468 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26474 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26475 TXRXCOUPLE_2G_PWRUP
, 0x0);
26476 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26477 TXRXCOUPLE_2G_ATTEN
, 0xff);
26480 state
->pwrup
[core
] =
26481 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26482 TXRXCOUPLE_5G_PWRUP
);
26483 state
->atten
[core
] =
26484 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26485 TXRXCOUPLE_5G_ATTEN
);
26486 state
->pwrup
[off_core
] =
26487 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26488 TXRXCOUPLE_5G_PWRUP
);
26489 state
->atten
[off_core
] =
26490 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26491 TXRXCOUPLE_5G_ATTEN
);
26493 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26494 TXRXCOUPLE_5G_PWRUP
, 0xc);
26496 if ((pi
->pubpi
.radiorev
== 7)
26497 || (pi
->pubpi
.radiorev
== 8)) {
26499 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26500 TXRXCOUPLE_5G_ATTEN
, 0xf4);
26503 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26504 TXRXCOUPLE_5G_ATTEN
, 0xf0);
26507 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26508 TXRXCOUPLE_5G_PWRUP
, 0x0);
26509 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26510 TXRXCOUPLE_5G_ATTEN
, 0xff);
26515 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, false);
26517 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26518 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
26520 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26521 0x2a4, (0x1 << 13), (1) << 13);
26523 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26524 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF
) << 0);
26526 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x2a3 :
26527 0x2a4, (0x1 << 13), (0) << 13);
26531 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 0);
26533 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0, 0);
26535 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 0);
26537 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 1, 0x3, 0);
26538 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0x3, 0);
26540 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26542 state
->afeoverride
[core
] =
26543 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26545 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26546 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26547 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26551 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26553 state
->vga_master
[core
] =
26554 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
);
26555 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
, 0x2b);
26556 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26557 state
->fbmix
[core
] =
26558 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26560 state
->intpa_master
[core
] =
26561 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26564 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_G
,
26566 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26567 INTPAG_MASTER
, 0x04);
26569 state
->fbmix
[core
] =
26570 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26572 state
->intpa_master
[core
] =
26573 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26576 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_A
,
26578 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26579 INTPAA_MASTER
, 0x04);
26585 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, false);
26587 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26588 0x29b, (0x1 << 0), (1) << 0);
26590 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26591 0x29b, (0x1 << 0), (0) << 0);
26593 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
26598 wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
)
26602 wlc_phy_stopplayback_nphy(pi
);
26604 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26606 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26608 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26609 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26610 TXRXCOUPLE_2G_PWRUP
, 0);
26611 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26612 TXRXCOUPLE_2G_ATTEN
,
26613 state
->atten
[core
]);
26615 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26616 TXRXCOUPLE_5G_PWRUP
, 0);
26617 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26618 TXRXCOUPLE_5G_ATTEN
,
26619 state
->atten
[core
]);
26623 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
26624 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26626 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26628 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26630 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26632 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
26634 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26635 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26636 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26637 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 0, 0x3, 1,
26638 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26639 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1, 0x3, 1,
26640 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26641 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 0, 0x3, 1,
26642 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26643 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0x3, 1,
26644 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26645 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12), 0, 0x3, 1,
26646 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26647 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1, 0x3, 1,
26648 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26649 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26650 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26651 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0x3, 1,
26652 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26653 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0, 0x3, 1,
26654 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26655 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1, 0x3, 1,
26656 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26657 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0, 0x3, 1,
26658 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26659 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1, 0x3, 1,
26660 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26661 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0x3, 1,
26662 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26663 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0, 0x3, 1,
26664 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26666 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26668 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26669 0xa6 : 0xa7, state
->afectrl
[core
]);
26670 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26671 0xa5, state
->afeoverride
[core
]);
26674 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26675 (state
->mm
& 0xff));
26677 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26678 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26679 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
26681 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26685 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
26686 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 0x3, 1);
26687 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 1);
26689 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 0, 0x3, 1);
26690 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 0, 0x3, 1);
26692 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26694 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
,
26695 state
->vga_master
[core
]);
26696 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26697 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26698 TXFBMIX_G
, state
->fbmix
[core
]);
26699 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26701 state
->intpa_master
[core
]);
26703 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26704 TXFBMIX_A
, state
->fbmix
[core
]);
26705 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26707 state
->intpa_master
[core
]);
26710 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26711 0xa6 : 0xa7, state
->afectrl
[core
]);
26712 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26713 0xa5, state
->afeoverride
[core
]);
26716 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26717 (state
->mm
& 0xff));
26719 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 1);
26724 wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, u32 winsz
, u32 start
,
26727 u32
*buf
, *src
, *dst
, sz
;
26729 sz
= end
- start
+ 1;
26730 ASSERT(end
> start
);
26731 ASSERT(end
< NPHY_PAPD_EPS_TBL_SIZE
);
26733 buf
= kmalloc(2 * sizeof(u32
) * NPHY_PAPD_EPS_TBL_SIZE
, GFP_ATOMIC
);
26739 dst
= buf
+ NPHY_PAPD_EPS_TBL_SIZE
;
26741 wlc_phy_table_read_nphy(pi
,
26743 PHY_CORE_0
? NPHY_TBL_ID_EPSILONTBL0
:
26744 NPHY_TBL_ID_EPSILONTBL1
),
26745 NPHY_PAPD_EPS_TBL_SIZE
, 0, 32, src
);
26748 u32 phy_a1
, phy_a2
;
26749 s32 phy_a3
, phy_a4
, phy_a5
, phy_a6
, phy_a7
;
26751 phy_a1
= end
- min(end
, (winsz
>> 1));
26752 phy_a2
= min_t(u32
, NPHY_PAPD_EPS_TBL_SIZE
- 1, end
+ (winsz
>> 1));
26753 phy_a3
= phy_a2
- phy_a1
+ 1;
26758 wlc_phy_papd_decode_epsilon(src
[phy_a2
], &phy_a4
,
26762 } while (phy_a2
-- != phy_a1
);
26766 dst
[end
] = ((u32
) phy_a7
<< 13) | ((u32
) phy_a6
& 0x1fff);
26767 } while (end
-- != start
);
26769 wlc_phy_table_write_nphy(pi
,
26771 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
:
26772 NPHY_TBL_ID_EPSILONTBL1
, sz
, start
, 32, dst
);
26778 wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*txgains
,
26779 phy_cal_mode_t cal_mode
, u8 core
)
26781 u16 phy_a1
, phy_a2
, phy_a3
;
26782 u16 phy_a4
, phy_a5
;
26786 nphy_txgains_t phy_a9
;
26788 if (NREV_LT(pi
->pubpi
.phy_rev
, 3))
26791 phy_a7
= (core
== PHY_CORE_0
) ? 1 : 0;
26793 ASSERT((cal_mode
== CAL_FULL
) || (cal_mode
== CAL_GCTRL
)
26794 || (cal_mode
== CAL_SOFT
));
26795 phy_a6
= ((cal_mode
== CAL_GCTRL
)
26796 || (cal_mode
== CAL_SOFT
)) ? true : false;
26798 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26800 phy_a9
= wlc_phy_get_tx_gain_nphy(pi
);
26802 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26803 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26804 (phy_a9
.txgm
[core
] << 12) |
26805 (phy_a9
.pga
[core
] << 8) |
26806 (txgains
->gains
.pad
[core
] << 3) |
26807 (phy_a9
.ipa
[core
]));
26809 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26810 (phy_a9
.txgm
[core
] << 12) |
26811 (txgains
->gains
.pga
[core
] << 8) |
26812 (phy_a9
.pad
[core
] << 3) | (phy_a9
.ipa
[core
]));
26815 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26816 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26817 phy_a5
, (1 << core
), 0);
26819 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26820 if ((pi
->pubpi
.radiorev
<= 4)
26821 || (pi
->pubpi
.radiorev
== 6)) {
26823 m
[core
] = IS40MHZ(pi
) ? 60 : 79;
26826 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26830 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26834 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26838 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26839 if (pi
->sh
->chip
== BCM6362_CHIP_ID
) {
26842 } else if ((pi
->pubpi
.radiorev
== 4)
26843 || (pi
->pubpi
.radiorev
== 6)) {
26851 if ((pi
->pubpi
.radiorev
== 5)
26852 || (pi
->pubpi
.radiorev
== 7)
26853 || (pi
->pubpi
.radiorev
== 8)) {
26862 if (cal_mode
== CAL_GCTRL
) {
26863 if ((pi
->pubpi
.radiorev
== 5)
26864 && (CHSPEC_IS2G(pi
->radio_chanspec
))) {
26866 } else if (((pi
->pubpi
.radiorev
== 7) &&
26867 (CHSPEC_IS2G(pi
->radio_chanspec
))) ||
26868 ((pi
->pubpi
.radiorev
== 8) &&
26869 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
26875 } else if ((cal_mode
!= CAL_FULL
) && (cal_mode
!= CAL_SOFT
)) {
26881 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26882 0x29b, (0x1 << 0), (1) << 0);
26884 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
26885 0x29b, (0x1 << 0), (0) << 0);
26887 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26888 0x2a4, (0x1 << 13), (1) << 13);
26890 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
26891 0x2a4, (0x1 << 13), (0) << 13);
26893 write_phy_reg(pi
, 0x2a1, 0x80);
26894 write_phy_reg(pi
, 0x2a2, 0x100);
26896 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26897 0x2a4, (0x7 << 4), (11) << 4);
26899 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26900 0x2a4, (0x7 << 8), (11) << 8);
26902 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26903 0x2a4, (0x7 << 0), (0x3) << 0);
26905 write_phy_reg(pi
, 0x2e5, 0x20);
26907 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
26909 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
26911 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
26913 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26914 1, ((core
== 0) ? 1 : 2), 0,
26915 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26916 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26917 0, ((core
== 0) ? 2 : 1), 0,
26918 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26920 write_phy_reg(pi
, 0x2be, 1);
26921 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
26923 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26925 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26927 wlc_phy_table_write_nphy(pi
,
26929 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
26930 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
26933 if (cal_mode
!= CAL_GCTRL
) {
26934 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26935 wlc_phy_a1_nphy(pi
, core
, 5, 0, 35);
26939 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26940 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26941 phy_a5
, (1 << core
), 1);
26946 if (txgains
->useindex
) {
26947 phy_a4
= 15 - ((txgains
->index
) >> 3);
26948 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26949 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
26950 phy_a5
= 0x00f7 | (phy_a4
<< 8);
26952 if (pi
->sh
->chip
==
26953 BCM47162_CHIP_ID
) {
26955 0x10f7 | (phy_a4
<<
26959 if (NREV_IS(pi
->pubpi
.phy_rev
, 5))
26960 phy_a5
= 0x10f7 | (phy_a4
<< 8);
26962 phy_a5
= 0x50f7 | (phy_a4
<< 8);
26964 phy_a5
= 0x70f7 | (phy_a4
<< 8);
26966 wlc_phy_rfctrl_override_nphy(pi
,
26971 wlc_phy_rfctrl_override_nphy(pi
,
26978 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26979 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26981 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26985 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26989 if (cal_mode
== CAL_FULL
) {
26992 } else if (cal_mode
== CAL_SOFT
) {
26995 } else if (cal_mode
== CAL_GCTRL
) {
27004 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27005 0x29b, (0x1 << 0), (1) << 0);
27007 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
27008 0x29b, (0x1 << 0), (0) << 0);
27010 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
27011 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27012 0x2a4, (0x1 << 13), (1) << 13);
27014 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
27015 0x2a4, (0x1 << 13), (0) << 13);
27017 write_phy_reg(pi
, 0x2a1, 0x20);
27018 write_phy_reg(pi
, 0x2a2, 0x60);
27020 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27021 0x2a4, (0xf << 4), (9) << 4);
27023 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27024 0x2a4, (0xf << 8), (9) << 8);
27026 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27027 0x2a4, (0xf << 0), (0x2) << 0);
27029 write_phy_reg(pi
, 0x2e5, 0x20);
27031 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27032 0x2a4, (0x1 << 11), (1) << 11);
27034 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
27035 0x2a4, (0x1 << 11), (0) << 11);
27037 write_phy_reg(pi
, 0x2a1, 0x80);
27038 write_phy_reg(pi
, 0x2a2, 0x600);
27040 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27041 0x2a4, (0x7 << 4), (0) << 4);
27043 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27044 0x2a4, (0x7 << 8), (0) << 8);
27046 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
27047 0x2a4, (0x7 << 0), (0x3) << 0);
27049 mod_phy_reg(pi
, 0x2a0, (0x3f << 8), (0x20) << 8);
27053 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
27055 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
27057 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
27059 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0x3, 0);
27061 write_phy_reg(pi
, 0x2be, 1);
27062 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
27064 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
27066 wlc_phy_table_write_nphy(pi
,
27068 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
27069 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
27072 if (cal_mode
!= CAL_GCTRL
) {
27073 wlc_phy_a1_nphy(pi
, core
, 5, 0, 40);
27078 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
)
27083 nphy_ipa_txcalgains_t phy_a4
;
27084 bool phy_a5
= false;
27085 bool phy_a6
= true;
27086 s32 phy_a7
, phy_a8
;
27089 bool phy_a11
= false;
27093 u8
*phy_a15
= NULL
;
27095 phy_a4
.useindex
= true;
27096 phy_a12
= start_gain
;
27098 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27103 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27104 if (pi
->pubpi
.radiorev
== 5) {
27106 phy_a15
= pad_gain_codes_used_2057rev5
;
27107 phy_a13
= sizeof(pad_gain_codes_used_2057rev5
) /
27108 sizeof(pad_gain_codes_used_2057rev5
[0]) - 1;
27110 } else if ((pi
->pubpi
.radiorev
== 7)
27111 || (pi
->pubpi
.radiorev
== 8)) {
27113 phy_a15
= pad_gain_codes_used_2057rev7
;
27114 phy_a13
= sizeof(pad_gain_codes_used_2057rev7
) /
27115 sizeof(pad_gain_codes_used_2057rev7
[0]) - 1;
27119 phy_a15
= pad_all_gain_codes_2057
;
27120 phy_a13
= sizeof(pad_all_gain_codes_2057
) /
27121 sizeof(pad_all_gain_codes_2057
[0]) - 1;
27126 phy_a15
= pga_all_gain_codes_2057
;
27127 phy_a13
= sizeof(pga_all_gain_codes_2057
) /
27128 sizeof(pga_all_gain_codes_2057
[0]) - 1;
27133 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27134 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27135 phy_a4
.gains
.pad
[core
] =
27136 (u16
) phy_a15
[phy_a12
];
27138 phy_a4
.gains
.pga
[core
] =
27139 (u16
) phy_a15
[phy_a12
];
27142 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27144 wlc_phy_table_read_nphy(pi
,
27147 NPHY_TBL_ID_EPSILONTBL0
:
27148 NPHY_TBL_ID_EPSILONTBL1
), 1,
27151 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27153 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27154 (phy_a8
== 4095) || (phy_a8
== -4096));
27156 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27158 phy_a12
-= (u8
) phy_a1
;
27165 phy_a12
+= (u8
) phy_a1
;
27167 phy_a12
-= (u8
) phy_a1
;
27169 if ((phy_a12
< phy_a14
) || (phy_a12
> phy_a13
)) {
27170 if (phy_a12
< phy_a14
) {
27186 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27187 phy_a4
.index
= (u8
) phy_a12
;
27188 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27190 wlc_phy_table_read_nphy(pi
,
27193 NPHY_TBL_ID_EPSILONTBL0
:
27194 NPHY_TBL_ID_EPSILONTBL1
), 1,
27197 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27199 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27200 (phy_a8
== 4095) || (phy_a8
== -4096));
27202 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27204 phy_a12
-= (u8
) phy_a1
;
27211 phy_a12
+= (u8
) phy_a1
;
27213 phy_a12
-= (u8
) phy_a1
;
27215 if ((phy_a12
< 0) || (phy_a12
> 127)) {
27231 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27232 return (u8
) phy_a15
[phy_a12
];
27234 return (u8
) phy_a12
;
27239 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
)
27241 nphy_ipa_txcalgains_t phy_b1
[2];
27242 nphy_papd_restore_state phy_b2
;
27246 s16 phy_b6
, phy_b7
, phy_b8
;
27248 s16 phy_b10
, phy_b11
, phy_b12
;
27256 if (pi
->nphy_papd_skip
== 1)
27260 (0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
27262 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
27265 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
27267 pi
->nphy_force_papd_cal
= false;
27269 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++)
27270 pi
->nphy_papd_tx_gain_at_last_cal
[phy_b5
] =
27271 wlc_phy_txpwr_idx_cur_get_nphy(pi
, phy_b5
);
27273 pi
->nphy_papd_last_cal
= pi
->sh
->now
;
27274 pi
->nphy_papd_recal_counter
++;
27276 if (NORADIO_ENAB(pi
->pubpi
))
27279 phy_b4
= pi
->nphy_txpwrctrl
;
27280 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
27282 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL0
, 64, 0, 32,
27283 nphy_papd_scaltbl
);
27284 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL1
, 64, 0, 32,
27285 nphy_papd_scaltbl
);
27287 phy_b9
= read_phy_reg(pi
, 0x01);
27288 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
27290 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27292 for (i
= 0; i
< 64; i
++) {
27293 wlc_phy_table_write_nphy(pi
,
27296 NPHY_TBL_ID_EPSILONTBL0
:
27297 NPHY_TBL_ID_EPSILONTBL1
), 1,
27302 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi
);
27304 phy_b2
.mm
= wlc_phy_ipa_get_bbmult_nphy(pi
);
27305 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27306 wlc_phy_papd_cal_setup_nphy(pi
, &phy_b2
, phy_b5
);
27308 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27309 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27311 if ((pi
->pubpi
.radiorev
== 3)
27312 || (pi
->pubpi
.radiorev
== 4)
27313 || (pi
->pubpi
.radiorev
== 6)) {
27315 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27318 } else if (pi
->pubpi
.radiorev
== 5) {
27320 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27322 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27323 wlc_phy_a3_nphy(pi
,
27325 nphy_papd_cal_gain_index
27328 } else if ((pi
->pubpi
.radiorev
== 7)
27329 || (pi
->pubpi
.radiorev
== 8)) {
27331 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27333 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27334 wlc_phy_a3_nphy(pi
,
27336 nphy_papd_cal_gain_index
27343 phy_b1
[phy_b5
].gains
.pad
[phy_b5
] =
27344 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27347 pi
->nphy_papd_cal_gain_index
[phy_b5
] = 0;
27348 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27349 wlc_phy_a3_nphy(pi
,
27351 nphy_papd_cal_gain_index
27353 phy_b1
[phy_b5
].gains
.pga
[phy_b5
] =
27354 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27357 phy_b1
[phy_b5
].useindex
= true;
27358 phy_b1
[phy_b5
].index
= 16;
27359 phy_b1
[phy_b5
].index
=
27360 wlc_phy_a3_nphy(pi
, phy_b1
[phy_b5
].index
, phy_b5
);
27362 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27363 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27366 switch (pi
->nphy_papd_cal_type
) {
27368 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_FULL
, phy_b5
);
27371 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_SOFT
, phy_b5
);
27375 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27376 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27380 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27381 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27384 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27385 int eps_offset
= 0;
27387 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27388 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27389 if (pi
->pubpi
.radiorev
== 3) {
27391 } else if (pi
->pubpi
.radiorev
== 5) {
27400 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27401 phy_b8
= phy_b1
[phy_b5
].gains
.pad
[phy_b5
];
27403 if ((pi
->pubpi
.radiorev
== 3) ||
27404 (pi
->pubpi
.radiorev
== 4) ||
27405 (pi
->pubpi
.radiorev
== 6)) {
27408 (nphy_papd_padgain_dlt_2g_2057rev3n4
27412 } else if (pi
->pubpi
.radiorev
== 5) {
27414 -(nphy_papd_padgain_dlt_2g_2057rev5
27417 } else if ((pi
->pubpi
.radiorev
== 7) ||
27418 (pi
->pubpi
.radiorev
== 8)) {
27420 -(nphy_papd_padgain_dlt_2g_2057rev7
27427 phy_b7
= phy_b1
[phy_b5
].gains
.pga
[phy_b5
];
27428 if ((pi
->pubpi
.radiorev
== 3) ||
27429 (pi
->pubpi
.radiorev
== 4) ||
27430 (pi
->pubpi
.radiorev
== 6)) {
27432 -(nphy_papd_pgagain_dlt_5g_2057
27435 } else if ((pi
->pubpi
.radiorev
== 7)
27436 || (pi
->pubpi
.radiorev
== 8)) {
27438 -(nphy_papd_pgagain_dlt_5g_2057rev7
27448 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27450 -60 + 27 + eps_offset
+ phy_b12
+ phy_b10
;
27453 -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27456 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27457 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27459 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27461 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
27467 phy_b7
= 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27469 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27471 -(nphy_papd_pga_gain_delta_ipa_2g
[phy_b7
] +
27476 -(nphy_papd_pga_gain_delta_ipa_5g
[phy_b7
] +
27481 phy_b6
= -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27483 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27484 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27486 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27490 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
27491 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27493 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
27494 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27496 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
27497 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27498 0x2a4, (0x1 << 13), (0) << 13);
27500 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27501 0x2a4, (0x1 << 13), (0) << 13);
27504 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27505 0x2a4, (0x1 << 11), (0) << 11);
27507 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27508 0x2a4, (0x1 << 11), (0) << 11);
27511 pi
->nphy_papdcomp
= NPHY_PAPD_COMP_ON
;
27513 write_phy_reg(pi
, 0x01, phy_b9
);
27515 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
27517 wlc_phy_txpwrctrl_enable_nphy(pi
, phy_b4
);
27518 if (phy_b4
== PHY_TPC_HW_OFF
) {
27519 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
27520 (s8
) (pi
->nphy_txpwrindex
[0].
27521 index_internal
), false);
27522 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
27523 (s8
) (pi
->nphy_txpwrindex
[1].
27524 index_internal
), false);
27527 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
27530 wlapi_enable_mac(pi
->sh
->physhim
);
27534 void wlc_phy_txpwr_fixpower_nphy(phy_info_t
*pi
)
27538 u16 rad_gain
, dac_gain
, bbmult
, m1m2
;
27539 u8 txpi
[2], chan_freq_range
;
27542 ASSERT(pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
);
27544 if (pi
->phyhang_avoid
)
27545 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
27547 if (pi
->sh
->sromrev
< 4) {
27548 txpi
[0] = txpi
[1] = 72;
27551 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
27552 switch (chan_freq_range
) {
27553 case WL_CHAN_FREQ_RANGE_2G
:
27554 txpi
[0] = pi
->nphy_txpid2g
[0];
27555 txpi
[1] = pi
->nphy_txpid2g
[1];
27557 case WL_CHAN_FREQ_RANGE_5GL
:
27558 txpi
[0] = pi
->nphy_txpid5gl
[0];
27559 txpi
[1] = pi
->nphy_txpid5gl
[1];
27561 case WL_CHAN_FREQ_RANGE_5GM
:
27562 txpi
[0] = pi
->nphy_txpid5g
[0];
27563 txpi
[1] = pi
->nphy_txpid5g
[1];
27565 case WL_CHAN_FREQ_RANGE_5GH
:
27566 txpi
[0] = pi
->nphy_txpid5gh
[0];
27567 txpi
[1] = pi
->nphy_txpid5gh
[1];
27570 txpi
[0] = txpi
[1] = 91;
27575 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27576 txpi
[0] = txpi
[1] = 30;
27577 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27578 txpi
[0] = txpi
[1] = 40;
27581 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27583 if ((txpi
[0] < 40) || (txpi
[0] > 100) ||
27584 (txpi
[1] < 40) || (txpi
[1] > 100))
27585 txpi
[0] = txpi
[1] = 91;
27588 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal
= txpi
[0];
27589 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal
= txpi
[1];
27590 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal_save
= txpi
[0];
27591 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal_save
= txpi
[1];
27593 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
27594 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27597 wlc_phy_get_ipa_gaintbl_nphy(pi
);
27598 txgain
= tx_gaintbl
[txpi
[core
]];
27600 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
27602 (pi
->pubpi
.phy_rev
, 3) {
27604 nphy_tpc_5GHz_txgain_rev3
27607 (pi
->pubpi
.phy_rev
, 4) {
27609 (pi
->srom_fem5g
.extpagain
==
27611 nphy_tpc_5GHz_txgain_HiPwrEPA
27613 nphy_tpc_5GHz_txgain_rev4
27617 nphy_tpc_5GHz_txgain_rev5
27621 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
27622 (pi
->srom_fem2g
.extpagain
== 3)) {
27624 nphy_tpc_txgain_HiPwrEPA
27628 nphy_tpc_txgain_rev3
[txpi
27634 txgain
= nphy_tpc_txgain
[txpi
[core
]];
27637 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27638 rad_gain
= (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
27640 rad_gain
= (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
27643 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27644 dac_gain
= (txgain
>> 8) & ((1 << (10 - 8 + 1)) - 1);
27646 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
27648 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
27650 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27651 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
27652 0xa5), (0x1 << 8), (0x1 << 8));
27654 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
27656 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xaa : 0xab, dac_gain
);
27658 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
27661 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27662 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
27663 m1m2
|= ((core
== PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
27664 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27667 wlc_phy_table_read_nphy(pi
,
27670 NPHY_TBL_ID_CORE1TXPWRCTL
:
27671 NPHY_TBL_ID_CORE2TXPWRCTL
), 1,
27672 576 + txpi
[core
], 32,
27675 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27676 0x29b, (0x1ff << 4),
27677 ((s16
) rfpwr_offset
) << 4);
27679 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27680 0x29b, (0x1 << 2), (1) << 2);
27685 and_phy_reg(pi
, 0xbf, (u16
) (~(0x1f << 0)));
27687 if (pi
->phyhang_avoid
)
27688 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
27692 wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
, u16
*pwr_offset
,
27693 u8 tmp_max_pwr
, u8 rate_start
,
27697 u8 word_num
, nibble_num
;
27700 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27701 word_num
= (rate
- rate_start
) >> 2;
27702 nibble_num
= (rate
- rate_start
) & 0x3;
27703 tmp_nibble
= (pwr_offset
[word_num
] >> 4 * nibble_num
) & 0xf;
27705 srom_max
[rate
] = tmp_max_pwr
- 2 * tmp_nibble
;
27710 wlc_phy_txpwr_nphy_po_apply(u8
*srom_max
, u8 pwr_offset
,
27711 u8 rate_start
, u8 rate_end
)
27715 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27716 srom_max
[rate
] -= 2 * pwr_offset
;
27721 wlc_phy_ofdm_to_mcs_powers_nphy(u8
*power
, u8 rate_mcs_start
,
27722 u8 rate_mcs_end
, u8 rate_ofdm_start
)
27726 rate2
= rate_ofdm_start
;
27727 for (rate1
= rate_mcs_start
; rate1
<= rate_mcs_end
- 1; rate1
++) {
27728 power
[rate1
] = power
[rate2
];
27729 rate2
+= (rate1
== rate_mcs_start
) ? 2 : 1;
27731 power
[rate_mcs_end
] = power
[rate_mcs_end
- 1];
27735 wlc_phy_mcs_to_ofdm_powers_nphy(u8
*power
, u8 rate_ofdm_start
,
27736 u8 rate_ofdm_end
, u8 rate_mcs_start
)
27740 for (rate1
= rate_ofdm_start
, rate2
= rate_mcs_start
;
27741 rate1
<= rate_ofdm_end
; rate1
++, rate2
++) {
27742 power
[rate1
] = power
[rate2
];
27743 if (rate1
== rate_ofdm_start
)
27744 power
[++rate1
] = power
[rate2
];
27748 void wlc_phy_txpwr_apply_nphy(phy_info_t
*pi
)
27750 uint rate1
, rate2
, band_num
;
27751 u8 tmp_bw40po
= 0, tmp_cddpo
= 0, tmp_stbcpo
= 0;
27752 u8 tmp_max_pwr
= 0;
27753 u16 pwr_offsets1
[2], *pwr_offsets2
= NULL
;
27754 u8
*tx_srom_max_rate
= NULL
;
27756 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27757 switch (band_num
) {
27760 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_2g
,
27761 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
);
27763 pwr_offsets1
[0] = pi
->cck2gpo
;
27764 wlc_phy_txpwr_nphy_srom_convert(pi
->tx_srom_max_rate_2g
,
27770 pwr_offsets1
[0] = (u16
) (pi
->ofdm2gpo
& 0xffff);
27772 (u16
) (pi
->ofdm2gpo
>> 16) & 0xffff;
27774 pwr_offsets2
= pi
->mcs2gpo
;
27776 tmp_cddpo
= pi
->cdd2gpo
;
27777 tmp_stbcpo
= pi
->stbc2gpo
;
27778 tmp_bw40po
= pi
->bw402gpo
;
27780 tx_srom_max_rate
= pi
->tx_srom_max_rate_2g
;
27784 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
,
27785 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
);
27787 pwr_offsets1
[0] = (u16
) (pi
->ofdm5gpo
& 0xffff);
27789 (u16
) (pi
->ofdm5gpo
>> 16) & 0xffff;
27791 pwr_offsets2
= pi
->mcs5gpo
;
27793 tmp_cddpo
= pi
->cdd5gpo
;
27794 tmp_stbcpo
= pi
->stbc5gpo
;
27795 tmp_bw40po
= pi
->bw405gpo
;
27797 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_mid
;
27801 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
,
27802 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
);
27804 pwr_offsets1
[0] = (u16
) (pi
->ofdm5glpo
& 0xffff);
27806 (u16
) (pi
->ofdm5glpo
>> 16) & 0xffff;
27808 pwr_offsets2
= pi
->mcs5glpo
;
27810 tmp_cddpo
= pi
->cdd5glpo
;
27811 tmp_stbcpo
= pi
->stbc5glpo
;
27812 tmp_bw40po
= pi
->bw405glpo
;
27814 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_low
;
27818 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
,
27819 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
);
27821 pwr_offsets1
[0] = (u16
) (pi
->ofdm5ghpo
& 0xffff);
27823 (u16
) (pi
->ofdm5ghpo
>> 16) & 0xffff;
27825 pwr_offsets2
= pi
->mcs5ghpo
;
27827 tmp_cddpo
= pi
->cdd5ghpo
;
27828 tmp_stbcpo
= pi
->stbc5ghpo
;
27829 tmp_bw40po
= pi
->bw405ghpo
;
27831 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_hi
;
27835 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets1
,
27836 tmp_max_pwr
, TXP_FIRST_OFDM
,
27839 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate
,
27840 TXP_FIRST_MCS_20_SISO
,
27841 TXP_LAST_MCS_20_SISO
,
27844 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27846 TXP_FIRST_MCS_20_CDD
,
27847 TXP_LAST_MCS_20_CDD
);
27849 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27851 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27852 TXP_FIRST_MCS_20_CDD
,
27853 TXP_LAST_MCS_20_CDD
);
27856 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27857 TXP_FIRST_OFDM_20_CDD
,
27858 TXP_LAST_OFDM_20_CDD
,
27859 TXP_FIRST_MCS_20_CDD
);
27861 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27863 TXP_FIRST_MCS_20_STBC
,
27864 TXP_LAST_MCS_20_STBC
);
27866 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27868 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27870 TXP_FIRST_MCS_20_STBC
,
27871 TXP_LAST_MCS_20_STBC
);
27874 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27875 &pwr_offsets2
[2], tmp_max_pwr
,
27876 TXP_FIRST_MCS_20_SDM
,
27877 TXP_LAST_MCS_20_SDM
);
27879 if (NPHY_IS_SROM_REINTERPRET
) {
27881 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27884 TXP_FIRST_MCS_40_SISO
,
27885 TXP_LAST_MCS_40_SISO
);
27887 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27888 TXP_FIRST_OFDM_40_SISO
,
27889 TXP_LAST_OFDM_40_SISO
,
27890 TXP_FIRST_MCS_40_SISO
);
27892 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27895 TXP_FIRST_MCS_40_CDD
,
27896 TXP_LAST_MCS_40_CDD
);
27898 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27899 TXP_FIRST_MCS_40_CDD
,
27900 TXP_LAST_MCS_40_CDD
);
27902 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27903 TXP_FIRST_OFDM_40_CDD
,
27904 TXP_LAST_OFDM_40_CDD
,
27905 TXP_FIRST_MCS_40_CDD
);
27907 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27910 TXP_FIRST_MCS_40_STBC
,
27911 TXP_LAST_MCS_40_STBC
);
27913 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27915 TXP_FIRST_MCS_40_STBC
,
27916 TXP_LAST_MCS_40_STBC
);
27918 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27921 TXP_FIRST_MCS_40_SDM
,
27922 TXP_LAST_MCS_40_SDM
);
27925 for (rate1
= TXP_FIRST_OFDM_40_SISO
, rate2
=
27926 TXP_FIRST_OFDM
; rate1
<= TXP_LAST_MCS_40_SDM
;
27928 tx_srom_max_rate
[rate1
] =
27929 tx_srom_max_rate
[rate2
];
27932 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27933 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27935 TXP_FIRST_OFDM_40_SISO
,
27936 TXP_LAST_MCS_40_SDM
);
27939 tx_srom_max_rate
[TXP_MCS_32
] =
27940 tx_srom_max_rate
[TXP_FIRST_MCS_40_CDD
];
27946 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t
*pi
)
27948 u16 bw40po
, cddpo
, stbcpo
, bwduppo
;
27951 if (pi
->sh
->sromrev
>= 9) {
27956 bw40po
= (u16
) PHY_GETINTVAR(pi
, "bw40po");
27957 pi
->bw402gpo
= bw40po
& 0xf;
27958 pi
->bw405gpo
= (bw40po
& 0xf0) >> 4;
27959 pi
->bw405glpo
= (bw40po
& 0xf00) >> 8;
27960 pi
->bw405ghpo
= (bw40po
& 0xf000) >> 12;
27962 cddpo
= (u16
) PHY_GETINTVAR(pi
, "cddpo");
27963 pi
->cdd2gpo
= cddpo
& 0xf;
27964 pi
->cdd5gpo
= (cddpo
& 0xf0) >> 4;
27965 pi
->cdd5glpo
= (cddpo
& 0xf00) >> 8;
27966 pi
->cdd5ghpo
= (cddpo
& 0xf000) >> 12;
27968 stbcpo
= (u16
) PHY_GETINTVAR(pi
, "stbcpo");
27969 pi
->stbc2gpo
= stbcpo
& 0xf;
27970 pi
->stbc5gpo
= (stbcpo
& 0xf0) >> 4;
27971 pi
->stbc5glpo
= (stbcpo
& 0xf00) >> 8;
27972 pi
->stbc5ghpo
= (stbcpo
& 0xf000) >> 12;
27974 bwduppo
= (u16
) PHY_GETINTVAR(pi
, "bwduppo");
27975 pi
->bwdup2gpo
= bwduppo
& 0xf;
27976 pi
->bwdup5gpo
= (bwduppo
& 0xf0) >> 4;
27977 pi
->bwdup5glpo
= (bwduppo
& 0xf00) >> 8;
27978 pi
->bwdup5ghpo
= (bwduppo
& 0xf000) >> 12;
27980 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27981 switch (band_num
) {
27984 pi
->nphy_txpid2g
[PHY_CORE_0
] =
27985 (u8
) PHY_GETINTVAR(pi
, "txpid2ga0");
27986 pi
->nphy_txpid2g
[PHY_CORE_1
] =
27987 (u8
) PHY_GETINTVAR(pi
, "txpid2ga1");
27988 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_2g
=
27989 (s8
) PHY_GETINTVAR(pi
, "maxp2ga0");
27990 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_2g
=
27991 (s8
) PHY_GETINTVAR(pi
, "maxp2ga1");
27992 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_a1
=
27993 (s16
) PHY_GETINTVAR(pi
, "pa2gw0a0");
27994 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_a1
=
27995 (s16
) PHY_GETINTVAR(pi
, "pa2gw0a1");
27996 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b0
=
27997 (s16
) PHY_GETINTVAR(pi
, "pa2gw1a0");
27998 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b0
=
27999 (s16
) PHY_GETINTVAR(pi
, "pa2gw1a1");
28000 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b1
=
28001 (s16
) PHY_GETINTVAR(pi
, "pa2gw2a0");
28002 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b1
=
28003 (s16
) PHY_GETINTVAR(pi
, "pa2gw2a1");
28004 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_2g
=
28005 (s8
) PHY_GETINTVAR(pi
, "itt2ga0");
28006 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_2g
=
28007 (s8
) PHY_GETINTVAR(pi
, "itt2ga1");
28009 pi
->cck2gpo
= (u16
) PHY_GETINTVAR(pi
, "cck2gpo");
28011 pi
->ofdm2gpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm2gpo");
28013 pi
->mcs2gpo
[0] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo0");
28014 pi
->mcs2gpo
[1] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo1");
28015 pi
->mcs2gpo
[2] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo2");
28016 pi
->mcs2gpo
[3] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo3");
28017 pi
->mcs2gpo
[4] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo4");
28018 pi
->mcs2gpo
[5] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo5");
28019 pi
->mcs2gpo
[6] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo6");
28020 pi
->mcs2gpo
[7] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo7");
28024 pi
->nphy_txpid5g
[PHY_CORE_0
] =
28025 (u8
) PHY_GETINTVAR(pi
, "txpid5ga0");
28026 pi
->nphy_txpid5g
[PHY_CORE_1
] =
28027 (u8
) PHY_GETINTVAR(pi
, "txpid5ga1");
28028 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_5gm
=
28029 (s8
) PHY_GETINTVAR(pi
, "maxp5ga0");
28030 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_5gm
=
28031 (s8
) PHY_GETINTVAR(pi
, "maxp5ga1");
28032 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_a1
=
28033 (s16
) PHY_GETINTVAR(pi
, "pa5gw0a0");
28034 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_a1
=
28035 (s16
) PHY_GETINTVAR(pi
, "pa5gw0a1");
28036 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b0
=
28037 (s16
) PHY_GETINTVAR(pi
, "pa5gw1a0");
28038 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b0
=
28039 (s16
) PHY_GETINTVAR(pi
, "pa5gw1a1");
28040 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b1
=
28041 (s16
) PHY_GETINTVAR(pi
, "pa5gw2a0");
28042 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b1
=
28043 (s16
) PHY_GETINTVAR(pi
, "pa5gw2a1");
28044 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_5gm
=
28045 (s8
) PHY_GETINTVAR(pi
, "itt5ga0");
28046 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_5gm
=
28047 (s8
) PHY_GETINTVAR(pi
, "itt5ga1");
28049 pi
->ofdm5gpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5gpo");
28051 pi
->mcs5gpo
[0] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo0");
28052 pi
->mcs5gpo
[1] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo1");
28053 pi
->mcs5gpo
[2] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo2");
28054 pi
->mcs5gpo
[3] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo3");
28055 pi
->mcs5gpo
[4] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo4");
28056 pi
->mcs5gpo
[5] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo5");
28057 pi
->mcs5gpo
[6] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo6");
28058 pi
->mcs5gpo
[7] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo7");
28062 pi
->nphy_txpid5gl
[0] =
28063 (u8
) PHY_GETINTVAR(pi
, "txpid5gla0");
28064 pi
->nphy_txpid5gl
[1] =
28065 (u8
) PHY_GETINTVAR(pi
, "txpid5gla1");
28066 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
=
28067 (s8
) PHY_GETINTVAR(pi
, "maxp5gla0");
28068 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
=
28069 (s8
) PHY_GETINTVAR(pi
, "maxp5gla1");
28070 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
=
28071 (s16
) PHY_GETINTVAR(pi
, "pa5glw0a0");
28072 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
=
28073 (s16
) PHY_GETINTVAR(pi
, "pa5glw0a1");
28074 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
=
28075 (s16
) PHY_GETINTVAR(pi
, "pa5glw1a0");
28076 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
=
28077 (s16
) PHY_GETINTVAR(pi
, "pa5glw1a1");
28078 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
=
28079 (s16
) PHY_GETINTVAR(pi
, "pa5glw2a0");
28080 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
=
28081 (s16
) PHY_GETINTVAR(pi
, "pa5glw2a1");
28082 pi
->nphy_pwrctrl_info
[0].idle_targ_5gl
= 0;
28083 pi
->nphy_pwrctrl_info
[1].idle_targ_5gl
= 0;
28085 pi
->ofdm5glpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5glpo");
28088 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo0");
28090 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo1");
28092 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo2");
28094 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo3");
28096 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo4");
28098 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo5");
28100 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo6");
28102 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo7");
28106 pi
->nphy_txpid5gh
[0] =
28107 (u8
) PHY_GETINTVAR(pi
, "txpid5gha0");
28108 pi
->nphy_txpid5gh
[1] =
28109 (u8
) PHY_GETINTVAR(pi
, "txpid5gha1");
28110 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
=
28111 (s8
) PHY_GETINTVAR(pi
, "maxp5gha0");
28112 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
=
28113 (s8
) PHY_GETINTVAR(pi
, "maxp5gha1");
28114 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
=
28115 (s16
) PHY_GETINTVAR(pi
, "pa5ghw0a0");
28116 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
=
28117 (s16
) PHY_GETINTVAR(pi
, "pa5ghw0a1");
28118 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
=
28119 (s16
) PHY_GETINTVAR(pi
, "pa5ghw1a0");
28120 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
=
28121 (s16
) PHY_GETINTVAR(pi
, "pa5ghw1a1");
28122 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
=
28123 (s16
) PHY_GETINTVAR(pi
, "pa5ghw2a0");
28124 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
=
28125 (s16
) PHY_GETINTVAR(pi
, "pa5ghw2a1");
28126 pi
->nphy_pwrctrl_info
[0].idle_targ_5gh
= 0;
28127 pi
->nphy_pwrctrl_info
[1].idle_targ_5gh
= 0;
28129 pi
->ofdm5ghpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5ghpo");
28132 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo0");
28134 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo1");
28136 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo2");
28138 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo3");
28140 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo4");
28142 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo5");
28144 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo6");
28146 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo7");
28151 wlc_phy_txpwr_apply_nphy(pi
);
28154 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t
*pi
)
28157 pi
->antswitch
= (u8
) PHY_GETINTVAR(pi
, "antswitch");
28158 pi
->aa2g
= (u8
) PHY_GETINTVAR(pi
, "aa2g");
28159 pi
->aa5g
= (u8
) PHY_GETINTVAR(pi
, "aa5g");
28161 pi
->srom_fem2g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos2g");
28162 pi
->srom_fem2g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain2g");
28163 pi
->srom_fem2g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange2g");
28164 pi
->srom_fem2g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso2g");
28165 pi
->srom_fem2g
.antswctrllut
= (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28167 pi
->srom_fem5g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos5g");
28168 pi
->srom_fem5g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain5g");
28169 pi
->srom_fem5g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange5g");
28170 pi
->srom_fem5g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso5g");
28171 if (PHY_GETVAR(pi
, "antswctl5g")) {
28173 pi
->srom_fem5g
.antswctrllut
=
28174 (u8
) PHY_GETINTVAR(pi
, "antswctl5g");
28177 pi
->srom_fem5g
.antswctrllut
=
28178 (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28181 wlc_phy_txpower_ipa_upd(pi
);
28183 pi
->phy_txcore_disable_temp
= (s16
) PHY_GETINTVAR(pi
, "tempthresh");
28184 if (pi
->phy_txcore_disable_temp
== 0) {
28185 pi
->phy_txcore_disable_temp
= PHY_CHAIN_TX_DISABLE_TEMP
;
28188 pi
->phy_tempsense_offset
= (s8
) PHY_GETINTVAR(pi
, "tempoffset");
28189 if (pi
->phy_tempsense_offset
!= 0) {
28190 if (pi
->phy_tempsense_offset
>
28191 (NPHY_SROM_TEMPSHIFT
+ NPHY_SROM_MAXTEMPOFFSET
)) {
28192 pi
->phy_tempsense_offset
= NPHY_SROM_MAXTEMPOFFSET
;
28193 } else if (pi
->phy_tempsense_offset
< (NPHY_SROM_TEMPSHIFT
+
28194 NPHY_SROM_MINTEMPOFFSET
)) {
28195 pi
->phy_tempsense_offset
= NPHY_SROM_MINTEMPOFFSET
;
28197 pi
->phy_tempsense_offset
-= NPHY_SROM_TEMPSHIFT
;
28201 pi
->phy_txcore_enable_temp
=
28202 pi
->phy_txcore_disable_temp
- PHY_HYSTERESIS_DELTATEMP
;
28204 pi
->phycal_tempdelta
= (u8
) PHY_GETINTVAR(pi
, "phycal_tempdelta");
28205 if (pi
->phycal_tempdelta
> NPHY_CAL_MAXTEMPDELTA
) {
28206 pi
->phycal_tempdelta
= 0;
28209 wlc_phy_txpwr_srom_read_ppr_nphy(pi
);
28214 void wlc_phy_txpower_recalc_target_nphy(phy_info_t
*pi
)
28216 u8 tx_pwr_ctrl_state
;
28217 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28218 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
28220 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
28222 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28223 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28224 (void)R_REG(&pi
->regs
->maccontrol
);
28228 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
28230 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28231 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28234 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
)
28238 u32 iqcomp
, locomp
, curr_locomp
;
28239 s8 locomp_i
, locomp_q
;
28240 s8 curr_locomp_i
, curr_locomp_q
;
28241 u32 tbl_id
, tbl_len
, tbl_offset
;
28244 if (pi
->phyhang_avoid
)
28245 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28247 wlc_phy_table_read_nphy(pi
, 15, 7, 80, 16, iqloCalbuf
);
28251 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28252 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28255 26) ? (((u32
) (iqloCalbuf
[0] & 0x3ff)) << 10) |
28256 (iqloCalbuf
[1] & 0x3ff)
28257 : (((u32
) (iqloCalbuf
[2] & 0x3ff)) << 10) |
28258 (iqloCalbuf
[3] & 0x3ff);
28260 for (idx
= 0; idx
< tbl_len
; idx
++) {
28261 regval
[idx
] = iqcomp
;
28263 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28268 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28269 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28272 (u32
) ((tbl_id
== 26) ? iqloCalbuf
[5] : iqloCalbuf
[6]);
28273 locomp_i
= (s8
) ((locomp
>> 8) & 0xff);
28274 locomp_q
= (s8
) ((locomp
) & 0xff);
28275 for (idx
= 0; idx
< tbl_len
; idx
++) {
28276 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28277 curr_locomp_i
= locomp_i
;
28278 curr_locomp_q
= locomp_q
;
28280 curr_locomp_i
= (s8
) ((locomp_i
*
28281 nphy_tpc_loscale
[idx
] +
28284 (s8
) ((locomp_q
* nphy_tpc_loscale
[idx
] +
28287 curr_locomp
= (u32
) ((curr_locomp_i
& 0xff) << 8);
28288 curr_locomp
|= (u32
) (curr_locomp_q
& 0xff);
28289 regval
[idx
] = curr_locomp
;
28291 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28295 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
28297 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX1
, 0xFFFF);
28298 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX2
, 0xFFFF);
28301 if (pi
->phyhang_avoid
)
28302 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28305 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t
*pi
)
28309 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28310 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28311 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28312 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28313 TX_SSI_MASTER
, 0x5);
28314 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28317 if (pi
->pubpi
.radiorev
!= 5)
28318 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28321 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28323 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28327 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28328 core
, TSSIG
, 0x31);
28331 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28332 TX_SSI_MASTER
, 0x9);
28333 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28335 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28338 if (pi
->pubpi
.radiorev
!= 5) {
28339 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28341 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28346 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28352 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
28354 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
28356 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
28358 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
28362 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR31
,
28363 (CHSPEC_IS2G(pi
->radio_chanspec
)) ? 0x128 :
28365 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR30
, 0x0);
28366 WRITE_RADIO_SYN(pi
, RADIO_2056
, GPIO_MASTER1
, 0x29);
28368 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28369 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_VCM_HG
,
28371 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_IDAC
,
28373 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_VCM
,
28375 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TX_AMP_DET
,
28377 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC1
,
28379 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC2
,
28381 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC3
,
28384 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28385 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28386 TX_SSI_MASTER
, 0x5);
28388 if (pi
->pubpi
.radiorev
!= 5)
28389 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28391 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
28393 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28394 core
, TSSIG
, 0x31);
28396 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28397 core
, TSSIG
, 0x11);
28399 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28402 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28403 TX_SSI_MASTER
, 0x9);
28404 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28406 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28408 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28415 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
)
28420 if (SCAN_RM_IN_PROGRESS(pi
) || PLT_INPROG_PHY(pi
) || PHY_MUTED(pi
))
28425 wlc_phy_ipa_internal_tssi_setup_nphy(pi
);
28428 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28429 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28431 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28432 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28433 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 0);
28436 wlc_phy_stopplayback_nphy(pi
);
28438 wlc_phy_tx_tone_nphy(pi
, 4000, 0, 0, 0, false);
28442 wlc_phy_poll_rssi_nphy(pi
, (u8
) NPHY_RSSI_SEL_TSSI_2G
, rssi_buf
,
28444 wlc_phy_stopplayback_nphy(pi
);
28445 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, 0);
28447 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28448 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28450 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28451 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28452 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 1);
28455 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28457 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28458 (u8
) ((int_val
>> 24) & 0xff);
28459 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28460 (u8
) ((int_val
>> 24) & 0xff);
28462 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28463 (u8
) ((int_val
>> 8) & 0xff);
28464 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28465 (u8
) ((int_val
>> 8) & 0xff);
28467 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28468 (u8
) ((int_val
>> 24) & 0xff);
28470 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28471 (u8
) ((int_val
>> 8) & 0xff);
28473 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28474 (u8
) ((int_val
>> 16) & 0xff);
28475 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28476 (u8
) ((int_val
) & 0xff);
28481 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
)
28484 s16 a1
[2], b0
[2], b1
[2];
28485 s8 target_pwr_qtrdbm
[2];
28486 s32 num
, den
, pwr_est
;
28487 u8 chan_freq_range
;
28489 u32 tbl_id
, tbl_len
, tbl_offset
;
28493 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28494 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28495 (void)R_REG(&pi
->regs
->maccontrol
);
28499 if (pi
->phyhang_avoid
)
28500 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28502 or_phy_reg(pi
, 0x122, (0x1 << 0));
28504 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28505 and_phy_reg(pi
, 0x1e7, (u16
) (~(0x1 << 15)));
28508 or_phy_reg(pi
, 0x1e7, (0x1 << 15));
28511 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28512 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28514 if (pi
->sh
->sromrev
< 4) {
28515 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28516 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28517 target_pwr_qtrdbm
[0] = 13 * 4;
28518 target_pwr_qtrdbm
[1] = 13 * 4;
28527 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
28528 switch (chan_freq_range
) {
28529 case WL_CHAN_FREQ_RANGE_2G
:
28530 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28531 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28532 target_pwr_qtrdbm
[0] =
28533 pi
->nphy_pwrctrl_info
[0].max_pwr_2g
;
28534 target_pwr_qtrdbm
[1] =
28535 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
;
28536 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_a1
;
28537 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_a1
;
28538 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b0
;
28539 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b0
;
28540 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b1
;
28541 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b1
;
28543 case WL_CHAN_FREQ_RANGE_5GL
:
28544 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28545 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28546 target_pwr_qtrdbm
[0] =
28547 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
;
28548 target_pwr_qtrdbm
[1] =
28549 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
;
28550 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
;
28551 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
;
28552 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
;
28553 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
;
28554 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
;
28555 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
;
28557 case WL_CHAN_FREQ_RANGE_5GM
:
28558 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28559 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28560 target_pwr_qtrdbm
[0] =
28561 pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
;
28562 target_pwr_qtrdbm
[1] =
28563 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
;
28564 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_a1
;
28565 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_a1
;
28566 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b0
;
28567 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b0
;
28568 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b1
;
28569 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b1
;
28571 case WL_CHAN_FREQ_RANGE_5GH
:
28572 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28573 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28574 target_pwr_qtrdbm
[0] =
28575 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
;
28576 target_pwr_qtrdbm
[1] =
28577 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
;
28578 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
;
28579 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
;
28580 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
;
28581 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
;
28582 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
;
28583 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
;
28586 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28587 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28588 target_pwr_qtrdbm
[0] = 13 * 4;
28589 target_pwr_qtrdbm
[1] = 13 * 4;
28600 target_pwr_qtrdbm
[0] = (s8
) pi
->tx_power_max
;
28601 target_pwr_qtrdbm
[1] = (s8
) pi
->tx_power_max
;
28603 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28604 if (pi
->srom_fem2g
.tssipos
) {
28605 or_phy_reg(pi
, 0x1e9, (0x1 << 14));
28608 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28609 for (core
= 0; core
<= 1; core
++) {
28612 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28613 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28618 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28629 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28633 radio_chanspec
)) ? 0xc : 0xe);
28634 write_radio_reg(pi
,
28635 RADIO_2056_TX_TX_SSI_MUX
|
28639 radio_chanspec
)) ? 0xc : 0xe);
28642 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28643 RADIO_2056_TX0
, 0x11);
28644 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28645 RADIO_2056_TX1
, 0x11);
28650 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28651 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28652 (void)R_REG(&pi
->regs
->maccontrol
);
28656 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28657 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28658 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28660 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28661 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28664 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28665 mod_phy_reg(pi
, 0x222, (0xff << 0),
28666 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28667 } else if (NREV_GT(pi
->pubpi
.phy_rev
, 1)) {
28668 mod_phy_reg(pi
, 0x222, (0xff << 0),
28669 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28672 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28673 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28675 write_phy_reg(pi
, 0x1e8, (0x3 << 8) | (240 << 0));
28677 write_phy_reg(pi
, 0x1e9,
28678 (1 << 15) | (idle_tssi
[0] << 0) | (idle_tssi
[1] << 8));
28680 write_phy_reg(pi
, 0x1ea,
28681 (target_pwr_qtrdbm
[0] << 0) |
28682 (target_pwr_qtrdbm
[1] << 8));
28686 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28687 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28689 for (idx
= 0; idx
< tbl_len
; idx
++) {
28691 8 * (16 * b0
[tbl_id
- 26] + b1
[tbl_id
- 26] * idx
);
28692 den
= 32768 + a1
[tbl_id
- 26] * idx
;
28693 pwr_est
= max(((4 * num
+ den
/ 2) / den
), -8);
28694 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
28696 (uint
) (31 - idle_tssi
[tbl_id
- 26] + 1))
28699 target_pwr_qtrdbm
[tbl_id
- 26] +
28702 regval
[idx
] = (u32
) pwr_est
;
28704 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28708 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28709 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64, 8,
28710 pi
->adj_pwr_tbl_nphy
);
28711 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64, 8,
28712 pi
->adj_pwr_tbl_nphy
);
28714 if (pi
->phyhang_avoid
)
28715 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28718 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
)
28720 return read_phy_reg((pi
), 0x1e7) & ((0x1 << 15) |
28721 (0x1 << 14) | (0x1 << 13));
28724 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
)
28727 tmp
= read_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x1ed : 0x1ee));
28729 tmp
= (tmp
& (0x7f << 8)) >> 8;
28734 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
, u8 idx1
)
28736 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), idx0
);
28738 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28739 mod_phy_reg(pi
, 0x222, (0xff << 0), idx1
);
28742 u16
wlc_phy_txpwr_idx_get_nphy(phy_info_t
*pi
)
28747 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28748 pwr_idx
[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_0
);
28749 pwr_idx
[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_1
);
28751 tmp
= (pwr_idx
[0] << 8) | pwr_idx
[1];
28754 ((pi
->nphy_txpwrindex
[PHY_CORE_0
].
28755 index_internal
& 0xff) << 8) | (pi
->
28758 index_internal
& 0xff);
28764 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t
*pi
)
28767 && (pi
->nphy_force_papd_cal
28768 || (wlc_phy_txpwr_ison_nphy(pi
)
28771 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 0) -
28772 pi
->nphy_papd_tx_gain_at_last_cal
[0]) >= 4)
28774 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 1) -
28775 pi
->nphy_papd_tx_gain_at_last_cal
[1]) >= 4))))) {
28776 wlc_phy_a4(pi
, true);
28780 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t
*pi
, u8 ctrl_type
)
28782 u16 mask
= 0, val
= 0, ishw
= 0;
28789 if (pi
->phyhang_avoid
)
28790 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28792 switch (ctrl_type
) {
28793 case PHY_TPC_HW_OFF
:
28794 case PHY_TPC_HW_ON
:
28795 pi
->nphy_txpwrctrl
= ctrl_type
;
28801 if (ctrl_type
== PHY_TPC_HW_OFF
) {
28802 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28804 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28805 for (core
= 0; core
< pi
->pubpi
.phy_corenum
;
28807 pi
->nphy_txpwr_idx
[core
] =
28808 wlc_phy_txpwr_idx_cur_get_nphy(pi
,
28817 for (ctr
= 0; ctr
< tbl_len
; ctr
++) {
28820 wlc_phy_table_write_nphy(pi
, 26, tbl_len
, tbl_offset
, 16,
28822 wlc_phy_table_write_nphy(pi
, 27, tbl_len
, tbl_offset
, 16,
28825 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28827 and_phy_reg(pi
, 0x1e7,
28828 (u16
) (~((0x1 << 15) |
28829 (0x1 << 14) | (0x1 << 13))));
28831 and_phy_reg(pi
, 0x1e7,
28832 (u16
) (~((0x1 << 14) | (0x1 << 13))));
28835 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28836 or_phy_reg(pi
, 0x8f, (0x1 << 8));
28837 or_phy_reg(pi
, 0xa5, (0x1 << 8));
28839 or_phy_reg(pi
, 0xa5, (0x1 << 14));
28842 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28843 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x53);
28844 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28845 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x5a);
28847 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28848 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28849 MHF1_IQSWAP_WAR
, WLC_BAND_ALL
);
28853 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64,
28854 8, pi
->adj_pwr_tbl_nphy
);
28855 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64,
28856 8, pi
->adj_pwr_tbl_nphy
);
28858 ishw
= (ctrl_type
== PHY_TPC_HW_ON
) ? 0x1 : 0x0;
28859 mask
= (0x1 << 14) | (0x1 << 13);
28860 val
= (ishw
<< 14) | (ishw
<< 13);
28862 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28863 mask
|= (0x1 << 15);
28864 val
|= (ishw
<< 15);
28867 mod_phy_reg(pi
, 0x1e7, mask
, val
);
28869 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
28870 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28871 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x32);
28872 mod_phy_reg(pi
, 0x222, (0xff << 0), 0x32);
28874 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x64);
28875 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28876 mod_phy_reg(pi
, 0x222,
28877 (0xff << 0), 0x64);
28881 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28882 if ((pi
->nphy_txpwr_idx
[0] != 128)
28883 && (pi
->nphy_txpwr_idx
[1] != 128)) {
28884 wlc_phy_txpwr_idx_cur_set_nphy(pi
,
28894 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28895 and_phy_reg(pi
, 0x8f, ~(0x1 << 8));
28896 and_phy_reg(pi
, 0xa5, ~(0x1 << 8));
28898 and_phy_reg(pi
, 0xa5, ~(0x1 << 14));
28901 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28902 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
28903 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28904 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
28906 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28907 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28908 0x0, WLC_BAND_ALL
);
28911 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
28912 0x29b, (0x1 << 2), (0) << 2);
28914 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
28915 0x29b, (0x1 << 2), (0) << 2);
28921 if (pi
->phyhang_avoid
)
28922 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28926 wlc_phy_txpwr_index_nphy(phy_info_t
*pi
, u8 core_mask
, s8 txpwrindex
,
28929 u8 core
, txpwrctl_tbl
;
28930 u16 tx_ind0
, iq_ind0
, lo_ind0
;
28933 u16 rad_gain
, dac_gain
;
28936 u16 iqcomp_a
, iqcomp_b
;
28939 u8 tx_pwr_ctrl_state
;
28943 if (pi
->phyhang_avoid
)
28944 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28950 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28952 if ((core_mask
& (1 << core
)) == 0) {
28956 txpwrctl_tbl
= (core
== PHY_CORE_0
) ? 26 : 27;
28958 if (txpwrindex
< 0) {
28959 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
28964 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28965 mod_phy_reg(pi
, 0x8f,
28967 pi
->nphy_txpwrindex
[core
].
28969 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
28970 pi
->nphy_txpwrindex
[core
].
28973 mod_phy_reg(pi
, 0xa5,
28975 pi
->nphy_txpwrindex
[core
].
28979 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
28981 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
);
28983 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
28984 &pi
->nphy_txpwrindex
[core
].
28987 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28988 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
28989 m1m2
|= ((core
== PHY_CORE_0
) ?
28990 (pi
->nphy_txpwrindex
[core
].bbmult
<< 8) :
28991 (pi
->nphy_txpwrindex
[core
].bbmult
<< 0));
28992 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28994 if (restore_cals
) {
28996 wlc_phy_table_write_nphy(pi
, 15, 2,
28997 (80 + 2 * core
), 16,
28999 nphy_txpwrindex
[core
].
29002 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
29005 nphy_txpwrindex
[core
].
29007 wlc_phy_table_write_nphy(pi
, 15, 1, (93 + core
),
29010 nphy_txpwrindex
[core
].
29014 wlc_phy_txpwrctrl_enable_nphy(pi
, pi
->nphy_txpwrctrl
);
29016 pi
->nphy_txpwrindex
[core
].index_internal
=
29017 pi
->nphy_txpwrindex
[core
].index_internal_save
;
29020 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
29022 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29023 mod_phy_reg(pi
, 0x8f,
29025 pi
->nphy_txpwrindex
[core
].
29027 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
29028 pi
->nphy_txpwrindex
[core
].
29031 pi
->nphy_txpwrindex
[core
].
29033 read_phy_reg(pi
, 0xa5);
29036 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
=
29039 PHY_CORE_0
) ? 0xaa : 0xab);
29041 wlc_phy_table_read_nphy(pi
, 7, 1,
29042 (0x110 + core
), 16,
29044 nphy_txpwrindex
[core
].
29047 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
29049 tmpval
>>= ((core
== PHY_CORE_0
) ? 8 : 0);
29051 pi
->nphy_txpwrindex
[core
].bbmult
=
29054 wlc_phy_table_read_nphy(pi
, 15, 2,
29055 (80 + 2 * core
), 16,
29057 nphy_txpwrindex
[core
].
29060 wlc_phy_table_read_nphy(pi
, 15, 1, (85 + core
),
29063 nphy_txpwrindex
[core
].
29066 pi
->nphy_txpwrindex
[core
].index_internal_save
=
29067 pi
->nphy_txpwrindex
[core
].index_internal
;
29070 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
29071 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
29073 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29074 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
29076 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29077 (tx_ind0
+ txpwrindex
), 32,
29080 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29082 (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
29085 (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
29087 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
29088 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
29090 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29091 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
29092 0xa5), (0x1 << 8), (0x1 << 8));
29094 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
29096 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
29097 0xaa : 0xab, dac_gain
);
29099 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
29102 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29103 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
29106 PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
29108 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29110 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29111 (iq_ind0
+ txpwrindex
), 32,
29113 iqcomp_a
= (iqcomp
>> 10) & ((1 << (19 - 10 + 1)) - 1);
29114 iqcomp_b
= (iqcomp
>> 0) & ((1 << (9 - 0 + 1)) - 1);
29116 if (restore_cals
) {
29117 regval
[0] = (u16
) iqcomp_a
;
29118 regval
[1] = (u16
) iqcomp_b
;
29119 wlc_phy_table_write_nphy(pi
, 15, 2,
29120 (80 + 2 * core
), 16,
29124 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29125 (lo_ind0
+ txpwrindex
), 32,
29127 if (restore_cals
) {
29128 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
29132 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29133 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
29136 wlc_phy_table_read_nphy(pi
,
29139 NPHY_TBL_ID_CORE1TXPWRCTL
29141 NPHY_TBL_ID_CORE2TXPWRCTL
),
29142 1, 576 + txpwrindex
, 32,
29145 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29146 0x29b, (0x1ff << 4),
29147 ((s16
) rfpwr_offset
) << 4);
29149 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29150 0x29b, (0x1 << 2), (1) << 2);
29154 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
29157 pi
->nphy_txpwrindex
[core
].index
= txpwrindex
;
29160 if (pi
->phyhang_avoid
)
29161 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
29165 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t
*pi
, uint chan
, u8
*max_pwr
,
29168 u8 chan_freq_range
;
29170 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, chan
);
29171 switch (chan_freq_range
) {
29172 case WL_CHAN_FREQ_RANGE_2G
:
29173 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29175 case WL_CHAN_FREQ_RANGE_5GM
:
29176 *max_pwr
= pi
->tx_srom_max_rate_5g_mid
[txp_rate_idx
];
29178 case WL_CHAN_FREQ_RANGE_5GL
:
29179 *max_pwr
= pi
->tx_srom_max_rate_5g_low
[txp_rate_idx
];
29181 case WL_CHAN_FREQ_RANGE_5GH
:
29182 *max_pwr
= pi
->tx_srom_max_rate_5g_hi
[txp_rate_idx
];
29186 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29193 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t
*pi
, bool enable
)
29195 u16 clip_off
[] = { 0xffff, 0xffff };
29197 ASSERT(0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
29200 if (pi
->nphy_deaf_count
== 0) {
29201 pi
->classifier_state
=
29202 wlc_phy_classifier_nphy(pi
, 0, 0);
29203 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
29204 wlc_phy_clip_det_nphy(pi
, 0, pi
->clip_state
);
29205 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
29208 pi
->nphy_deaf_count
++;
29210 wlc_phy_resetcca_nphy(pi
);
29213 ASSERT(pi
->nphy_deaf_count
> 0);
29215 pi
->nphy_deaf_count
--;
29217 if (pi
->nphy_deaf_count
== 0) {
29218 wlc_phy_classifier_nphy(pi
, (0x7 << 0),
29219 pi
->classifier_state
);
29220 wlc_phy_clip_det_nphy(pi
, 1, pi
->clip_state
);
29225 void wlc_nphy_deaf_mode(phy_info_t
*pi
, bool mode
)
29227 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
29230 if (pi
->nphy_deaf_count
== 0)
29231 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
29233 if (pi
->nphy_deaf_count
> 0)
29234 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
29236 wlapi_enable_mac(pi
->sh
->physhim
);