2 * Copyright (c) 2010 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #include <linux/kernel.h>
18 #include <linux/string.h>
21 #include <linux/delay.h>
22 #include <linux/pci.h>
30 #include <wlc_phy_radio.h>
31 #include <wlc_phy_int.h>
32 #include <wlc_phyreg_n.h>
33 #include <wlc_phytbl_n.h>
35 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
36 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
37 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
38 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
39 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
40 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
41 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
42 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
44 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
45 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
46 radio_type##_##jspace##1##_##reg_name));
47 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
48 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
49 radio_type##_##jspace##1##_##reg_name), value);
50 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
51 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
52 radio_type##_##reg_name##_##jspace##1));
53 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
54 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
55 radio_type##_##reg_name##_##jspace##1), value);
57 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
58 #define NPHY_ACI_CHANNEL_DELTA 5
59 #define NPHY_ACI_CHANNEL_SKIP 4
60 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
61 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
62 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
63 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
64 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
65 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
67 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
69 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
71 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
73 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
75 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
77 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
79 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
81 #define NPHY_NOISE_ASSOC_ENTER_TH 400
83 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
85 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
86 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
88 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
90 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
92 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
94 #define NPHY_RSSICAL_MAXREAD 31
96 #define NPHY_RSSICAL_NPOLL 8
97 #define NPHY_RSSICAL_MAXD (1<<20)
98 #define NPHY_MIN_RXIQ_PWR 2
100 #define NPHY_RSSICAL_W1_TARGET 25
101 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
102 #define NPHY_RSSICAL_NB_TARGET 0
104 #define NPHY_RSSICAL_W1_TARGET_REV3 29
105 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
107 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
108 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
109 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
110 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
111 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
112 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
113 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
114 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
115 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
116 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
117 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
118 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
119 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
121 #define NPHY_IQCAL_NUMGAINS 9
122 #define NPHY_N_GCTL 0x66
124 #define NPHY_PAPD_EPS_TBL_SIZE 64
125 #define NPHY_PAPD_SCL_TBL_SIZE 64
126 #define NPHY_NUM_DIG_FILT_COEFFS 15
128 #define NPHY_PAPD_COMP_OFF 0
129 #define NPHY_PAPD_COMP_ON 1
131 #define NPHY_SROM_TEMPSHIFT 32
132 #define NPHY_SROM_MAXTEMPOFFSET 16
133 #define NPHY_SROM_MINTEMPOFFSET -16
135 #define NPHY_CAL_MAXTEMPDELTA 64
137 #define NPHY_NOISEVAR_TBLLEN40 256
138 #define NPHY_NOISEVAR_TBLLEN20 128
140 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
142 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
144 typedef struct _nphy_iqcal_params
{
152 } nphy_iqcal_params_t
;
154 typedef struct _nphy_txiqcal_ladder
{
157 } nphy_txiqcal_ladder_t
;
160 nphy_txgains_t gains
;
163 } nphy_ipa_txcalgains_t
;
165 typedef struct nphy_papd_restore_state_t
{
174 } nphy_papd_restore_state
;
176 typedef struct _nphy_ipa_txrxgain
{
183 } nphy_ipa_txrxgain_t
;
185 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
187 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz
[] = { {0, 0, 0, 0, 0, 100},
195 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz
[] = { {0, 0, 0, 0, 0, 128},
203 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7
[] = { {0, 0, 0, 0, 0, 100},
211 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7
[] = { {0, 0, 0, 0, 0, 10},
219 #define NPHY_RXCAL_TONEAMP 181
220 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
221 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
224 NPHY_RXCAL_GAIN_INIT
= 0,
229 #define wlc_phy_get_papd_nphy(pi) \
230 (read_phy_reg((pi), 0x1e7) & \
235 #define TXFILT_SHAPING_OFDM20 0
236 #define TXFILT_SHAPING_OFDM40 1
237 #define TXFILT_SHAPING_CCK 2
238 #define TXFILT_DEFAULT_OFDM20 3
239 #define TXFILT_DEFAULT_OFDM40 4
241 u16 NPHY_IPA_REV4_txdigi_filtcoeffs
[][NPHY_NUM_DIG_FILT_COEFFS
] = {
242 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
243 230, -44, 230, 201, -191, 201},
244 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
246 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
247 121, -73, 121, 91, 124, 91},
248 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
249 151, 301, 151, 602, -752, 602},
250 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
251 12, 25, 12, 13, 27, 13},
252 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
253 230, -44, 230, 201, -191, 201},
254 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
255 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
258 typedef struct _chan_info_nphy_2055
{
274 u8 RF_core1_lgbuf_a_tune
;
275 u8 RF_core1_lgbuf_g_tune
;
276 u8 RF_core1_rxrf_reg1
;
277 u8 RF_core1_tx_pga_pad_tn
;
278 u8 RF_core1_tx_mx_bgtrim
;
279 u8 RF_core2_lgbuf_a_tune
;
280 u8 RF_core2_lgbuf_g_tune
;
281 u8 RF_core2_rxrf_reg1
;
282 u8 RF_core2_tx_pga_pad_tn
;
283 u8 RF_core2_tx_mx_bgtrim
;
290 } chan_info_nphy_2055_t
;
292 typedef struct _chan_info_nphy_radio205x
{
295 u8 RF_SYN_pll_vcocal1
;
296 u8 RF_SYN_pll_vcocal2
;
297 u8 RF_SYN_pll_refdiv
;
300 u8 RF_SYN_pll_loopfilter1
;
301 u8 RF_SYN_pll_loopfilter2
;
302 u8 RF_SYN_pll_loopfilter3
;
303 u8 RF_SYN_pll_loopfilter4
;
304 u8 RF_SYN_pll_loopfilter5
;
305 u8 RF_SYN_reserved_addr27
;
306 u8 RF_SYN_reserved_addr28
;
307 u8 RF_SYN_reserved_addr29
;
308 u8 RF_SYN_logen_VCOBUF1
;
309 u8 RF_SYN_logen_MIXER2
;
310 u8 RF_SYN_logen_BUF3
;
311 u8 RF_SYN_logen_BUF4
;
314 u8 RF_TX0_intpaa_boost_tune
;
315 u8 RF_TX0_intpag_boost_tune
;
316 u8 RF_TX0_pada_boost_tune
;
317 u8 RF_TX0_padg_boost_tune
;
318 u8 RF_TX0_pgaa_boost_tune
;
319 u8 RF_TX0_pgag_boost_tune
;
320 u8 RF_TX0_mixa_boost_tune
;
321 u8 RF_TX0_mixg_boost_tune
;
324 u8 RF_TX1_intpaa_boost_tune
;
325 u8 RF_TX1_intpag_boost_tune
;
326 u8 RF_TX1_pada_boost_tune
;
327 u8 RF_TX1_padg_boost_tune
;
328 u8 RF_TX1_pgaa_boost_tune
;
329 u8 RF_TX1_pgag_boost_tune
;
330 u8 RF_TX1_mixa_boost_tune
;
331 u8 RF_TX1_mixg_boost_tune
;
338 } chan_info_nphy_radio205x_t
;
340 typedef struct _chan_info_nphy_radio2057
{
343 u8 RF_vcocal_countval0
;
344 u8 RF_vcocal_countval1
;
345 u8 RF_rfpll_refmaster_sparextalsize
;
346 u8 RF_rfpll_loopfilter_r1
;
347 u8 RF_rfpll_loopfilter_c2
;
348 u8 RF_rfpll_loopfilter_c1
;
353 u8 RF_logen_mx2g_tune
;
354 u8 RF_logen_mx5g_tune
;
355 u8 RF_logen_indbuf2g_tune
;
356 u8 RF_logen_indbuf5g_tune
;
357 u8 RF_txmix2g_tune_boost_pu_core0
;
358 u8 RF_pad2g_tune_pus_core0
;
359 u8 RF_pga_boost_tune_core0
;
360 u8 RF_txmix5g_boost_tune_core0
;
361 u8 RF_pad5g_tune_misc_pus_core0
;
362 u8 RF_lna2g_tune_core0
;
363 u8 RF_lna5g_tune_core0
;
364 u8 RF_txmix2g_tune_boost_pu_core1
;
365 u8 RF_pad2g_tune_pus_core1
;
366 u8 RF_pga_boost_tune_core1
;
367 u8 RF_txmix5g_boost_tune_core1
;
368 u8 RF_pad5g_tune_misc_pus_core1
;
369 u8 RF_lna2g_tune_core1
;
370 u8 RF_lna5g_tune_core1
;
377 } chan_info_nphy_radio2057_t
;
379 typedef struct _chan_info_nphy_radio2057_rev5
{
382 u8 RF_vcocal_countval0
;
383 u8 RF_vcocal_countval1
;
384 u8 RF_rfpll_refmaster_sparextalsize
;
385 u8 RF_rfpll_loopfilter_r1
;
386 u8 RF_rfpll_loopfilter_c2
;
387 u8 RF_rfpll_loopfilter_c1
;
392 u8 RF_logen_mx2g_tune
;
393 u8 RF_logen_indbuf2g_tune
;
394 u8 RF_txmix2g_tune_boost_pu_core0
;
395 u8 RF_pad2g_tune_pus_core0
;
396 u8 RF_lna2g_tune_core0
;
397 u8 RF_txmix2g_tune_boost_pu_core1
;
398 u8 RF_pad2g_tune_pus_core1
;
399 u8 RF_lna2g_tune_core1
;
406 } chan_info_nphy_radio2057_rev5_t
;
408 typedef struct nphy_sfo_cfg
{
417 static chan_info_nphy_2055_t chan_info_nphy_2055
[] = {
419 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
420 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
421 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
423 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
424 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
425 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
427 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
428 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
429 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
431 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
432 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
433 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
435 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
436 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
437 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
439 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
440 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
441 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
443 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
444 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
445 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
447 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
448 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
449 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
451 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
452 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
453 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
455 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
456 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
457 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
459 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
460 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
461 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
463 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
464 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
465 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
467 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
468 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
469 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
471 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
472 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
473 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
475 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
476 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
477 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
479 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
480 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
481 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
483 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
484 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
485 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
487 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
488 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
489 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
491 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
492 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
493 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
495 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
496 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
497 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
499 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
500 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
501 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
503 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
504 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
505 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
507 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
508 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
509 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
511 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
512 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
513 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
515 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
516 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
517 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
519 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
520 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
521 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
523 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
524 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
525 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
527 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
528 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
529 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
531 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
532 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
533 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
535 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
536 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
537 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
539 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
540 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
541 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
543 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
544 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
545 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
547 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
548 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
549 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
551 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
552 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
553 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
555 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
556 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
557 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
559 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
560 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
561 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
563 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
564 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
565 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
567 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
568 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
569 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
571 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
572 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
573 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
575 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
576 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
577 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
579 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
580 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
581 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
583 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
584 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
585 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
587 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
588 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
589 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
591 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
592 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
593 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
595 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
596 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
597 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
599 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
600 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
601 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
603 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
604 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
605 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
607 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
608 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
609 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
611 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
612 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
613 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
615 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
616 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
617 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
619 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
620 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
621 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
623 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
624 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
625 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
627 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
628 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
629 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
631 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
632 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
633 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
635 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
636 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
637 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
639 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
640 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
641 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
643 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
644 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
645 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
647 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
648 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
649 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
651 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
652 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
653 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
655 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
656 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
657 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
659 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
660 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
661 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
663 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
664 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
665 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
667 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
668 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
669 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
671 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
672 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
673 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
675 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
676 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
677 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
679 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
680 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
681 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
683 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
684 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
685 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
687 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
688 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
689 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
691 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
692 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
693 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
695 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
696 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
697 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
699 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
700 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
701 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
703 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
704 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
705 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
707 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
708 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
709 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
711 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
712 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
713 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
715 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
716 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
717 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
719 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
720 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
721 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
723 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
724 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
725 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
727 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
728 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
729 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
731 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
732 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
733 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
735 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
736 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
737 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
739 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
740 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
741 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
743 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
744 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
745 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
747 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
748 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
749 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
751 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
752 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
753 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
755 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
756 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
757 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
759 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
760 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
761 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
763 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
764 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
765 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
767 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
768 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
769 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
771 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
772 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
773 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
775 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
776 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
777 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
779 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
780 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
781 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
783 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
784 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
785 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
787 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
788 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
789 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
791 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
792 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
793 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
795 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
796 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
797 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
799 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
800 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
801 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
803 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
804 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
805 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
807 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
808 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
809 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
811 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
812 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
813 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
815 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
816 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
817 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
819 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
820 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
821 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
823 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
824 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
825 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
827 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
828 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
829 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
831 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
832 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
833 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
835 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
836 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
837 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
839 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
840 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
841 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
843 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
844 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
845 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
847 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
848 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
849 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
851 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
852 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
853 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
855 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
856 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
857 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
859 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
860 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
861 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
863 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
864 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
865 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
867 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
868 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
869 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
871 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
872 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
873 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
875 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
876 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
877 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
879 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
880 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
881 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
883 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
884 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
885 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
887 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
888 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
889 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
891 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
892 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
893 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
895 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
896 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
897 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
899 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
900 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
901 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
903 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
904 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
905 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
907 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
908 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
909 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
911 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
912 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
913 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
916 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056
[] = {
918 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
919 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
920 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
921 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
923 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
924 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
925 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
926 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
928 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
929 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
930 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
931 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
933 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
934 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
935 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
936 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
938 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
939 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
940 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
941 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
943 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
944 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
945 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
946 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
948 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
949 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
950 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
951 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
953 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
954 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
955 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
956 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
958 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
959 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
960 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
961 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
963 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
964 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
965 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
966 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
968 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
969 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
970 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
971 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
973 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
974 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
975 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
976 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
978 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
979 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
980 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
981 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
983 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
984 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
985 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
986 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
988 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
989 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
990 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
991 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
993 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
994 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
995 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
996 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
998 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
999 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1000 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1001 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1003 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1004 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1005 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1006 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1008 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1009 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1010 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1011 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1013 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1014 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1015 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1016 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1018 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1019 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1020 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1021 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1023 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1024 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1025 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1026 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1028 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1029 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1030 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1031 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1033 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1034 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1035 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1036 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1038 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1039 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1040 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1041 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1043 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1044 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1045 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1046 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1048 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1049 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1050 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1051 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1053 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1054 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1055 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1056 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1058 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1059 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1060 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1061 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1063 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1064 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1065 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1066 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1068 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1069 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1070 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1071 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1073 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1074 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1075 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1076 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1078 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1079 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1080 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1081 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1083 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1084 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1085 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1086 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1088 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1089 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1090 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1091 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1093 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1094 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1095 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1096 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1098 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1099 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1100 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1101 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1103 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1104 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1105 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1106 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1108 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1109 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1110 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1111 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1113 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1114 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1115 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1116 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1118 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1119 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1120 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1121 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1123 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1124 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1125 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1126 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1128 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1129 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1130 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1131 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1133 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1134 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1135 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1136 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1138 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1139 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1140 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1141 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1143 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1144 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1145 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1146 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1148 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1149 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1150 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1151 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1153 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1154 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1155 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1156 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1158 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1159 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1160 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1161 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1163 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1164 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1165 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1166 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1168 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1169 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1170 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1171 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1173 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1174 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1175 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1176 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1178 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1179 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1180 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1181 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1183 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1184 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1185 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1186 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1188 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1189 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1190 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1191 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1193 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1194 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1195 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1196 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1198 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1199 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1200 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1201 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1203 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1204 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1205 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1206 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1208 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1209 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1210 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1211 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1213 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1214 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1215 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1216 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1218 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1219 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1220 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1221 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1223 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1224 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1225 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1226 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1228 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1229 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1230 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1231 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1233 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1234 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1235 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1236 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1238 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1239 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1240 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1241 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1243 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1244 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1245 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1246 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1248 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1249 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1250 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1251 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1253 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1254 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1255 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1256 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1258 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1259 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1260 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1261 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1263 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1264 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1265 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1266 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1268 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1269 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1270 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1271 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1273 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1274 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1275 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1276 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1278 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1279 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1280 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1281 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1283 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1284 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1285 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1286 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1288 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1289 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1290 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1291 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1293 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1294 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1295 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1296 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1298 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1299 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1300 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1301 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1303 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1304 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1305 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1306 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1308 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1309 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1310 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1311 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1313 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1314 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1315 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1316 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1318 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1319 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1320 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1321 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1323 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1324 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1325 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1326 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1328 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1329 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1330 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1331 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1333 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1334 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1335 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1336 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1338 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1339 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1340 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1341 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1343 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1344 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1345 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1346 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1348 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1349 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1350 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1351 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1353 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1354 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1355 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1356 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1358 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1359 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1360 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1361 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1363 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1364 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1365 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1366 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1368 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1369 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1370 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1371 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1373 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1374 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1375 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1376 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1378 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1379 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1380 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1381 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1383 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1384 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1385 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1386 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1388 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1389 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1390 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1391 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1393 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1394 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1395 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1396 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1398 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1399 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1400 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1401 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1403 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1404 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1405 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1406 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1408 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1409 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1410 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1411 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1413 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1414 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1415 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1416 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1418 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1419 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1420 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1421 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1423 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1424 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1425 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1426 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1428 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1429 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1430 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1431 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1433 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1434 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1435 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1436 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1438 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1439 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1440 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1441 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1443 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1444 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1445 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1446 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1448 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1449 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1450 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1451 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1453 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1454 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1455 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1456 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1458 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1459 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1460 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1461 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1463 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1464 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1465 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1466 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1468 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1469 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1470 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1471 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1473 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1474 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1475 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1476 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1478 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1479 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1480 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1481 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1483 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1484 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1485 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1486 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1488 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1489 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1490 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1491 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1493 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1494 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1495 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1496 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1498 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1499 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1500 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1501 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1503 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1504 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1505 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1506 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1508 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1509 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1510 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1511 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1513 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1514 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1515 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1516 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1518 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1519 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1520 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1521 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1523 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1524 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1525 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1526 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1528 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1529 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1530 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1531 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1533 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1534 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1535 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1536 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1539 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1
[] = {
1541 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1542 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1543 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1544 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1546 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1547 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1548 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1549 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1551 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1552 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1553 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1554 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1556 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1557 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1558 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1559 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1561 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1562 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1563 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1564 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1566 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1567 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1568 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1569 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1571 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1572 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1573 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1574 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1576 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1577 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1578 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1579 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1581 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1582 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1583 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1584 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1586 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1587 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1588 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1589 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1591 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1592 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1593 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1594 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1596 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1597 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1598 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1599 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1601 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1602 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1603 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1604 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1606 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1607 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1608 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1609 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1611 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1612 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1613 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1614 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1616 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1617 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1618 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1619 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1621 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1622 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1623 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1624 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1626 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1627 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1628 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1629 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1631 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1632 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1633 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1634 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1636 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1637 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1638 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1639 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1641 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1642 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1643 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1644 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1646 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1647 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1648 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1649 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1651 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1652 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1653 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1654 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1656 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1657 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1658 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1659 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1661 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1662 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1663 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1664 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1666 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1667 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1668 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1669 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1671 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1672 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1673 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1674 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1676 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1677 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1678 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1679 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1681 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1682 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1683 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1684 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1686 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1687 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1688 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1689 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1691 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1692 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1693 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1694 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1696 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1697 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1698 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1699 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1701 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1702 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1703 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1704 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1706 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1707 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1708 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1709 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1711 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1712 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1713 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1714 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1716 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1717 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1718 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1719 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1721 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1722 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1723 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1724 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1726 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1727 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1728 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1729 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1731 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1732 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1733 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1734 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1736 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1737 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1738 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1739 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1741 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1742 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1743 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1744 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1746 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1747 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1748 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1749 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1751 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1752 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1753 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1754 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1756 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1757 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1758 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1759 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1761 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1762 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1763 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1764 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1766 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1767 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1768 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1769 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1771 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1772 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1773 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1774 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1776 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1777 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1778 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1779 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1781 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1782 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1783 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1784 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1786 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1787 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1788 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1789 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1791 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1792 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1793 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1794 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1796 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1797 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1798 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1799 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1801 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1802 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1803 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1804 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1806 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1807 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1808 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1809 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1811 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1812 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1813 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1814 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1816 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1817 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1818 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1819 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1821 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1822 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1823 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1824 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1826 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1827 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1828 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1829 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1831 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1832 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1833 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1834 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1836 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1837 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1838 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1839 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1841 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1842 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1843 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1844 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1846 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1847 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1848 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1849 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1851 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1852 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1853 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1854 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1856 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1857 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1858 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1859 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1861 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1862 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1863 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1864 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1866 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1867 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1868 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1869 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1871 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1872 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1873 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1874 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1876 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1877 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1878 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1879 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1881 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1882 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1883 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1884 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1886 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1887 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1888 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1889 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1891 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1892 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1893 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1894 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1896 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1897 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1898 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1899 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1901 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1902 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1903 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1904 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1906 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1907 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1908 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1909 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1911 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1912 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1913 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1914 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1916 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1917 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1918 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1919 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1921 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1922 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1923 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1924 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1926 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1927 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1928 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1929 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1931 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1932 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1933 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1934 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1936 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1937 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1938 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1939 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1941 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1942 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1943 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1944 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1946 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1947 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1948 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1949 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1951 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1952 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1953 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1954 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1956 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1957 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1958 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1959 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1961 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1962 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1963 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1964 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1966 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1967 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1968 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1969 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1971 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1972 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1973 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1974 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1976 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1977 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1978 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1979 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1981 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1982 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1983 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1984 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1986 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1987 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1988 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1989 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1991 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1992 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1993 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1994 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1996 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1997 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1998 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1999 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2001 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2002 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2003 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2004 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2006 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2007 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2008 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2009 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2011 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2012 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2013 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2014 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2016 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2017 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2018 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2019 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2021 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2022 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2023 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2024 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2026 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2027 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2028 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2029 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2031 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2032 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2033 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2034 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2036 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2037 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2038 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2039 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2041 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2042 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2043 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2044 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2046 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2047 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2048 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2049 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2051 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2052 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2053 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2054 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2056 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2057 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2058 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2059 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2061 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2062 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2063 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2064 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2066 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2067 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2068 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2069 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2071 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2072 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2073 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2074 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2076 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2077 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2078 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2079 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2081 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2082 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2083 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2084 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2086 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2087 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2088 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2089 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2091 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2092 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2093 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2094 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2096 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2097 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2098 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2099 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2101 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2102 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2103 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2104 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2106 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2107 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2108 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2109 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2111 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2112 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2113 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2114 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2116 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2117 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2118 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2119 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2121 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2122 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2123 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2124 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2126 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2127 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2128 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2129 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2131 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2132 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2133 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2134 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2136 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2137 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2138 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2139 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2141 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2142 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2143 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2144 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2146 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2147 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2148 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2149 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2151 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2152 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2153 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2154 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2156 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2157 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2158 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2159 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2162 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5
[] = {
2164 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2165 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2166 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2167 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2169 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2170 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2171 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2172 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2174 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2175 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2176 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2177 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2179 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2180 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2181 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2182 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2184 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2185 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2186 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2187 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2189 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2190 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2191 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2192 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2194 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2195 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2196 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2197 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2199 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2200 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2201 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2202 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2204 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2205 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2206 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2207 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2209 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2210 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2211 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2212 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2214 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2215 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2216 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2217 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2219 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2220 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2221 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2222 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2224 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2225 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2226 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2227 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2229 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2230 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2231 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2232 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2234 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2235 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2236 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2237 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2239 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2240 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2241 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2242 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2244 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2245 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2246 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2247 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2249 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2250 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2251 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2252 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2254 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2255 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2256 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2257 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2259 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2260 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2261 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2262 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2264 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2265 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2266 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2267 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2269 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2270 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2271 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2272 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2274 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2275 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2276 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2277 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2279 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2280 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2281 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2282 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2284 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2285 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2286 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2287 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2289 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2290 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2291 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2292 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2294 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2295 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2296 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2297 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2299 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2300 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2301 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2302 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2304 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2305 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2306 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2307 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2309 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2310 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2311 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2312 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2314 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2315 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2316 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2317 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2319 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2320 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2321 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2322 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2324 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2325 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2326 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2327 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2329 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2330 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2331 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2332 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2334 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2335 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2336 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2337 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2339 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2340 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2341 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2342 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2344 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2345 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2346 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2347 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2349 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2350 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2351 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2352 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2354 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2355 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2356 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2357 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2359 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2360 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2361 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2362 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2364 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2365 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2366 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2367 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2369 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2370 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2371 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2372 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2374 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2375 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2376 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2377 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2379 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2380 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2381 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2382 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2384 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2385 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2386 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2387 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2389 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2390 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2391 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2392 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2394 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2395 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2396 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2397 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2399 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2400 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2401 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2402 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2404 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2405 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2406 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2407 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2409 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2410 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2411 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2412 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2414 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2415 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2416 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2417 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2419 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2420 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2421 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2422 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2424 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2425 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2426 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2427 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2429 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2430 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2431 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2432 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2434 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2435 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2436 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2437 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2439 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2440 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2441 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2442 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2444 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2445 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2446 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2447 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2449 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2450 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2451 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2452 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2454 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2455 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2456 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2457 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2459 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2460 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2461 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2462 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2464 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2465 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2466 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2467 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2469 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2470 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2471 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2472 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2474 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2475 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2476 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2477 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2479 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2480 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2481 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2482 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2484 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2485 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2486 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2487 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2489 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2490 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2491 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2492 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2494 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2495 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2496 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2497 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2499 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2500 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2501 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2502 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2504 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2505 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2506 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2507 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2509 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2510 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2511 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2512 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2514 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2515 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2516 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2517 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2519 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2520 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2521 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2522 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2524 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2525 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2526 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2527 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2529 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2530 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2531 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2532 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2534 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2535 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2536 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2537 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2539 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2540 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2541 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2542 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2544 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2545 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2546 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2547 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2549 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2550 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2551 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2552 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2554 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2555 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2556 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2557 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2559 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2560 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2561 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2562 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2564 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2565 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2566 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2567 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2569 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2570 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2571 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2572 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2574 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2575 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2576 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2577 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2579 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2580 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2581 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2582 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2584 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2585 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2586 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2587 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2589 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2590 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2591 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2592 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2594 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2595 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2596 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2597 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2599 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2600 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2601 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2602 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2604 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2605 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2606 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2607 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2609 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2610 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2611 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2612 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2614 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2615 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2616 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2617 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2619 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2620 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2621 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2622 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2624 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2625 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2626 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2627 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2629 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2630 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2631 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2632 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2634 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2635 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2636 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2637 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2639 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2640 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2641 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2642 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2644 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2645 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2646 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2647 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2649 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2650 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2651 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2652 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2654 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2655 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2656 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2657 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2659 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2660 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2661 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2662 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2664 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2665 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2666 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2667 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2669 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2670 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2671 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2672 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2674 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2675 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2676 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2677 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2679 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2680 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2681 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2682 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2684 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2685 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2686 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2687 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2689 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2690 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2691 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2692 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2694 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2695 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2696 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2697 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2699 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2700 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2701 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2702 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2704 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2705 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2706 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2707 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2709 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2710 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2711 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2712 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2714 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2715 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2716 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2717 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2719 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2720 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2721 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2722 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2724 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2725 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2726 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2727 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2729 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2730 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2731 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2732 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2734 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2735 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2736 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2737 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2739 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2740 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2741 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2742 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2744 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2745 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2746 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2747 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2749 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2750 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2751 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2752 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2754 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2755 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2756 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2757 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2759 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2760 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2761 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2762 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2764 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2765 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2766 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2767 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2769 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2770 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2771 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2772 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2774 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2775 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2776 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2777 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2779 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2780 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2781 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2782 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2785 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6
[] = {
2787 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2788 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2789 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2790 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2792 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2793 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2794 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2795 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2797 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2798 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2799 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2800 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2802 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2803 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2804 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2805 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2807 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2808 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2809 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2810 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2812 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2813 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2814 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2815 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2817 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2818 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2819 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2820 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2822 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2823 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2824 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2825 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2827 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2828 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2829 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2830 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2832 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2833 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2834 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2835 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2837 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2838 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2839 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2840 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2842 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2843 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2844 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2845 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2847 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2848 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2849 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2850 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2852 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2853 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2854 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2855 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2857 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2858 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2859 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2860 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2862 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2863 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2864 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2865 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2867 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2868 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2869 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2870 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2872 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2873 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2874 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2875 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2877 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2878 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2879 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2880 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2882 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2883 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2884 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2885 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2887 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2888 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2889 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2890 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2892 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2893 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2894 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2895 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2897 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2898 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2899 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2900 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2902 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2903 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2904 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2905 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2907 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2908 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2909 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2910 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2912 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2913 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2914 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2915 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2917 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2918 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2919 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2920 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2922 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2923 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2924 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2925 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2927 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2928 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2929 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2930 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2932 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2933 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2934 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2935 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2937 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2938 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2939 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2940 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2942 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2943 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2944 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2945 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2947 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2948 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2949 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2950 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2952 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2953 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2954 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2955 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2957 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2958 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2959 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2960 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2962 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2963 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2964 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2965 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2967 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2968 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2969 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2970 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2972 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2973 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2974 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2975 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2977 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2978 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2979 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2980 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2982 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2983 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2984 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2985 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2987 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2988 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2989 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2990 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2992 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2993 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2994 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2995 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2997 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2998 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2999 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3000 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3002 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3003 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3004 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3005 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3007 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3008 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3009 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3010 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3012 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3013 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3014 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3015 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3017 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3018 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3019 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3020 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3022 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3023 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3024 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3025 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3027 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3028 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3029 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3030 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3032 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3033 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3034 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3035 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3037 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3038 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3039 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3040 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3042 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3043 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3044 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3045 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3047 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3048 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3049 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3050 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3052 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3053 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3054 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3055 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3057 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3058 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3059 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3060 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3062 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3063 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3064 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3065 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3067 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3068 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3069 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3070 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3072 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3073 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3074 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3075 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3077 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3078 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3079 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3080 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3082 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3083 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3084 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3085 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3087 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3088 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3089 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3090 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3092 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3093 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3094 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3095 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3097 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3098 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3099 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3100 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3102 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3103 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3104 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3105 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3107 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3108 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3109 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3110 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3112 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3113 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3114 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3115 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3117 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3118 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3119 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3120 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3122 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3123 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3124 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3125 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3127 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3128 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3129 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3130 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3132 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3133 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3134 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3135 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3137 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3138 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3139 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3140 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3142 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3143 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3144 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3145 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3147 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3148 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3149 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3150 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3152 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3153 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3154 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3155 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3157 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3158 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3159 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3160 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3162 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3163 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3164 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3165 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3167 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3168 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3169 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3170 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3172 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3173 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3174 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3175 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3177 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3178 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3179 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3180 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3182 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3183 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3184 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3185 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3187 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3188 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3189 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3190 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3192 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3193 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3194 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3195 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3197 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3198 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3199 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3200 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3202 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3203 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3204 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3205 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3207 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3208 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3209 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3210 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3212 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3213 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3214 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3215 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3217 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3218 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3219 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3220 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3222 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3223 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3224 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3225 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3227 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3228 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3229 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3230 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3232 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3233 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3234 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3235 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3237 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3238 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3239 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3240 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3242 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3243 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3244 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3245 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3247 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3248 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3249 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3250 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3252 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3253 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3254 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3255 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3257 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3258 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3259 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3260 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3262 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3263 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3264 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3265 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3267 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3268 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3269 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3270 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3272 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3273 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3274 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3275 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3277 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3278 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3279 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3280 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3282 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3283 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3284 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3285 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3287 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3288 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3289 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3290 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3292 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3293 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3294 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3295 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3297 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3298 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3299 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3300 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3302 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3303 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3304 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3305 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3307 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3308 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3309 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3310 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3312 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3313 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3314 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3315 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3317 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3318 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3319 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3320 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3322 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3323 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3324 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3325 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3327 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3328 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3329 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3330 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3332 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3333 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3334 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3335 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3337 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3338 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3339 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3340 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3342 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3343 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3344 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3345 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3347 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3348 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3349 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3350 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3352 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3353 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3354 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3355 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3357 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3358 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3359 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3360 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3362 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3363 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3364 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3365 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3367 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3368 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3369 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3370 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3372 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3373 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3374 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3375 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3377 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3378 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3379 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3380 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3382 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3383 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3384 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3385 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3387 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3388 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3389 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3390 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3392 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3393 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3394 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3395 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3397 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3398 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3399 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3400 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3402 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3403 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3404 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3405 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3408 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7
[] = {
3410 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3411 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3412 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3413 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3415 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3416 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3417 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3418 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3420 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3421 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3422 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3423 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3425 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3426 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3427 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3428 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3430 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3431 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3432 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3433 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3435 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3436 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3437 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3438 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3440 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3441 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3442 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3443 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3445 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3446 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3447 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3448 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3450 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3451 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3452 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3453 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3455 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3456 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3457 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3458 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3460 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3461 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3462 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3463 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3465 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3466 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3467 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3468 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3470 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3471 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3472 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3473 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3475 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3476 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3477 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3478 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3480 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3481 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3482 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3483 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3485 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3486 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3487 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3488 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3490 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3491 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3492 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3493 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3495 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3496 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3497 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3498 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3500 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3501 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3502 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3503 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3505 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3506 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3507 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3508 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3510 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3511 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3512 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3513 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3515 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3516 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3517 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3518 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3520 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3521 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3522 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3523 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3525 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3526 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3527 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3528 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3530 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3531 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3532 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3533 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3535 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3536 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3537 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3538 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3540 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3541 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3542 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3543 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3545 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3546 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3547 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3548 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3550 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3551 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3552 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3553 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3555 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3556 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3557 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3558 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3560 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3561 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3562 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3563 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3565 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3566 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3567 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3568 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3570 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3571 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3572 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3573 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3575 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3576 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3577 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3578 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3580 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3581 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3582 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3583 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3585 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3586 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3587 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3588 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3590 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3591 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3592 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3593 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3595 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3596 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3597 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3598 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3600 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3601 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3602 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3603 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3605 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3606 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3607 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3608 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3610 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3611 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3612 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3613 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3615 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3616 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3617 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3618 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3620 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3621 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3622 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3623 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3625 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3626 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3627 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3628 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3630 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3631 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3632 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3633 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3635 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3636 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3637 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3638 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3640 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3641 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3642 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3643 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3645 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3646 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3647 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3648 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3650 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3651 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3652 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3653 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3655 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3656 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3657 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3658 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3660 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3661 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3662 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3663 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3665 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3666 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3667 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3668 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3670 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3671 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3672 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3673 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3675 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3676 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3677 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3678 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3680 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3681 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3682 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3683 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3685 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3686 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3687 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3688 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3690 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3691 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3692 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3693 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3695 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3696 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3697 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3698 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3700 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3701 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3702 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3703 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3705 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3706 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3707 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3708 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3710 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3711 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3712 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3713 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3715 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3716 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3717 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3718 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3720 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3721 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3722 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3723 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3725 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3726 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3727 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3728 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3730 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3731 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3732 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3733 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3735 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3736 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3737 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3738 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3740 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3741 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3742 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3743 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3745 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3746 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3747 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3748 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3750 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3751 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3752 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3753 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3755 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3756 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3757 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3758 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3760 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3761 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3762 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3763 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3765 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3766 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3767 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3768 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3770 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3771 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3772 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3773 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3775 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3776 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3777 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3778 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3780 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3781 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3782 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3783 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3785 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3786 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3787 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3788 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3790 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3791 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3792 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3793 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3795 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3796 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3797 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3798 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3800 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3801 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3802 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3803 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3805 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3806 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3807 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3808 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3810 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3811 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3812 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3813 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3815 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3816 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3817 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3818 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3820 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3821 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3822 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3823 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3825 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3826 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3827 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3828 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3830 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3831 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3832 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3833 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3835 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3836 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3837 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3838 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3840 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3841 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3842 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3843 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3845 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3846 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3847 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3848 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3850 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3851 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3852 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3853 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3855 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3856 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3857 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3858 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3860 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3861 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3862 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3863 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3865 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3866 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3867 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3868 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3870 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3871 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3872 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3873 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3875 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3876 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3877 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3878 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3880 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3881 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3882 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3883 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3885 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3886 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3887 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3888 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3890 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3891 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3892 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3893 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3895 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3896 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3897 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3898 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3900 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3901 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3902 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3903 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3905 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3906 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3907 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3908 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3910 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3911 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3912 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3913 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3915 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3916 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3917 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3918 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3920 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3921 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3922 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3923 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3925 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3926 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3927 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3928 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3930 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3931 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3932 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3933 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3935 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3936 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3937 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3938 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3940 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3941 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3942 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3943 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3945 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3946 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3947 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3948 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3950 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3951 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3952 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3953 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3955 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3956 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3957 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3958 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3960 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3961 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3962 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3963 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3965 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3966 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3967 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3968 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3970 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3971 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3972 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3973 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3975 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3976 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3977 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3978 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3980 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3981 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3982 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3983 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3985 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3986 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3987 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3988 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3990 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3991 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3992 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3993 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3995 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3996 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3997 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3998 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4000 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4001 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4002 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4003 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4005 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4006 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4007 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4008 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4010 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4011 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4012 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4013 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4015 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4016 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4017 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4018 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4020 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4021 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4022 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4023 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4025 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4026 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4027 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4028 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4031 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8
[] = {
4033 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4034 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4035 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4036 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4038 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4039 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4040 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4041 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4043 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4044 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4045 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4046 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4048 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4049 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4050 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4051 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4053 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4054 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4055 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4056 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4058 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4059 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4060 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4061 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4063 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4064 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4065 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4066 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4068 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4069 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4070 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4071 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4073 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4074 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4075 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4076 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4078 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4079 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4080 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4081 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4083 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4084 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4085 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4086 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4088 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4089 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4090 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4091 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4093 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4094 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4095 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4096 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4098 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4099 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4100 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4101 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4103 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4104 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4105 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4106 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4108 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4109 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4110 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4111 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4113 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4114 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4115 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4116 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4118 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4119 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4120 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4121 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4123 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4124 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4125 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4126 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4128 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4129 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4130 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4131 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4133 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4134 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4135 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4136 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4138 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4139 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4140 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4141 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4143 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4144 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4145 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4146 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4148 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4149 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4150 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4151 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4153 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4154 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4155 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4156 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4158 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4159 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4160 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4161 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4163 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4164 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4165 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4166 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4168 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4169 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4170 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4171 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4173 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4174 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4175 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4176 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4178 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4179 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4180 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4181 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4183 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4184 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4185 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4186 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4188 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4189 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4190 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4191 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4193 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4194 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4195 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4196 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4198 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4199 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4200 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4201 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4203 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4204 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4205 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4206 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4208 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4209 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4210 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4211 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4213 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4214 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4215 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4216 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4218 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4219 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4220 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4221 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4223 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4224 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4225 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4226 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4228 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4229 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4230 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4231 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4233 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4234 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4235 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4236 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4238 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4239 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4240 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4241 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4243 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4244 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4245 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4246 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4248 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4249 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4250 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4251 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4253 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4254 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4255 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4256 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4258 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4259 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4260 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4261 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4263 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4264 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4265 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4266 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4268 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4269 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4270 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4271 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4273 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4274 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4275 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4276 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4278 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4279 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4280 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4281 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4283 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4284 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4285 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4286 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4288 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4289 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4290 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4291 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4293 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4294 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4295 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4296 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4298 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4299 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4300 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4301 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4303 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4304 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4305 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4306 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4308 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4309 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4310 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4311 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4313 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4314 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4315 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4316 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4318 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4319 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4320 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4321 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4323 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4324 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4325 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4326 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4328 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4329 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4330 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4331 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4333 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4334 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4335 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4336 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4338 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4339 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4340 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4341 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4343 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4344 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4345 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4346 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4348 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4349 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4350 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4351 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4353 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4354 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4355 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4356 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4358 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4359 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4360 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4361 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4363 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4364 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4365 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4366 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4368 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4369 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4370 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4371 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4373 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4374 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4375 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4376 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4378 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4379 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4380 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4381 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4383 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4384 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4385 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4386 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4388 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4389 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4390 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4391 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4393 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4394 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4395 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4396 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4398 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4399 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4400 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4401 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4403 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4404 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4405 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4406 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4408 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4409 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4410 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4411 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4413 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4414 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4415 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4416 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4418 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4419 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4420 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4421 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4423 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4424 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4425 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4426 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4428 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4429 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4430 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4431 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4433 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4434 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4435 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4436 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4438 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4439 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4440 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4441 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4443 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4444 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4445 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4446 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4448 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4449 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4450 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4451 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4453 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4454 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4455 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4456 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4458 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4459 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4460 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4461 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4463 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4464 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4465 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4466 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4468 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4469 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4470 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4471 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4473 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4474 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4475 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4476 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4478 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4479 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4480 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4481 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4483 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4484 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4485 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4486 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4488 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4489 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4490 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4491 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4493 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4494 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4495 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4496 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4498 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4499 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4500 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4501 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4503 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4504 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4505 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4506 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4508 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4509 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4510 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4511 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4513 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4514 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4515 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4516 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4518 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4519 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4520 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4521 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4523 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4524 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4525 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4526 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4528 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4529 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4530 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4531 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4533 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4534 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4535 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4536 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4538 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4539 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4540 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4541 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4543 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4544 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4545 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4546 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4548 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4549 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4550 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4551 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4553 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4554 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4555 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4556 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4558 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4559 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4560 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4561 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4563 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4564 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4565 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4566 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4568 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4569 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4570 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4571 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4573 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4574 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4575 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4576 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4578 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4579 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4580 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4581 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4583 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4584 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4585 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4586 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4588 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4589 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4590 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4591 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4593 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4594 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4595 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4596 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4598 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4599 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4600 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4601 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4603 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4604 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4605 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4606 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4608 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4609 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4610 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4611 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4613 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4614 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4615 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4616 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4618 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4619 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4620 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4621 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4623 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4624 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4625 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4626 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4628 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4629 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4630 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4631 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4633 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4634 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4635 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4636 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4638 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4639 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4640 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4641 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4643 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4644 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4645 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4646 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4648 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4649 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4650 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4651 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4654 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11
[] = {
4656 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4657 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4658 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4659 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4661 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4662 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4663 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4664 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4666 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4667 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4668 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4669 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4671 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4672 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4673 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4674 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4676 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4677 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4678 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4679 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4681 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4682 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4683 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4684 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4686 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4687 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4688 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4689 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4691 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4692 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4693 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4694 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4696 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4697 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4698 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4699 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4701 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4702 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4703 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4704 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4706 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4707 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4708 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4709 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4711 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4712 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4713 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4714 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4716 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4717 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4718 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4719 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4721 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4722 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4723 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4724 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4726 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4727 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4728 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4729 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4731 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4732 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4733 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4734 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4736 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4737 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4738 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4739 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4741 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4742 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4743 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4744 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4746 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4747 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4748 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4749 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4751 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4752 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4753 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4754 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4756 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4757 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4758 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4759 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4761 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4762 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4763 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4764 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4766 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4767 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4768 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4769 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4771 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4772 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4773 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4774 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4776 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4777 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4778 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4779 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4781 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4782 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4783 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4784 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4786 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4787 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4788 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4789 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4791 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4792 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4793 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4794 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4796 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4797 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4798 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4799 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4801 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4802 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4803 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4804 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4806 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4807 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4808 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4809 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4811 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4812 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4813 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4814 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4816 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4817 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4818 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4819 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4821 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4822 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4823 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4824 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4826 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4827 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4828 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4829 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4831 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4832 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4833 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4834 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4836 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4837 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4838 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4839 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4841 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4842 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4843 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4844 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4846 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4847 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4848 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4849 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4851 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4852 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4853 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4854 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4856 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4857 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4858 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4859 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4861 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4862 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4863 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4864 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4866 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4867 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4868 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4869 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4871 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4872 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4873 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4874 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4876 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4877 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4878 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4879 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4881 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4882 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4883 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4884 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4886 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4887 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4888 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4889 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4891 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4892 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4893 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4894 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4896 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4897 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4898 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4899 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4901 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4902 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4903 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4904 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4906 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4907 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4908 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4909 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4911 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4912 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4913 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4914 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4916 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4917 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4918 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4919 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4921 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4922 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4923 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4924 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4926 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4927 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4928 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4929 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4931 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4932 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4933 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4934 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4936 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4937 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4938 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4939 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4941 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4942 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4943 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4944 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4946 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4947 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4948 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4949 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4951 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4952 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4953 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4954 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4956 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4957 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4958 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4959 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4961 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4962 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4963 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4964 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4966 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4967 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4968 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4969 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4971 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4972 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4973 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4974 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4976 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4977 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4978 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4979 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4981 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4982 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4983 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4984 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4986 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4987 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4988 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4989 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4991 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4992 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4993 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4994 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4996 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4997 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4998 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4999 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5001 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5002 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5003 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5004 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5006 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5007 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5008 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5009 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5011 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5012 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5013 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5014 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5016 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5017 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5018 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5019 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5021 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5022 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5023 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5024 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5026 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5027 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5028 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5029 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5031 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5032 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5033 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5034 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5036 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5037 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5038 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5039 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5041 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5042 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5043 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5044 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5046 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5047 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5048 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5049 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5051 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5052 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5053 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5054 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5056 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5057 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5058 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5059 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5061 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5062 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5063 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5064 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5066 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5067 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5068 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5069 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5071 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5072 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5073 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5074 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5076 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5077 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5078 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5079 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5081 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5082 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5083 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5084 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5086 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5087 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5088 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5089 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5091 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5092 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5093 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5094 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5096 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5097 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5098 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5099 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5101 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5102 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5103 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5104 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5106 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5107 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5108 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5109 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5111 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5112 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5113 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5114 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5116 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5117 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5118 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5119 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5121 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5122 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5123 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5124 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5126 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5127 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5128 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5129 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5131 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5132 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5133 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5134 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5136 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5137 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5138 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5139 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5141 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5142 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5143 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5144 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5146 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5147 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5148 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5149 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5151 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5152 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5153 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5154 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5156 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5157 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5158 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5159 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5161 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5162 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5163 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5164 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5166 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5167 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5168 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5169 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5171 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5172 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5173 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5174 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5176 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5177 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5178 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5179 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5181 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5182 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5183 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5184 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5186 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5187 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5188 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5189 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5191 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5192 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5193 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5194 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5196 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5197 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5198 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5199 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5201 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5202 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5203 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5204 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5206 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5207 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5208 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5209 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5211 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5212 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5213 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5214 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5216 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5217 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5218 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5219 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5221 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5222 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5223 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5224 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5226 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5227 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5228 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5229 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5231 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5232 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5233 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5234 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5236 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5237 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5238 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5239 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5241 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5242 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5243 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5244 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5246 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5247 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5248 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5249 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5251 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5252 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5253 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5254 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5256 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5257 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5258 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5259 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5261 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5262 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5263 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5264 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5266 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5267 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5268 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5269 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5271 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5272 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5273 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5274 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5277 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4
[] = {
5279 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5280 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5281 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5286 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5287 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5288 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5293 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5294 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5295 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5300 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5301 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5302 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5307 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5308 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5309 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5314 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5315 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5316 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5321 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5322 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5323 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5328 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5329 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5330 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5335 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5336 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5337 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5342 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5343 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5344 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5349 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5350 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5351 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5356 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5357 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5358 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5363 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5364 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5365 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5370 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5371 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5372 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5377 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5378 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5379 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5384 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5385 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5386 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5391 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5392 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5393 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5398 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5399 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5400 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5405 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5406 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5407 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5412 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5413 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5414 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5419 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5420 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5421 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5426 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5427 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5428 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5433 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5434 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5435 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5440 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5441 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5442 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5447 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5448 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5449 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5454 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5455 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5456 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5461 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5462 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5463 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5468 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5469 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5470 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5475 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5476 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5477 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5482 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5483 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5484 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5489 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5490 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5491 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5496 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5497 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5498 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5503 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5504 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5505 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5510 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5511 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5512 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5517 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5518 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5519 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5524 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5525 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5526 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5531 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5532 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5533 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5538 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5539 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5540 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5545 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5546 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5547 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5552 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5553 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5554 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5559 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5560 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5561 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5566 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5567 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5568 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5573 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5574 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5575 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5580 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5581 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5582 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5587 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5588 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5589 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5594 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5595 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5596 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5601 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5602 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5603 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5608 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5609 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5610 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5615 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5616 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5617 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5622 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5623 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5624 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5629 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5630 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5631 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5636 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5637 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5638 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5643 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5644 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5645 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5650 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5651 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5652 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5657 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5658 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5659 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5664 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5665 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5666 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5671 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5672 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5673 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5678 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5679 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5680 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5685 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5686 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5687 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5692 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5693 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5694 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5699 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5700 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5701 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5706 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5707 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5708 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5713 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5714 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5715 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5720 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5721 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5722 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5727 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5728 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5729 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5734 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5735 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5736 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5741 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5742 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5743 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5748 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5749 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5750 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5755 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5756 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5757 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5762 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5763 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5764 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5769 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5770 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5771 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5776 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5777 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5778 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5783 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5784 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5785 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5790 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5791 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5792 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5797 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5798 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5799 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5804 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5805 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5806 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5811 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5812 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5813 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5818 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5819 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5820 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5825 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5826 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5827 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5832 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5833 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5834 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5839 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5840 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5841 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5846 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5847 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5848 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5853 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5854 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5855 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5860 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5861 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5862 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5867 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5868 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5869 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5874 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5875 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5876 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5881 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5882 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5883 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5888 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5889 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5890 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5895 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5896 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5897 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5902 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5903 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5904 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5909 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5910 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5911 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5916 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5917 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5918 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5923 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5924 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5925 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5930 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5931 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5932 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5937 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5938 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5939 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5944 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5945 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5946 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5951 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5952 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5953 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5958 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5959 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5960 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5965 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5966 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5967 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5972 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5973 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5974 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5979 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5980 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5981 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5986 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5987 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5988 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5993 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5994 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5995 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6000 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6001 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6002 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6007 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6008 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6009 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6014 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6015 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6016 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6021 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6022 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6023 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6028 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6029 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6030 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6035 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6036 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6037 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6042 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6043 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6044 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6049 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6050 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6051 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6056 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6057 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6058 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6063 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6064 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6065 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6070 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6071 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6072 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6077 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6078 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6079 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6084 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6085 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6086 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6091 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6092 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6093 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6098 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6099 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6100 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6105 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6106 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6107 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6112 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6113 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6114 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6119 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6120 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6121 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6126 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6127 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6128 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6133 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6134 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6135 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6140 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5
[] = {
6142 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6143 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6144 0x043a, 0x043f, 0x0443},
6146 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6147 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6148 0x0438, 0x043d, 0x0441},
6150 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6151 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6152 0x0436, 0x043a, 0x043f},
6154 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6155 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6156 0x0434, 0x0438, 0x043d},
6158 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6159 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6160 0x0431, 0x0436, 0x043a},
6162 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6163 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6164 0x042f, 0x0434, 0x0438},
6166 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6167 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6168 0x042d, 0x0431, 0x0436},
6170 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6171 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6172 0x042b, 0x042f, 0x0434},
6174 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6175 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6176 0x0429, 0x042d, 0x0431},
6178 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6179 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6180 0x0427, 0x042b, 0x042f},
6182 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6183 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6184 0x0424, 0x0429, 0x042d},
6186 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6187 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6188 0x0422, 0x0427, 0x042b},
6190 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6191 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6192 0x0420, 0x0424, 0x0429},
6194 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6195 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6196 0x041b, 0x041f, 0x0424}
6199 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1
[] = {
6201 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6202 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6203 0x043a, 0x043f, 0x0443},
6205 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6206 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6207 0x0438, 0x043d, 0x0441},
6209 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6210 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6211 0x0436, 0x043a, 0x043f},
6213 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6214 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6215 0x0434, 0x0438, 0x043d},
6217 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6218 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6219 0x0431, 0x0436, 0x043a},
6221 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6222 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6223 0x042f, 0x0434, 0x0438},
6225 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6226 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6227 0x042d, 0x0431, 0x0436},
6229 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6230 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6231 0x042b, 0x042f, 0x0434},
6233 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6234 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6235 0x0429, 0x042d, 0x0431},
6237 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6238 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6239 0x0427, 0x042b, 0x042f},
6241 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6242 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6243 0x0424, 0x0429, 0x042d},
6245 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6246 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6247 0x0422, 0x0427, 0x042b},
6249 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6250 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6251 0x0420, 0x0424, 0x0429},
6253 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6254 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6255 0x041b, 0x041f, 0x0424}
6258 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7
[] = {
6260 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6261 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6262 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6266 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6267 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6268 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6272 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6273 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6274 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6278 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6279 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6280 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6284 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6285 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6286 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6290 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6291 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6292 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6296 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6297 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6298 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6302 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6303 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6304 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6308 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6309 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6310 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6314 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6315 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6316 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6320 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6321 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6322 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6326 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6327 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6328 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6332 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6333 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6334 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6338 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6339 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6340 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6344 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6345 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6346 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6350 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6351 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6352 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6356 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6357 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6358 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6362 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6363 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6364 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6368 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6369 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6370 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6374 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6375 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6376 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6380 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6381 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6382 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6386 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6387 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6388 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6392 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6393 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6394 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6398 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6399 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6400 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6404 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6405 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6406 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6410 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6411 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6412 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6416 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6417 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6418 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6422 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6423 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6424 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6428 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6429 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6430 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6434 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6435 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6436 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6440 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6441 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6442 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6446 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6447 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6448 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6452 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6453 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6454 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6458 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6459 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6460 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6464 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6465 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6466 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6470 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6471 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6472 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6476 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6477 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6478 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6482 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6483 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6484 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6488 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6489 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6490 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6494 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6495 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6496 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6500 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6501 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6502 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6506 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6507 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6508 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6512 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6513 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6514 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6518 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6519 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6520 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6524 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6525 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6526 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6530 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6531 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6532 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6536 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6537 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6538 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6542 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6543 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6544 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6548 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6549 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6550 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6554 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6555 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6556 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6560 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6561 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6562 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6566 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6567 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6568 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6572 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6573 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6574 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6578 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6579 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6580 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6584 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6585 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6586 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6590 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6591 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6592 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6596 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6597 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6598 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6602 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6603 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6604 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6608 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6609 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6610 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6614 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6615 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6616 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6620 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6621 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6622 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6626 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6627 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6628 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6632 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6633 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6634 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6638 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6639 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6640 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6644 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6645 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6646 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6650 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6651 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6652 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6656 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6657 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6658 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6662 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6663 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6664 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6668 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6669 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6670 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6674 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6675 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6676 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6680 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6681 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6682 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6686 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6687 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6688 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6692 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6693 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6694 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6698 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6699 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6700 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6704 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6705 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6706 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6710 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6711 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6712 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6716 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6717 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6718 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6722 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6723 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6724 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6728 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6729 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6730 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6734 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6735 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6736 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6740 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6741 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6742 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6746 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6747 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6748 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6752 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6753 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6754 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6758 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6759 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6760 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6764 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6765 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6766 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6770 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6771 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6772 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6776 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6777 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6778 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6782 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6783 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6784 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6788 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6789 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6790 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6794 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6795 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6796 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6800 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6801 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6802 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6806 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6807 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6808 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6812 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6813 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6814 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6818 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6819 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6820 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6824 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6825 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6826 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6830 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6831 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6832 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6836 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6837 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6838 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6842 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6843 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6844 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6848 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6849 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6850 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6854 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6855 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6856 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6860 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6861 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6862 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6866 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6867 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6868 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6872 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6873 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6874 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6878 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6879 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6880 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6884 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6885 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6886 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6890 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6891 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6892 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6896 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6897 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6898 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6902 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6903 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6904 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6908 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6909 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6910 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6914 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6915 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6916 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6920 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6921 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6922 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6926 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6927 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6928 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6932 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6933 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6934 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6938 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6939 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6940 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6944 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6945 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6946 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6950 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6951 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6952 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6956 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6957 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6958 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6962 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6963 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6964 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6968 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6969 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6970 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6974 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6975 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6976 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6980 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6981 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6982 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6986 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6987 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6988 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6992 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6993 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6994 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6999 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8
[] = {
7001 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7002 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7003 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7007 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7008 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7009 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7013 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7014 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7015 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7019 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7020 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7021 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7025 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7026 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7027 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7031 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7032 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7033 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7037 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7038 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7039 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7043 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7044 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7045 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7049 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7050 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7051 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7055 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7056 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7057 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7061 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7062 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7063 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7067 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7068 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7069 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7073 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7074 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7075 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7079 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7080 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7081 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7085 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7086 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7087 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7091 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7092 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7093 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7097 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7098 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7099 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7103 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7104 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7105 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7109 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7110 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7111 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7115 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7116 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7117 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7121 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7122 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7123 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7127 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7128 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7129 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7133 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7134 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7135 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7139 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7140 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7141 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7145 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7146 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7147 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7151 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7152 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7153 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7157 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7158 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7159 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7163 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7164 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7165 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7169 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7170 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7171 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7175 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7176 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7177 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7181 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7182 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7183 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7187 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7188 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7189 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7193 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7194 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7195 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7199 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7200 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7201 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7205 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7206 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7207 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7211 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7212 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7213 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7217 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7218 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7219 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7223 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7224 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7225 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7229 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7230 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7231 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7235 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7236 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7237 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7241 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7242 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7243 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7247 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7248 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7249 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7253 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7254 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7255 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7259 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7260 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7261 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7265 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7266 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7267 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7271 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7272 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7273 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7277 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7278 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7279 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7283 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7284 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7285 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7289 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7290 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7291 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7295 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7296 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7297 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7301 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7302 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7303 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7307 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7308 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7309 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7313 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7314 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7315 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7319 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7320 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7321 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7325 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7326 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7327 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7331 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7332 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7333 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7337 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7338 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7339 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7343 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7344 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7345 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7349 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7350 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7351 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7355 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7356 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7357 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7361 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7362 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7363 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7367 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7368 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7369 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7373 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7374 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7375 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7379 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7380 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7381 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7385 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7386 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7387 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7391 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7392 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7393 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7397 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7398 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7399 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7403 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7404 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7405 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7409 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7410 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7411 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7415 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7416 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7417 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7421 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7422 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7423 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7427 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7428 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7429 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7433 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7434 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7435 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7439 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7440 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7441 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7445 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7446 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7447 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7451 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7452 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7453 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7457 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7458 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7459 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7463 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7464 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7465 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7469 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7470 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7471 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7475 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7476 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7477 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7481 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7482 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7483 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7487 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7488 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7489 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7493 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7494 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7495 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7499 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7500 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7501 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7505 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7506 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7507 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7511 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7512 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7513 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7517 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7518 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7519 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7523 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7524 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7525 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7529 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7530 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7531 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7535 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7536 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7537 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7541 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7542 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7543 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7547 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7548 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7549 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7553 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7554 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7555 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7559 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7560 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7561 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7565 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7566 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7567 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7571 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7572 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7573 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7577 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7578 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7579 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7583 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7584 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7585 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7589 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7590 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7591 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7595 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7596 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7597 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7601 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7602 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7603 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7607 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7608 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7609 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7613 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7614 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7615 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7619 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7620 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7621 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7625 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7626 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7627 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7631 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7632 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7633 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7637 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7638 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7639 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7643 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7644 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7645 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7649 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7650 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7651 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7655 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7656 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7657 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7661 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7662 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7663 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7667 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7668 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7669 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7673 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7674 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7675 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7679 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7680 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7681 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7685 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7686 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7687 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7691 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7692 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7693 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7697 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7698 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7699 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7703 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7704 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7705 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7709 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7710 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7711 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7715 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7716 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7717 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7721 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7722 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7723 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7727 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7728 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7729 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7734 radio_regs_t regs_2055
[] = {
7735 {0x02, 0x80, 0x80, 0, 0},
7737 {0x04, 0x27, 0x27, 0, 0},
7739 {0x06, 0x27, 0x27, 0, 0},
7740 {0x07, 0x7f, 0x7f, 1, 1},
7741 {0x08, 0x7, 0x7, 1, 1},
7742 {0x09, 0x7f, 0x7f, 1, 1},
7743 {0x0A, 0x7, 0x7, 1, 1},
7744 {0x0B, 0x15, 0x15, 0, 0},
7745 {0x0C, 0x15, 0x15, 0, 0},
7746 {0x0D, 0x4f, 0x4f, 1, 1},
7747 {0x0E, 0x5, 0x5, 1, 1},
7748 {0x0F, 0x4f, 0x4f, 1, 1},
7749 {0x10, 0x5, 0x5, 1, 1},
7750 {0x11, 0xd0, 0xd0, 0, 0},
7751 {0x12, 0x2, 0x2, 0, 0},
7753 {0x14, 0x40, 0x40, 0, 0},
7762 {0x1D, 0xc0, 0xc0, 0, 0},
7763 {0x1E, 0xff, 0xff, 0, 0},
7764 {0x1F, 0xc0, 0xc0, 0, 0},
7765 {0x20, 0xff, 0xff, 0, 0},
7766 {0x21, 0xc0, 0xc0, 0, 0},
7768 {0x23, 0x2c, 0x2c, 0, 0},
7778 {0x2D, 0xa4, 0xa4, 0, 0},
7779 {0x2E, 0x38, 0x38, 0, 0},
7781 {0x30, 0x4, 0x4, 1, 1},
7783 {0x32, 0xa, 0xa, 0, 0},
7784 {0x33, 0x87, 0x87, 0, 0},
7785 {0x34, 0x9, 0x9, 0, 0},
7786 {0x35, 0x70, 0x70, 0, 0},
7787 {0x36, 0x11, 0x11, 0, 0},
7788 {0x37, 0x18, 0x18, 1, 1},
7789 {0x38, 0x6, 0x6, 0, 0},
7790 {0x39, 0x4, 0x4, 1, 1},
7791 {0x3A, 0x6, 0x6, 0, 0},
7792 {0x3B, 0x9e, 0x9e, 0, 0},
7793 {0x3C, 0x9, 0x9, 0, 0},
7794 {0x3D, 0xc8, 0xc8, 1, 1},
7795 {0x3E, 0x88, 0x88, 0, 0},
7799 {0x42, 0x1, 0x1, 0, 0},
7800 {0x43, 0x2, 0x2, 0, 0},
7801 {0x44, 0x96, 0x96, 0, 0},
7802 {0x45, 0x3e, 0x3e, 0, 0},
7803 {0x46, 0x3e, 0x3e, 0, 0},
7804 {0x47, 0x13, 0x13, 0, 0},
7805 {0x48, 0x2, 0x2, 0, 0},
7806 {0x49, 0x15, 0x15, 0, 0},
7807 {0x4A, 0x7, 0x7, 0, 0},
7813 {0x50, 0x8, 0x8, 0, 0},
7814 {0x51, 0x8, 0x8, 0, 0},
7815 {0x52, 0x6, 0x6, 0, 0},
7816 {0x53, 0x84, 0x84, 1, 1},
7817 {0x54, 0xc3, 0xc3, 0, 0},
7818 {0x55, 0x8f, 0x8f, 0, 0},
7819 {0x56, 0xff, 0xff, 0, 0},
7820 {0x57, 0xff, 0xff, 0, 0},
7821 {0x58, 0x88, 0x88, 0, 0},
7822 {0x59, 0x88, 0x88, 0, 0},
7824 {0x5B, 0xcc, 0xcc, 0, 0},
7825 {0x5C, 0x6, 0x6, 0, 0},
7826 {0x5D, 0x80, 0x80, 0, 0},
7827 {0x5E, 0x80, 0x80, 0, 0},
7828 {0x5F, 0xf8, 0xf8, 0, 0},
7829 {0x60, 0x88, 0x88, 0, 0},
7830 {0x61, 0x88, 0x88, 0, 0},
7831 {0x62, 0x88, 0x8, 1, 1},
7832 {0x63, 0x88, 0x88, 0, 0},
7834 {0x65, 0x1, 0x1, 1, 1},
7835 {0x66, 0x8a, 0x8a, 0, 0},
7836 {0x67, 0x8, 0x8, 0, 0},
7837 {0x68, 0x83, 0x83, 0, 0},
7838 {0x69, 0x6, 0x6, 0, 0},
7839 {0x6A, 0xa0, 0xa0, 0, 0},
7840 {0x6B, 0xa, 0xa, 0, 0},
7841 {0x6C, 0x87, 0x87, 1, 1},
7842 {0x6D, 0x2a, 0x2a, 0, 0},
7843 {0x6E, 0x2a, 0x2a, 0, 0},
7844 {0x6F, 0x2a, 0x2a, 0, 0},
7845 {0x70, 0x2a, 0x2a, 0, 0},
7846 {0x71, 0x18, 0x18, 0, 0},
7847 {0x72, 0x6a, 0x6a, 1, 1},
7848 {0x73, 0xab, 0xab, 1, 1},
7849 {0x74, 0x13, 0x13, 1, 1},
7850 {0x75, 0xc1, 0xc1, 1, 1},
7851 {0x76, 0xaa, 0xaa, 1, 1},
7852 {0x77, 0x87, 0x87, 1, 1},
7854 {0x79, 0x6, 0x6, 0, 0},
7855 {0x7A, 0x7, 0x7, 0, 0},
7856 {0x7B, 0x7, 0x7, 0, 0},
7857 {0x7C, 0x15, 0x15, 0, 0},
7858 {0x7D, 0x55, 0x55, 0, 0},
7859 {0x7E, 0x97, 0x97, 1, 1},
7860 {0x7F, 0x8, 0x8, 0, 0},
7861 {0x80, 0x14, 0x14, 1, 1},
7862 {0x81, 0x33, 0x33, 0, 0},
7863 {0x82, 0x88, 0x88, 0, 0},
7864 {0x83, 0x6, 0x6, 0, 0},
7865 {0x84, 0x3, 0x3, 1, 1},
7866 {0x85, 0xa, 0xa, 0, 0},
7867 {0x86, 0x3, 0x3, 1, 1},
7868 {0x87, 0x2a, 0x2a, 0, 0},
7869 {0x88, 0xa4, 0xa4, 0, 0},
7870 {0x89, 0x18, 0x18, 0, 0},
7871 {0x8A, 0x28, 0x28, 0, 0},
7873 {0x8C, 0x4a, 0x4a, 0, 0},
7875 {0x8E, 0xf8, 0xf8, 0, 0},
7876 {0x8F, 0x88, 0x88, 0, 0},
7877 {0x90, 0x88, 0x88, 0, 0},
7878 {0x91, 0x88, 0x8, 1, 1},
7879 {0x92, 0x88, 0x88, 0, 0},
7881 {0x94, 0x1, 0x1, 1, 1},
7882 {0x95, 0x8a, 0x8a, 0, 0},
7883 {0x96, 0x8, 0x8, 0, 0},
7884 {0x97, 0x83, 0x83, 0, 0},
7885 {0x98, 0x6, 0x6, 0, 0},
7886 {0x99, 0xa0, 0xa0, 0, 0},
7887 {0x9A, 0xa, 0xa, 0, 0},
7888 {0x9B, 0x87, 0x87, 1, 1},
7889 {0x9C, 0x2a, 0x2a, 0, 0},
7890 {0x9D, 0x2a, 0x2a, 0, 0},
7891 {0x9E, 0x2a, 0x2a, 0, 0},
7892 {0x9F, 0x2a, 0x2a, 0, 0},
7893 {0xA0, 0x18, 0x18, 0, 0},
7894 {0xA1, 0x6a, 0x6a, 1, 1},
7895 {0xA2, 0xab, 0xab, 1, 1},
7896 {0xA3, 0x13, 0x13, 1, 1},
7897 {0xA4, 0xc1, 0xc1, 1, 1},
7898 {0xA5, 0xaa, 0xaa, 1, 1},
7899 {0xA6, 0x87, 0x87, 1, 1},
7901 {0xA8, 0x6, 0x6, 0, 0},
7902 {0xA9, 0x7, 0x7, 0, 0},
7903 {0xAA, 0x7, 0x7, 0, 0},
7904 {0xAB, 0x15, 0x15, 0, 0},
7905 {0xAC, 0x55, 0x55, 0, 0},
7906 {0xAD, 0x97, 0x97, 1, 1},
7907 {0xAE, 0x8, 0x8, 0, 0},
7908 {0xAF, 0x14, 0x14, 1, 1},
7909 {0xB0, 0x33, 0x33, 0, 0},
7910 {0xB1, 0x88, 0x88, 0, 0},
7911 {0xB2, 0x6, 0x6, 0, 0},
7912 {0xB3, 0x3, 0x3, 1, 1},
7913 {0xB4, 0xa, 0xa, 0, 0},
7914 {0xB5, 0x3, 0x3, 1, 1},
7915 {0xB6, 0x2a, 0x2a, 0, 0},
7916 {0xB7, 0xa4, 0xa4, 0, 0},
7917 {0xB8, 0x18, 0x18, 0, 0},
7918 {0xB9, 0x28, 0x28, 0, 0},
7920 {0xBB, 0x4a, 0x4a, 0, 0},
7922 {0xBD, 0x71, 0x71, 0, 0},
7923 {0xBE, 0x72, 0x72, 0, 0},
7924 {0xBF, 0x73, 0x73, 0, 0},
7925 {0xC0, 0x74, 0x74, 0, 0},
7926 {0xC1, 0x75, 0x75, 0, 0},
7927 {0xC2, 0x76, 0x76, 0, 0},
7928 {0xC3, 0x77, 0x77, 0, 0},
7929 {0xC4, 0x78, 0x78, 0, 0},
7930 {0xC5, 0x79, 0x79, 0, 0},
7931 {0xC6, 0x7a, 0x7a, 0, 0},
7939 {0xCE, 0x6, 0x6, 0, 0},
7942 {0xD1, 0x18, 0x18, 0, 0},
7943 {0xD2, 0x88, 0x88, 0, 0},
7951 {0xDA, 0x6, 0x6, 0, 0},
7954 {0xDD, 0x18, 0x18, 0, 0},
7955 {0xDE, 0x88, 0x88, 0, 0},
7960 {0xFFFF, 0, 0, 0, 0},
7963 radio_regs_t regs_SYN_2056
[] = {
7971 {0x09, 0x1, 0x1, 0, 0},
7996 {0x22, 0x60, 0x60, 0, 0},
7997 {0x23, 0x6, 0x6, 0, 0},
7998 {0x24, 0xc, 0xc, 0, 0},
8002 {0x28, 0x1, 0x1, 0, 0},
8008 {0x2E, 0xd, 0xd, 0, 0},
8009 {0x2F, 0x1f, 0x1f, 0, 0},
8010 {0x30, 0x15, 0x15, 0, 0},
8011 {0x31, 0xf, 0xf, 0, 0},
8022 {0x3C, 0x13, 0x13, 0, 0},
8023 {0x3D, 0xf, 0xf, 0, 0},
8024 {0x3E, 0x18, 0x18, 0, 0},
8027 {0x41, 0x20, 0x20, 0, 0},
8028 {0x42, 0x20, 0x20, 0, 0},
8030 {0x44, 0x77, 0x77, 0, 0},
8031 {0x45, 0x7, 0x7, 0, 0},
8032 {0x46, 0x1, 0x1, 0, 0},
8033 {0x47, 0x4, 0x4, 0, 0},
8034 {0x48, 0xf, 0xf, 0, 0},
8035 {0x49, 0x30, 0x30, 0, 0},
8036 {0x4A, 0x32, 0x32, 0, 0},
8037 {0x4B, 0xd, 0xd, 0, 0},
8038 {0x4C, 0xd, 0xd, 0, 0},
8039 {0x4D, 0x4, 0x4, 0, 0},
8040 {0x4E, 0x6, 0x6, 0, 0},
8041 {0x4F, 0x1, 0x1, 0, 0},
8042 {0x50, 0x1c, 0x1c, 0, 0},
8043 {0x51, 0x2, 0x2, 0, 0},
8044 {0x52, 0x2, 0x2, 0, 0},
8045 {0x53, 0xf7, 0xf7, 1, 1},
8046 {0x54, 0xb4, 0xb4, 0, 0},
8047 {0x55, 0xd2, 0xd2, 0, 0},
8050 {0x58, 0x4, 0x4, 0, 0},
8051 {0x59, 0x96, 0x96, 0, 0},
8052 {0x5A, 0x3e, 0x3e, 0, 0},
8053 {0x5B, 0x3e, 0x3e, 0, 0},
8054 {0x5C, 0x13, 0x13, 0, 0},
8055 {0x5D, 0x2, 0x2, 0, 0},
8057 {0x5F, 0x7, 0x7, 0, 0},
8058 {0x60, 0x7, 0x7, 1, 1},
8059 {0x61, 0x8, 0x8, 0, 0},
8060 {0x62, 0x3, 0x3, 0, 0},
8066 {0x68, 0x40, 0x40, 0, 0},
8071 {0x6D, 0x1, 0x1, 0, 0},
8074 {0x70, 0x60, 0x60, 0, 0},
8075 {0x71, 0x66, 0x66, 0, 0},
8076 {0x72, 0xc, 0xc, 0, 0},
8077 {0x73, 0x66, 0x66, 0, 0},
8078 {0x74, 0x8f, 0x8f, 1, 1},
8080 {0x76, 0xcc, 0xcc, 0, 0},
8081 {0x77, 0x1, 0x1, 0, 0},
8082 {0x78, 0x66, 0x66, 0, 0},
8083 {0x79, 0x66, 0x66, 0, 0},
8095 {0x85, 0xff, 0xff, 0, 0},
8121 {0x9F, 0x6, 0x6, 0, 0},
8122 {0xA0, 0x66, 0x66, 0, 0},
8123 {0xA1, 0x66, 0x66, 0, 0},
8124 {0xA2, 0x66, 0x66, 0, 0},
8125 {0xA3, 0x66, 0x66, 0, 0},
8126 {0xA4, 0x66, 0x66, 0, 0},
8127 {0xA5, 0x66, 0x66, 0, 0},
8128 {0xA6, 0x66, 0x66, 0, 0},
8129 {0xA7, 0x66, 0x66, 0, 0},
8130 {0xA8, 0x66, 0x66, 0, 0},
8131 {0xA9, 0x66, 0x66, 0, 0},
8132 {0xAA, 0x66, 0x66, 0, 0},
8133 {0xAB, 0x66, 0x66, 0, 0},
8134 {0xAC, 0x66, 0x66, 0, 0},
8135 {0xAD, 0x66, 0x66, 0, 0},
8136 {0xAE, 0x66, 0x66, 0, 0},
8137 {0xAF, 0x66, 0x66, 0, 0},
8138 {0xB0, 0x66, 0x66, 0, 0},
8139 {0xB1, 0x66, 0x66, 0, 0},
8140 {0xB2, 0x66, 0x66, 0, 0},
8141 {0xB3, 0xa, 0xa, 0, 0},
8145 {0xFFFF, 0, 0, 0, 0}
8148 radio_regs_t regs_TX_2056
[] = {
8180 {0x21, 0x88, 0x88, 0, 0},
8181 {0x22, 0x88, 0x88, 0, 0},
8182 {0x23, 0x88, 0x88, 0, 0},
8183 {0x24, 0x88, 0x88, 0, 0},
8184 {0x25, 0xc, 0xc, 0, 0},
8186 {0x27, 0x3, 0x3, 0, 0},
8188 {0x29, 0x3, 0x3, 0, 0},
8189 {0x2A, 0x37, 0x37, 0, 0},
8190 {0x2B, 0x3, 0x3, 0, 0},
8193 {0x2E, 0x1, 0x1, 0, 0},
8194 {0x2F, 0x1, 0x1, 0, 0},
8198 {0x33, 0x11, 0x11, 0, 0},
8199 {0x34, 0x11, 0x11, 0, 0},
8202 {0x37, 0x3, 0x3, 0, 0},
8203 {0x38, 0xf, 0xf, 0, 0},
8205 {0x3A, 0x2d, 0x2d, 0, 0},
8207 {0x3C, 0x6e, 0x6e, 0, 0},
8208 {0x3D, 0xf0, 0xf0, 1, 1},
8212 {0x41, 0x3, 0x3, 0, 0},
8213 {0x42, 0x3, 0x3, 0, 0},
8215 {0x44, 0x1e, 0x1e, 0, 0},
8217 {0x46, 0x6e, 0x6e, 0, 0},
8218 {0x47, 0xf0, 0xf0, 1, 1},
8220 {0x49, 0x2, 0x2, 0, 0},
8221 {0x4A, 0xff, 0xff, 1, 1},
8222 {0x4B, 0xc, 0xc, 0, 0},
8224 {0x4D, 0x38, 0x38, 0, 0},
8225 {0x4E, 0x70, 0x70, 1, 1},
8226 {0x4F, 0x2, 0x2, 0, 0},
8227 {0x50, 0x88, 0x88, 0, 0},
8228 {0x51, 0xc, 0xc, 0, 0},
8230 {0x53, 0x8, 0x8, 0, 0},
8231 {0x54, 0x70, 0x70, 1, 1},
8232 {0x55, 0x2, 0x2, 0, 0},
8233 {0x56, 0xff, 0xff, 1, 1},
8235 {0x58, 0x83, 0x83, 0, 0},
8236 {0x59, 0x77, 0x77, 1, 1},
8238 {0x5B, 0x2, 0x2, 0, 0},
8239 {0x5C, 0x88, 0x88, 0, 0},
8241 {0x5E, 0x8, 0x8, 0, 0},
8242 {0x5F, 0x77, 0x77, 1, 1},
8243 {0x60, 0x1, 0x1, 0, 0},
8245 {0x62, 0x7, 0x7, 0, 0},
8247 {0x64, 0x7, 0x7, 0, 0},
8250 {0x67, 0x74, 0x74, 1, 1},
8252 {0x69, 0xa, 0xa, 0, 0},
8260 {0x71, 0x2, 0x2, 0, 0},
8263 {0x74, 0xe, 0xe, 0, 0},
8264 {0x75, 0xe, 0xe, 0, 0},
8265 {0x76, 0xe, 0xe, 0, 0},
8266 {0x77, 0x13, 0x13, 0, 0},
8267 {0x78, 0x13, 0x13, 0, 0},
8268 {0x79, 0x1b, 0x1b, 0, 0},
8269 {0x7A, 0x1b, 0x1b, 0, 0},
8270 {0x7B, 0x55, 0x55, 0, 0},
8271 {0x7C, 0x5b, 0x5b, 0, 0},
8294 {0xFFFF, 0, 0, 0, 0}
8297 radio_regs_t regs_RX_2056
[] = {
8328 {0x20, 0x3, 0x3, 0, 0},
8331 {0x23, 0x90, 0x90, 0, 0},
8332 {0x24, 0x55, 0x55, 0, 0},
8333 {0x25, 0x15, 0x15, 0, 0},
8334 {0x26, 0x5, 0x5, 0, 0},
8335 {0x27, 0x15, 0x15, 0, 0},
8336 {0x28, 0x5, 0x5, 0, 0},
8337 {0x29, 0x20, 0x20, 0, 0},
8338 {0x2A, 0x11, 0x11, 0, 0},
8339 {0x2B, 0x90, 0x90, 0, 0},
8341 {0x2D, 0x88, 0x88, 0, 0},
8342 {0x2E, 0x32, 0x32, 0, 0},
8343 {0x2F, 0x77, 0x77, 0, 0},
8344 {0x30, 0x17, 0x17, 1, 1},
8345 {0x31, 0xff, 0xff, 1, 1},
8346 {0x32, 0x20, 0x20, 0, 0},
8348 {0x34, 0x88, 0x88, 0, 0},
8349 {0x35, 0x32, 0x32, 0, 0},
8350 {0x36, 0x77, 0x77, 0, 0},
8351 {0x37, 0x17, 0x17, 1, 1},
8352 {0x38, 0xf0, 0xf0, 1, 1},
8353 {0x39, 0x20, 0x20, 0, 0},
8354 {0x3A, 0x8, 0x8, 0, 0},
8355 {0x3B, 0x99, 0x99, 0, 0},
8357 {0x3D, 0x44, 0x44, 1, 1},
8359 {0x3F, 0x44, 0x44, 0, 0},
8360 {0x40, 0xf, 0xf, 1, 1},
8361 {0x41, 0x6, 0x6, 0, 0},
8362 {0x42, 0x4, 0x4, 0, 0},
8363 {0x43, 0x50, 0x50, 1, 1},
8364 {0x44, 0x8, 0x8, 0, 0},
8365 {0x45, 0x99, 0x99, 0, 0},
8367 {0x47, 0x11, 0x11, 0, 0},
8369 {0x49, 0x44, 0x44, 0, 0},
8370 {0x4A, 0x7, 0x7, 0, 0},
8371 {0x4B, 0x6, 0x6, 0, 0},
8372 {0x4C, 0x4, 0x4, 0, 0},
8375 {0x4F, 0x66, 0x66, 0, 0},
8376 {0x50, 0x66, 0x66, 0, 0},
8377 {0x51, 0x57, 0x57, 0, 0},
8378 {0x52, 0x57, 0x57, 0, 0},
8379 {0x53, 0x44, 0x44, 0, 0},
8382 {0x56, 0x8, 0x8, 0, 0},
8383 {0x57, 0x8, 0x8, 0, 0},
8384 {0x58, 0x7, 0x7, 0, 0},
8385 {0x59, 0x22, 0x22, 0, 0},
8386 {0x5A, 0x22, 0x22, 0, 0},
8387 {0x5B, 0x2, 0x2, 0, 0},
8388 {0x5C, 0x23, 0x23, 0, 0},
8389 {0x5D, 0x7, 0x7, 0, 0},
8390 {0x5E, 0x55, 0x55, 0, 0},
8391 {0x5F, 0x23, 0x23, 0, 0},
8392 {0x60, 0x41, 0x41, 0, 0},
8393 {0x61, 0x1, 0x1, 0, 0},
8394 {0x62, 0xa, 0xa, 0, 0},
8403 {0x6B, 0xc, 0xc, 0, 0},
8410 {0x72, 0x22, 0x22, 0, 0},
8411 {0x73, 0x22, 0x22, 0, 0},
8412 {0x74, 0x2, 0x2, 0, 0},
8413 {0x75, 0xa, 0xa, 0, 0},
8414 {0x76, 0x1, 0x1, 0, 0},
8415 {0x77, 0x22, 0x22, 0, 0},
8416 {0x78, 0x30, 0x30, 0, 0},
8445 {0xFFFF, 0, 0, 0, 0}
8448 radio_regs_t regs_SYN_2056_A1
[] = {
8456 {0x09, 0x1, 0x1, 0, 0},
8481 {0x22, 0x60, 0x60, 0, 0},
8482 {0x23, 0x6, 0x6, 0, 0},
8483 {0x24, 0xc, 0xc, 0, 0},
8487 {0x28, 0x1, 0x1, 0, 0},
8493 {0x2E, 0xd, 0xd, 0, 0},
8494 {0x2F, 0x1f, 0x1f, 0, 0},
8495 {0x30, 0x15, 0x15, 0, 0},
8496 {0x31, 0xf, 0xf, 0, 0},
8507 {0x3C, 0x13, 0x13, 0, 0},
8508 {0x3D, 0xf, 0xf, 0, 0},
8509 {0x3E, 0x18, 0x18, 0, 0},
8512 {0x41, 0x20, 0x20, 0, 0},
8513 {0x42, 0x20, 0x20, 0, 0},
8515 {0x44, 0x77, 0x77, 0, 0},
8516 {0x45, 0x7, 0x7, 0, 0},
8517 {0x46, 0x1, 0x1, 0, 0},
8518 {0x47, 0x4, 0x4, 0, 0},
8519 {0x48, 0xf, 0xf, 0, 0},
8520 {0x49, 0x30, 0x30, 0, 0},
8521 {0x4A, 0x32, 0x32, 0, 0},
8522 {0x4B, 0xd, 0xd, 0, 0},
8523 {0x4C, 0xd, 0xd, 0, 0},
8524 {0x4D, 0x4, 0x4, 0, 0},
8525 {0x4E, 0x6, 0x6, 0, 0},
8526 {0x4F, 0x1, 0x1, 0, 0},
8527 {0x50, 0x1c, 0x1c, 0, 0},
8528 {0x51, 0x2, 0x2, 0, 0},
8529 {0x52, 0x2, 0x2, 0, 0},
8530 {0x53, 0xf7, 0xf7, 1, 1},
8531 {0x54, 0xb4, 0xb4, 0, 0},
8532 {0x55, 0xd2, 0xd2, 0, 0},
8535 {0x58, 0x4, 0x4, 0, 0},
8536 {0x59, 0x96, 0x96, 0, 0},
8537 {0x5A, 0x3e, 0x3e, 0, 0},
8538 {0x5B, 0x3e, 0x3e, 0, 0},
8539 {0x5C, 0x13, 0x13, 0, 0},
8540 {0x5D, 0x2, 0x2, 0, 0},
8542 {0x5F, 0x7, 0x7, 0, 0},
8543 {0x60, 0x7, 0x7, 1, 1},
8544 {0x61, 0x8, 0x8, 0, 0},
8545 {0x62, 0x3, 0x3, 0, 0},
8551 {0x68, 0x40, 0x40, 0, 0},
8556 {0x6D, 0x1, 0x1, 0, 0},
8559 {0x70, 0x60, 0x60, 0, 0},
8560 {0x71, 0x66, 0x66, 0, 0},
8561 {0x72, 0xc, 0xc, 0, 0},
8562 {0x73, 0x66, 0x66, 0, 0},
8563 {0x74, 0x8f, 0x8f, 1, 1},
8565 {0x76, 0xcc, 0xcc, 0, 0},
8566 {0x77, 0x1, 0x1, 0, 0},
8567 {0x78, 0x66, 0x66, 0, 0},
8568 {0x79, 0x66, 0x66, 0, 0},
8580 {0x85, 0xff, 0xff, 0, 0},
8606 {0x9F, 0x6, 0x6, 0, 0},
8607 {0xA0, 0x66, 0x66, 0, 0},
8608 {0xA1, 0x66, 0x66, 0, 0},
8609 {0xA2, 0x66, 0x66, 0, 0},
8610 {0xA3, 0x66, 0x66, 0, 0},
8611 {0xA4, 0x66, 0x66, 0, 0},
8612 {0xA5, 0x66, 0x66, 0, 0},
8613 {0xA6, 0x66, 0x66, 0, 0},
8614 {0xA7, 0x66, 0x66, 0, 0},
8615 {0xA8, 0x66, 0x66, 0, 0},
8616 {0xA9, 0x66, 0x66, 0, 0},
8617 {0xAA, 0x66, 0x66, 0, 0},
8618 {0xAB, 0x66, 0x66, 0, 0},
8619 {0xAC, 0x66, 0x66, 0, 0},
8620 {0xAD, 0x66, 0x66, 0, 0},
8621 {0xAE, 0x66, 0x66, 0, 0},
8622 {0xAF, 0x66, 0x66, 0, 0},
8623 {0xB0, 0x66, 0x66, 0, 0},
8624 {0xB1, 0x66, 0x66, 0, 0},
8625 {0xB2, 0x66, 0x66, 0, 0},
8626 {0xB3, 0xa, 0xa, 0, 0},
8630 {0xFFFF, 0, 0, 0, 0}
8633 radio_regs_t regs_TX_2056_A1
[] = {
8665 {0x21, 0x88, 0x88, 0, 0},
8666 {0x22, 0x88, 0x88, 0, 0},
8667 {0x23, 0x88, 0x88, 0, 0},
8668 {0x24, 0x88, 0x88, 0, 0},
8669 {0x25, 0xc, 0xc, 0, 0},
8671 {0x27, 0x3, 0x3, 0, 0},
8673 {0x29, 0x3, 0x3, 0, 0},
8674 {0x2A, 0x37, 0x37, 0, 0},
8675 {0x2B, 0x3, 0x3, 0, 0},
8678 {0x2E, 0x1, 0x1, 0, 0},
8679 {0x2F, 0x1, 0x1, 0, 0},
8683 {0x33, 0x11, 0x11, 0, 0},
8684 {0x34, 0x11, 0x11, 0, 0},
8687 {0x37, 0x3, 0x3, 0, 0},
8688 {0x38, 0xf, 0xf, 0, 0},
8690 {0x3A, 0x2d, 0x2d, 0, 0},
8692 {0x3C, 0x6e, 0x6e, 0, 0},
8693 {0x3D, 0xf0, 0xf0, 1, 1},
8697 {0x41, 0x3, 0x3, 0, 0},
8698 {0x42, 0x3, 0x3, 0, 0},
8700 {0x44, 0x1e, 0x1e, 0, 0},
8702 {0x46, 0x6e, 0x6e, 0, 0},
8703 {0x47, 0xf0, 0xf0, 1, 1},
8705 {0x49, 0x2, 0x2, 0, 0},
8706 {0x4A, 0xff, 0xff, 1, 1},
8707 {0x4B, 0xc, 0xc, 0, 0},
8709 {0x4D, 0x38, 0x38, 0, 0},
8710 {0x4E, 0x70, 0x70, 1, 1},
8711 {0x4F, 0x2, 0x2, 0, 0},
8712 {0x50, 0x88, 0x88, 0, 0},
8713 {0x51, 0xc, 0xc, 0, 0},
8715 {0x53, 0x8, 0x8, 0, 0},
8716 {0x54, 0x70, 0x70, 1, 1},
8717 {0x55, 0x2, 0x2, 0, 0},
8718 {0x56, 0xff, 0xff, 1, 1},
8720 {0x58, 0x83, 0x83, 0, 0},
8721 {0x59, 0x77, 0x77, 1, 1},
8723 {0x5B, 0x2, 0x2, 0, 0},
8724 {0x5C, 0x88, 0x88, 0, 0},
8726 {0x5E, 0x8, 0x8, 0, 0},
8727 {0x5F, 0x77, 0x77, 1, 1},
8728 {0x60, 0x1, 0x1, 0, 0},
8730 {0x62, 0x7, 0x7, 0, 0},
8732 {0x64, 0x7, 0x7, 0, 0},
8735 {0x67, 0x72, 0x72, 1, 1},
8737 {0x69, 0xa, 0xa, 0, 0},
8745 {0x71, 0x2, 0x2, 0, 0},
8748 {0x74, 0xe, 0xe, 0, 0},
8749 {0x75, 0xe, 0xe, 0, 0},
8750 {0x76, 0xe, 0xe, 0, 0},
8751 {0x77, 0x13, 0x13, 0, 0},
8752 {0x78, 0x13, 0x13, 0, 0},
8753 {0x79, 0x1b, 0x1b, 0, 0},
8754 {0x7A, 0x1b, 0x1b, 0, 0},
8755 {0x7B, 0x55, 0x55, 0, 0},
8756 {0x7C, 0x5b, 0x5b, 0, 0},
8779 {0xFFFF, 0, 0, 0, 0}
8782 radio_regs_t regs_RX_2056_A1
[] = {
8813 {0x20, 0x3, 0x3, 0, 0},
8816 {0x23, 0x90, 0x90, 0, 0},
8817 {0x24, 0x55, 0x55, 0, 0},
8818 {0x25, 0x15, 0x15, 0, 0},
8819 {0x26, 0x5, 0x5, 0, 0},
8820 {0x27, 0x15, 0x15, 0, 0},
8821 {0x28, 0x5, 0x5, 0, 0},
8822 {0x29, 0x20, 0x20, 0, 0},
8823 {0x2A, 0x11, 0x11, 0, 0},
8824 {0x2B, 0x90, 0x90, 0, 0},
8826 {0x2D, 0x88, 0x88, 0, 0},
8827 {0x2E, 0x32, 0x32, 0, 0},
8828 {0x2F, 0x77, 0x77, 0, 0},
8829 {0x30, 0x17, 0x17, 1, 1},
8830 {0x31, 0xff, 0xff, 1, 1},
8831 {0x32, 0x20, 0x20, 0, 0},
8833 {0x34, 0x88, 0x88, 0, 0},
8834 {0x35, 0x32, 0x32, 0, 0},
8835 {0x36, 0x77, 0x77, 0, 0},
8836 {0x37, 0x17, 0x17, 1, 1},
8837 {0x38, 0xf0, 0xf0, 1, 1},
8838 {0x39, 0x20, 0x20, 0, 0},
8839 {0x3A, 0x8, 0x8, 0, 0},
8840 {0x3B, 0x55, 0x55, 1, 1},
8842 {0x3D, 0x44, 0x44, 1, 1},
8844 {0x3F, 0x44, 0x44, 0, 0},
8845 {0x40, 0xf, 0xf, 1, 1},
8846 {0x41, 0x6, 0x6, 0, 0},
8847 {0x42, 0x4, 0x4, 0, 0},
8848 {0x43, 0x50, 0x50, 1, 1},
8849 {0x44, 0x8, 0x8, 0, 0},
8850 {0x45, 0x55, 0x55, 1, 1},
8852 {0x47, 0x11, 0x11, 0, 0},
8854 {0x49, 0x44, 0x44, 0, 0},
8855 {0x4A, 0x7, 0x7, 0, 0},
8856 {0x4B, 0x6, 0x6, 0, 0},
8857 {0x4C, 0x4, 0x4, 0, 0},
8860 {0x4F, 0x26, 0x26, 1, 1},
8861 {0x50, 0x26, 0x26, 1, 1},
8862 {0x51, 0xf, 0xf, 1, 1},
8863 {0x52, 0xf, 0xf, 1, 1},
8864 {0x53, 0x44, 0x44, 0, 0},
8867 {0x56, 0x8, 0x8, 0, 0},
8868 {0x57, 0x8, 0x8, 0, 0},
8869 {0x58, 0x7, 0x7, 0, 0},
8870 {0x59, 0x22, 0x22, 0, 0},
8871 {0x5A, 0x22, 0x22, 0, 0},
8872 {0x5B, 0x2, 0x2, 0, 0},
8873 {0x5C, 0x2f, 0x2f, 1, 1},
8874 {0x5D, 0x7, 0x7, 0, 0},
8875 {0x5E, 0x55, 0x55, 0, 0},
8876 {0x5F, 0x23, 0x23, 0, 0},
8877 {0x60, 0x41, 0x41, 0, 0},
8878 {0x61, 0x1, 0x1, 0, 0},
8879 {0x62, 0xa, 0xa, 0, 0},
8888 {0x6B, 0xc, 0xc, 0, 0},
8895 {0x72, 0x22, 0x22, 0, 0},
8896 {0x73, 0x22, 0x22, 0, 0},
8898 {0x75, 0xa, 0xa, 0, 0},
8899 {0x76, 0x1, 0x1, 0, 0},
8900 {0x77, 0x22, 0x22, 0, 0},
8901 {0x78, 0x30, 0x30, 0, 0},
8930 {0xFFFF, 0, 0, 0, 0}
8933 radio_regs_t regs_SYN_2056_rev5
[] = {
8941 {0x09, 0x1, 0x1, 0, 0},
8966 {0x22, 0x60, 0x60, 0, 0},
8967 {0x23, 0x6, 0x6, 0, 0},
8968 {0x24, 0xc, 0xc, 0, 0},
8972 {0x28, 0x1, 0x1, 0, 0},
8979 {0x2F, 0x1f, 0x1f, 0, 0},
8980 {0x30, 0x15, 0x15, 0, 0},
8981 {0x31, 0xf, 0xf, 0, 0},
8992 {0x3C, 0x13, 0x13, 0, 0},
8993 {0x3D, 0xf, 0xf, 0, 0},
8994 {0x3E, 0x18, 0x18, 0, 0},
8997 {0x41, 0x20, 0x20, 0, 0},
8998 {0x42, 0x20, 0x20, 0, 0},
9000 {0x44, 0x77, 0x77, 0, 0},
9001 {0x45, 0x7, 0x7, 0, 0},
9002 {0x46, 0x1, 0x1, 0, 0},
9003 {0x47, 0x4, 0x4, 0, 0},
9004 {0x48, 0xf, 0xf, 0, 0},
9005 {0x49, 0x30, 0x30, 0, 0},
9006 {0x4A, 0x32, 0x32, 0, 0},
9007 {0x4B, 0xd, 0xd, 0, 0},
9008 {0x4C, 0xd, 0xd, 0, 0},
9009 {0x4D, 0x4, 0x4, 0, 0},
9010 {0x4E, 0x6, 0x6, 0, 0},
9011 {0x4F, 0x1, 0x1, 0, 0},
9012 {0x50, 0x1c, 0x1c, 0, 0},
9013 {0x51, 0x2, 0x2, 0, 0},
9014 {0x52, 0x2, 0x2, 0, 0},
9015 {0x53, 0xf7, 0xf7, 1, 1},
9016 {0x54, 0xb4, 0xb4, 0, 0},
9017 {0x55, 0xd2, 0xd2, 0, 0},
9020 {0x58, 0x4, 0x4, 0, 0},
9021 {0x59, 0x96, 0x96, 0, 0},
9022 {0x5A, 0x3e, 0x3e, 0, 0},
9023 {0x5B, 0x3e, 0x3e, 0, 0},
9024 {0x5C, 0x13, 0x13, 0, 0},
9025 {0x5D, 0x2, 0x2, 0, 0},
9027 {0x5F, 0x7, 0x7, 0, 0},
9028 {0x60, 0x7, 0x7, 1, 1},
9029 {0x61, 0x8, 0x8, 0, 0},
9030 {0x62, 0x3, 0x3, 0, 0},
9036 {0x68, 0x40, 0x40, 0, 0},
9041 {0x6D, 0x1, 0x1, 0, 0},
9044 {0x70, 0x60, 0x60, 0, 0},
9045 {0x71, 0x66, 0x66, 0, 0},
9046 {0x72, 0xc, 0xc, 0, 0},
9047 {0x73, 0x66, 0x66, 0, 0},
9048 {0x74, 0x8f, 0x8f, 1, 1},
9050 {0x76, 0xcc, 0xcc, 0, 0},
9051 {0x77, 0x1, 0x1, 0, 0},
9052 {0x78, 0x66, 0x66, 0, 0},
9053 {0x79, 0x66, 0x66, 0, 0},
9065 {0x85, 0xff, 0xff, 0, 0},
9091 {0x9F, 0x6, 0x6, 0, 0},
9092 {0xA0, 0x66, 0x66, 0, 0},
9093 {0xA1, 0x66, 0x66, 0, 0},
9094 {0xA2, 0x66, 0x66, 0, 0},
9095 {0xA3, 0x66, 0x66, 0, 0},
9096 {0xA4, 0x66, 0x66, 0, 0},
9097 {0xA5, 0x66, 0x66, 0, 0},
9098 {0xA6, 0x66, 0x66, 0, 0},
9099 {0xA7, 0x66, 0x66, 0, 0},
9100 {0xA8, 0x66, 0x66, 0, 0},
9101 {0xA9, 0x66, 0x66, 0, 0},
9102 {0xAA, 0x66, 0x66, 0, 0},
9103 {0xAB, 0x66, 0x66, 0, 0},
9104 {0xAC, 0x66, 0x66, 0, 0},
9105 {0xAD, 0x66, 0x66, 0, 0},
9106 {0xAE, 0x66, 0x66, 0, 0},
9107 {0xAF, 0x66, 0x66, 0, 0},
9108 {0xB0, 0x66, 0x66, 0, 0},
9109 {0xB1, 0x66, 0x66, 0, 0},
9110 {0xB2, 0x66, 0x66, 0, 0},
9111 {0xB3, 0xa, 0xa, 0, 0},
9115 {0xFFFF, 0, 0, 0, 0}
9118 radio_regs_t regs_TX_2056_rev5
[] = {
9150 {0x21, 0x88, 0x88, 0, 0},
9151 {0x22, 0x88, 0x88, 0, 0},
9152 {0x23, 0x88, 0x88, 0, 0},
9153 {0x24, 0x88, 0x88, 0, 0},
9154 {0x25, 0xc, 0xc, 0, 0},
9156 {0x27, 0x3, 0x3, 0, 0},
9158 {0x29, 0x3, 0x3, 0, 0},
9159 {0x2A, 0x37, 0x37, 0, 0},
9160 {0x2B, 0x3, 0x3, 0, 0},
9163 {0x2E, 0x1, 0x1, 0, 0},
9164 {0x2F, 0x1, 0x1, 0, 0},
9168 {0x33, 0x11, 0x11, 0, 0},
9169 {0x34, 0x11, 0x11, 0, 0},
9172 {0x37, 0x3, 0x3, 0, 0},
9173 {0x38, 0xf, 0xf, 0, 0},
9175 {0x3A, 0x2d, 0x2d, 0, 0},
9177 {0x3C, 0x6e, 0x6e, 0, 0},
9178 {0x3D, 0xf0, 0xf0, 1, 1},
9182 {0x41, 0x3, 0x3, 0, 0},
9183 {0x42, 0x3, 0x3, 0, 0},
9185 {0x44, 0x1e, 0x1e, 0, 0},
9187 {0x46, 0x6e, 0x6e, 0, 0},
9188 {0x47, 0xf0, 0xf0, 1, 1},
9190 {0x49, 0x2, 0x2, 0, 0},
9191 {0x4A, 0xff, 0xff, 1, 1},
9192 {0x4B, 0xc, 0xc, 0, 0},
9194 {0x4D, 0x38, 0x38, 0, 0},
9195 {0x4E, 0x70, 0x70, 1, 1},
9196 {0x4F, 0x2, 0x2, 0, 0},
9197 {0x50, 0x88, 0x88, 0, 0},
9198 {0x51, 0xc, 0xc, 0, 0},
9200 {0x53, 0x8, 0x8, 0, 0},
9201 {0x54, 0x70, 0x70, 1, 1},
9202 {0x55, 0x2, 0x2, 0, 0},
9203 {0x56, 0xff, 0xff, 1, 1},
9205 {0x58, 0x83, 0x83, 0, 0},
9206 {0x59, 0x77, 0x77, 1, 1},
9208 {0x5B, 0x2, 0x2, 0, 0},
9209 {0x5C, 0x88, 0x88, 0, 0},
9211 {0x5E, 0x8, 0x8, 0, 0},
9212 {0x5F, 0x77, 0x77, 1, 1},
9213 {0x60, 0x1, 0x1, 0, 0},
9215 {0x62, 0x7, 0x7, 0, 0},
9217 {0x64, 0x7, 0x7, 0, 0},
9222 {0x69, 0xa, 0xa, 0, 0},
9230 {0x71, 0x2, 0x2, 0, 0},
9233 {0x74, 0xe, 0xe, 0, 0},
9234 {0x75, 0xe, 0xe, 0, 0},
9235 {0x76, 0xe, 0xe, 0, 0},
9236 {0x77, 0x13, 0x13, 0, 0},
9237 {0x78, 0x13, 0x13, 0, 0},
9238 {0x79, 0x1b, 0x1b, 0, 0},
9239 {0x7A, 0x1b, 0x1b, 0, 0},
9240 {0x7B, 0x55, 0x55, 0, 0},
9241 {0x7C, 0x5b, 0x5b, 0, 0},
9264 {0x93, 0x70, 0x70, 0, 0},
9265 {0x94, 0x70, 0x70, 0, 0},
9266 {0x95, 0x71, 0x71, 1, 1},
9267 {0x96, 0x71, 0x71, 1, 1},
9268 {0x97, 0x72, 0x72, 1, 1},
9269 {0x98, 0x73, 0x73, 1, 1},
9270 {0x99, 0x74, 0x74, 1, 1},
9271 {0x9A, 0x75, 0x75, 1, 1},
9272 {0xFFFF, 0, 0, 0, 0}
9275 radio_regs_t regs_RX_2056_rev5
[] = {
9306 {0x20, 0x3, 0x3, 0, 0},
9309 {0x23, 0x90, 0x90, 0, 0},
9310 {0x24, 0x55, 0x55, 0, 0},
9311 {0x25, 0x15, 0x15, 0, 0},
9312 {0x26, 0x5, 0x5, 0, 0},
9313 {0x27, 0x15, 0x15, 0, 0},
9314 {0x28, 0x5, 0x5, 0, 0},
9315 {0x29, 0x20, 0x20, 0, 0},
9316 {0x2A, 0x11, 0x11, 0, 0},
9317 {0x2B, 0x90, 0x90, 0, 0},
9319 {0x2D, 0x88, 0x88, 0, 0},
9320 {0x2E, 0x32, 0x32, 0, 0},
9321 {0x2F, 0x77, 0x77, 0, 0},
9322 {0x30, 0x17, 0x17, 1, 1},
9323 {0x31, 0xff, 0xff, 1, 1},
9324 {0x32, 0x20, 0x20, 0, 0},
9326 {0x34, 0x88, 0x88, 0, 0},
9327 {0x35, 0x32, 0x32, 0, 0},
9328 {0x36, 0x77, 0x77, 0, 0},
9329 {0x37, 0x17, 0x17, 1, 1},
9330 {0x38, 0xf0, 0xf0, 1, 1},
9331 {0x39, 0x20, 0x20, 0, 0},
9332 {0x3A, 0x8, 0x8, 0, 0},
9333 {0x3B, 0x55, 0x55, 1, 1},
9335 {0x3D, 0x88, 0x88, 1, 1},
9338 {0x40, 0x7, 0x7, 1, 1},
9339 {0x41, 0x6, 0x6, 0, 0},
9340 {0x42, 0x4, 0x4, 0, 0},
9342 {0x44, 0x8, 0x8, 0, 0},
9343 {0x45, 0x55, 0x55, 1, 1},
9345 {0x47, 0x11, 0x11, 0, 0},
9348 {0x4A, 0x7, 0x7, 0, 0},
9349 {0x4B, 0x6, 0x6, 0, 0},
9350 {0x4C, 0x4, 0x4, 0, 0},
9353 {0x4F, 0x26, 0x26, 1, 1},
9354 {0x50, 0x26, 0x26, 1, 1},
9355 {0x51, 0xf, 0xf, 1, 1},
9356 {0x52, 0xf, 0xf, 1, 1},
9357 {0x53, 0x44, 0x44, 0, 0},
9360 {0x56, 0x8, 0x8, 0, 0},
9361 {0x57, 0x8, 0x8, 0, 0},
9362 {0x58, 0x7, 0x7, 0, 0},
9363 {0x59, 0x22, 0x22, 0, 0},
9364 {0x5A, 0x22, 0x22, 0, 0},
9365 {0x5B, 0x2, 0x2, 0, 0},
9366 {0x5C, 0x4, 0x4, 1, 1},
9367 {0x5D, 0x7, 0x7, 0, 0},
9368 {0x5E, 0x55, 0x55, 0, 0},
9369 {0x5F, 0x23, 0x23, 0, 0},
9370 {0x60, 0x41, 0x41, 0, 0},
9371 {0x61, 0x1, 0x1, 0, 0},
9372 {0x62, 0xa, 0xa, 0, 0},
9381 {0x6B, 0xc, 0xc, 0, 0},
9388 {0x72, 0x22, 0x22, 0, 0},
9389 {0x73, 0x22, 0x22, 0, 0},
9391 {0x75, 0xa, 0xa, 0, 0},
9392 {0x76, 0x1, 0x1, 0, 0},
9393 {0x77, 0x22, 0x22, 0, 0},
9394 {0x78, 0x30, 0x30, 0, 0},
9423 {0xFFFF, 0, 0, 0, 0}
9426 radio_regs_t regs_SYN_2056_rev6
[] = {
9434 {0x09, 0x1, 0x1, 0, 0},
9459 {0x22, 0x60, 0x60, 0, 0},
9460 {0x23, 0x6, 0x6, 0, 0},
9461 {0x24, 0xc, 0xc, 0, 0},
9465 {0x28, 0x1, 0x1, 0, 0},
9472 {0x2F, 0x1f, 0x1f, 0, 0},
9473 {0x30, 0x15, 0x15, 0, 0},
9474 {0x31, 0xf, 0xf, 0, 0},
9485 {0x3C, 0x13, 0x13, 0, 0},
9486 {0x3D, 0xf, 0xf, 0, 0},
9487 {0x3E, 0x18, 0x18, 0, 0},
9490 {0x41, 0x20, 0x20, 0, 0},
9491 {0x42, 0x20, 0x20, 0, 0},
9493 {0x44, 0x77, 0x77, 0, 0},
9494 {0x45, 0x7, 0x7, 0, 0},
9495 {0x46, 0x1, 0x1, 0, 0},
9496 {0x47, 0x4, 0x4, 0, 0},
9497 {0x48, 0xf, 0xf, 0, 0},
9498 {0x49, 0x30, 0x30, 0, 0},
9499 {0x4A, 0x32, 0x32, 0, 0},
9500 {0x4B, 0xd, 0xd, 0, 0},
9501 {0x4C, 0xd, 0xd, 0, 0},
9502 {0x4D, 0x4, 0x4, 0, 0},
9503 {0x4E, 0x6, 0x6, 0, 0},
9504 {0x4F, 0x1, 0x1, 0, 0},
9505 {0x50, 0x1c, 0x1c, 0, 0},
9506 {0x51, 0x2, 0x2, 0, 0},
9507 {0x52, 0x2, 0x2, 0, 0},
9508 {0x53, 0xf7, 0xf7, 1, 1},
9509 {0x54, 0xb4, 0xb4, 0, 0},
9510 {0x55, 0xd2, 0xd2, 0, 0},
9513 {0x58, 0x4, 0x4, 0, 0},
9514 {0x59, 0x96, 0x96, 0, 0},
9515 {0x5A, 0x3e, 0x3e, 0, 0},
9516 {0x5B, 0x3e, 0x3e, 0, 0},
9517 {0x5C, 0x13, 0x13, 0, 0},
9518 {0x5D, 0x2, 0x2, 0, 0},
9520 {0x5F, 0x7, 0x7, 0, 0},
9521 {0x60, 0x7, 0x7, 1, 1},
9522 {0x61, 0x8, 0x8, 0, 0},
9523 {0x62, 0x3, 0x3, 0, 0},
9529 {0x68, 0x40, 0x40, 0, 0},
9534 {0x6D, 0x1, 0x1, 0, 0},
9537 {0x70, 0x60, 0x60, 0, 0},
9538 {0x71, 0x66, 0x66, 0, 0},
9539 {0x72, 0xc, 0xc, 0, 0},
9540 {0x73, 0x66, 0x66, 0, 0},
9541 {0x74, 0x8f, 0x8f, 1, 1},
9543 {0x76, 0xcc, 0xcc, 0, 0},
9544 {0x77, 0x1, 0x1, 0, 0},
9545 {0x78, 0x66, 0x66, 0, 0},
9546 {0x79, 0x66, 0x66, 0, 0},
9558 {0x85, 0xff, 0xff, 0, 0},
9584 {0x9F, 0x6, 0x6, 0, 0},
9585 {0xA0, 0x66, 0x66, 0, 0},
9586 {0xA1, 0x66, 0x66, 0, 0},
9587 {0xA2, 0x66, 0x66, 0, 0},
9588 {0xA3, 0x66, 0x66, 0, 0},
9589 {0xA4, 0x66, 0x66, 0, 0},
9590 {0xA5, 0x66, 0x66, 0, 0},
9591 {0xA6, 0x66, 0x66, 0, 0},
9592 {0xA7, 0x66, 0x66, 0, 0},
9593 {0xA8, 0x66, 0x66, 0, 0},
9594 {0xA9, 0x66, 0x66, 0, 0},
9595 {0xAA, 0x66, 0x66, 0, 0},
9596 {0xAB, 0x66, 0x66, 0, 0},
9597 {0xAC, 0x66, 0x66, 0, 0},
9598 {0xAD, 0x66, 0x66, 0, 0},
9599 {0xAE, 0x66, 0x66, 0, 0},
9600 {0xAF, 0x66, 0x66, 0, 0},
9601 {0xB0, 0x66, 0x66, 0, 0},
9602 {0xB1, 0x66, 0x66, 0, 0},
9603 {0xB2, 0x66, 0x66, 0, 0},
9604 {0xB3, 0xa, 0xa, 0, 0},
9608 {0xFFFF, 0, 0, 0, 0}
9611 radio_regs_t regs_TX_2056_rev6
[] = {
9643 {0x21, 0x88, 0x88, 0, 0},
9644 {0x22, 0x88, 0x88, 0, 0},
9645 {0x23, 0x88, 0x88, 0, 0},
9646 {0x24, 0x88, 0x88, 0, 0},
9647 {0x25, 0xc, 0xc, 0, 0},
9649 {0x27, 0x3, 0x3, 0, 0},
9651 {0x29, 0x3, 0x3, 0, 0},
9652 {0x2A, 0x37, 0x37, 0, 0},
9653 {0x2B, 0x3, 0x3, 0, 0},
9656 {0x2E, 0x1, 0x1, 0, 0},
9657 {0x2F, 0x1, 0x1, 0, 0},
9661 {0x33, 0x11, 0x11, 0, 0},
9662 {0x34, 0xee, 0xee, 1, 1},
9665 {0x37, 0x3, 0x3, 0, 0},
9666 {0x38, 0x50, 0x50, 1, 1},
9668 {0x3A, 0x50, 0x50, 1, 1},
9670 {0x3C, 0x6e, 0x6e, 0, 0},
9671 {0x3D, 0xf0, 0xf0, 1, 1},
9675 {0x41, 0x3, 0x3, 0, 0},
9676 {0x42, 0x3, 0x3, 0, 0},
9678 {0x44, 0x1e, 0x1e, 0, 0},
9680 {0x46, 0x6e, 0x6e, 0, 0},
9681 {0x47, 0xf0, 0xf0, 1, 1},
9683 {0x49, 0x2, 0x2, 0, 0},
9684 {0x4A, 0xff, 0xff, 1, 1},
9685 {0x4B, 0xc, 0xc, 0, 0},
9687 {0x4D, 0x38, 0x38, 0, 0},
9688 {0x4E, 0x70, 0x70, 1, 1},
9689 {0x4F, 0x2, 0x2, 0, 0},
9690 {0x50, 0x88, 0x88, 0, 0},
9691 {0x51, 0xc, 0xc, 0, 0},
9693 {0x53, 0x8, 0x8, 0, 0},
9694 {0x54, 0x70, 0x70, 1, 1},
9695 {0x55, 0x2, 0x2, 0, 0},
9696 {0x56, 0xff, 0xff, 1, 1},
9698 {0x58, 0x83, 0x83, 0, 0},
9699 {0x59, 0x77, 0x77, 1, 1},
9701 {0x5B, 0x2, 0x2, 0, 0},
9702 {0x5C, 0x88, 0x88, 0, 0},
9704 {0x5E, 0x8, 0x8, 0, 0},
9705 {0x5F, 0x77, 0x77, 1, 1},
9706 {0x60, 0x1, 0x1, 0, 0},
9708 {0x62, 0x7, 0x7, 0, 0},
9710 {0x64, 0x7, 0x7, 0, 0},
9715 {0x69, 0xa, 0xa, 0, 0},
9723 {0x71, 0x2, 0x2, 0, 0},
9726 {0x74, 0xe, 0xe, 0, 0},
9727 {0x75, 0xe, 0xe, 0, 0},
9728 {0x76, 0xe, 0xe, 0, 0},
9729 {0x77, 0x13, 0x13, 0, 0},
9730 {0x78, 0x13, 0x13, 0, 0},
9731 {0x79, 0x1b, 0x1b, 0, 0},
9732 {0x7A, 0x1b, 0x1b, 0, 0},
9733 {0x7B, 0x55, 0x55, 0, 0},
9734 {0x7C, 0x5b, 0x5b, 0, 0},
9735 {0x7D, 0x30, 0x30, 1, 1},
9757 {0x93, 0x70, 0x70, 0, 0},
9758 {0x94, 0x70, 0x70, 0, 0},
9759 {0x95, 0x70, 0x70, 0, 0},
9760 {0x96, 0x70, 0x70, 0, 0},
9761 {0x97, 0x70, 0x70, 0, 0},
9762 {0x98, 0x70, 0x70, 0, 0},
9763 {0x99, 0x70, 0x70, 0, 0},
9764 {0x9A, 0x70, 0x70, 0, 0},
9765 {0xFFFF, 0, 0, 0, 0}
9768 radio_regs_t regs_RX_2056_rev6
[] = {
9799 {0x20, 0x3, 0x3, 0, 0},
9802 {0x23, 0x90, 0x90, 0, 0},
9803 {0x24, 0x55, 0x55, 0, 0},
9804 {0x25, 0x15, 0x15, 0, 0},
9805 {0x26, 0x5, 0x5, 0, 0},
9806 {0x27, 0x15, 0x15, 0, 0},
9807 {0x28, 0x5, 0x5, 0, 0},
9808 {0x29, 0x20, 0x20, 0, 0},
9809 {0x2A, 0x11, 0x11, 0, 0},
9810 {0x2B, 0x90, 0x90, 0, 0},
9812 {0x2D, 0x88, 0x88, 0, 0},
9813 {0x2E, 0x32, 0x32, 0, 0},
9814 {0x2F, 0x77, 0x77, 0, 0},
9815 {0x30, 0x17, 0x17, 1, 1},
9816 {0x31, 0xff, 0xff, 1, 1},
9817 {0x32, 0x20, 0x20, 0, 0},
9819 {0x34, 0x88, 0x88, 0, 0},
9820 {0x35, 0x32, 0x32, 0, 0},
9821 {0x36, 0x77, 0x77, 0, 0},
9822 {0x37, 0x17, 0x17, 1, 1},
9823 {0x38, 0xf0, 0xf0, 1, 1},
9824 {0x39, 0x20, 0x20, 0, 0},
9825 {0x3A, 0x8, 0x8, 0, 0},
9826 {0x3B, 0x55, 0x55, 1, 1},
9828 {0x3D, 0x88, 0x88, 1, 1},
9830 {0x3F, 0x44, 0x44, 0, 0},
9831 {0x40, 0x7, 0x7, 1, 1},
9832 {0x41, 0x6, 0x6, 0, 0},
9833 {0x42, 0x4, 0x4, 0, 0},
9835 {0x44, 0x8, 0x8, 0, 0},
9836 {0x45, 0x55, 0x55, 1, 1},
9838 {0x47, 0x11, 0x11, 0, 0},
9840 {0x49, 0x44, 0x44, 0, 0},
9841 {0x4A, 0x7, 0x7, 0, 0},
9842 {0x4B, 0x6, 0x6, 0, 0},
9843 {0x4C, 0x4, 0x4, 0, 0},
9846 {0x4F, 0x26, 0x26, 1, 1},
9847 {0x50, 0x26, 0x26, 1, 1},
9848 {0x51, 0xf, 0xf, 1, 1},
9849 {0x52, 0xf, 0xf, 1, 1},
9850 {0x53, 0x44, 0x44, 0, 0},
9853 {0x56, 0x8, 0x8, 0, 0},
9854 {0x57, 0x8, 0x8, 0, 0},
9855 {0x58, 0x7, 0x7, 0, 0},
9856 {0x59, 0x22, 0x22, 0, 0},
9857 {0x5A, 0x22, 0x22, 0, 0},
9858 {0x5B, 0x2, 0x2, 0, 0},
9859 {0x5C, 0x4, 0x4, 1, 1},
9860 {0x5D, 0x7, 0x7, 0, 0},
9861 {0x5E, 0x55, 0x55, 0, 0},
9862 {0x5F, 0x23, 0x23, 0, 0},
9863 {0x60, 0x41, 0x41, 0, 0},
9864 {0x61, 0x1, 0x1, 0, 0},
9865 {0x62, 0xa, 0xa, 0, 0},
9874 {0x6B, 0xc, 0xc, 0, 0},
9881 {0x72, 0x22, 0x22, 0, 0},
9882 {0x73, 0x22, 0x22, 0, 0},
9884 {0x75, 0xa, 0xa, 0, 0},
9885 {0x76, 0x1, 0x1, 0, 0},
9886 {0x77, 0x22, 0x22, 0, 0},
9887 {0x78, 0x30, 0x30, 0, 0},
9892 {0x7D, 0x5, 0x5, 1, 1},
9916 {0xFFFF, 0, 0, 0, 0}
9919 radio_regs_t regs_SYN_2056_rev7
[] = {
9927 {0x09, 0x1, 0x1, 0, 0},
9952 {0x22, 0x60, 0x60, 0, 0},
9953 {0x23, 0x6, 0x6, 0, 0},
9954 {0x24, 0xc, 0xc, 0, 0},
9958 {0x28, 0x1, 0x1, 0, 0},
9965 {0x2F, 0x1f, 0x1f, 0, 0},
9966 {0x30, 0x15, 0x15, 0, 0},
9967 {0x31, 0xf, 0xf, 0, 0},
9978 {0x3C, 0x13, 0x13, 0, 0},
9979 {0x3D, 0xf, 0xf, 0, 0},
9980 {0x3E, 0x18, 0x18, 0, 0},
9983 {0x41, 0x20, 0x20, 0, 0},
9984 {0x42, 0x20, 0x20, 0, 0},
9986 {0x44, 0x77, 0x77, 0, 0},
9987 {0x45, 0x7, 0x7, 0, 0},
9988 {0x46, 0x1, 0x1, 0, 0},
9989 {0x47, 0x4, 0x4, 0, 0},
9990 {0x48, 0xf, 0xf, 0, 0},
9991 {0x49, 0x30, 0x30, 0, 0},
9992 {0x4A, 0x32, 0x32, 0, 0},
9993 {0x4B, 0xd, 0xd, 0, 0},
9994 {0x4C, 0xd, 0xd, 0, 0},
9995 {0x4D, 0x4, 0x4, 0, 0},
9996 {0x4E, 0x6, 0x6, 0, 0},
9997 {0x4F, 0x1, 0x1, 0, 0},
9998 {0x50, 0x1c, 0x1c, 0, 0},
9999 {0x51, 0x2, 0x2, 0, 0},
10000 {0x52, 0x2, 0x2, 0, 0},
10001 {0x53, 0xf7, 0xf7, 1, 1},
10002 {0x54, 0xb4, 0xb4, 0, 0},
10003 {0x55, 0xd2, 0xd2, 0, 0},
10004 {0x56, 0, 0, 0, 0},
10005 {0x57, 0, 0, 0, 0},
10006 {0x58, 0x4, 0x4, 0, 0},
10007 {0x59, 0x96, 0x96, 0, 0},
10008 {0x5A, 0x3e, 0x3e, 0, 0},
10009 {0x5B, 0x3e, 0x3e, 0, 0},
10010 {0x5C, 0x13, 0x13, 0, 0},
10011 {0x5D, 0x2, 0x2, 0, 0},
10012 {0x5E, 0, 0, 0, 0},
10013 {0x5F, 0x7, 0x7, 0, 0},
10014 {0x60, 0x7, 0x7, 1, 1},
10015 {0x61, 0x8, 0x8, 0, 0},
10016 {0x62, 0x3, 0x3, 0, 0},
10017 {0x63, 0, 0, 0, 0},
10018 {0x64, 0, 0, 0, 0},
10019 {0x65, 0, 0, 0, 0},
10020 {0x66, 0, 0, 0, 0},
10021 {0x67, 0, 0, 0, 0},
10022 {0x68, 0x40, 0x40, 0, 0},
10023 {0x69, 0, 0, 0, 0},
10024 {0x6A, 0, 0, 0, 0},
10025 {0x6B, 0, 0, 0, 0},
10026 {0x6C, 0, 0, 0, 0},
10027 {0x6D, 0x1, 0x1, 0, 0},
10028 {0x6E, 0, 0, 0, 0},
10029 {0x6F, 0, 0, 0, 0},
10030 {0x70, 0x60, 0x60, 0, 0},
10031 {0x71, 0x66, 0x66, 0, 0},
10032 {0x72, 0xc, 0xc, 0, 0},
10033 {0x73, 0x66, 0x66, 0, 0},
10034 {0x74, 0x8f, 0x8f, 1, 1},
10035 {0x75, 0, 0, 0, 0},
10036 {0x76, 0xcc, 0xcc, 0, 0},
10037 {0x77, 0x1, 0x1, 0, 0},
10038 {0x78, 0x66, 0x66, 0, 0},
10039 {0x79, 0x66, 0x66, 0, 0},
10040 {0x7A, 0, 0, 0, 0},
10041 {0x7B, 0, 0, 0, 0},
10042 {0x7C, 0, 0, 0, 0},
10043 {0x7D, 0, 0, 0, 0},
10044 {0x7E, 0, 0, 0, 0},
10045 {0x7F, 0, 0, 0, 0},
10046 {0x80, 0, 0, 0, 0},
10047 {0x81, 0, 0, 0, 0},
10048 {0x82, 0, 0, 0, 0},
10049 {0x83, 0, 0, 0, 0},
10050 {0x84, 0, 0, 0, 0},
10051 {0x85, 0xff, 0xff, 0, 0},
10052 {0x86, 0, 0, 0, 0},
10053 {0x87, 0, 0, 0, 0},
10054 {0x88, 0, 0, 0, 0},
10055 {0x89, 0, 0, 0, 0},
10056 {0x8A, 0, 0, 0, 0},
10057 {0x8B, 0, 0, 0, 0},
10058 {0x8C, 0, 0, 0, 0},
10059 {0x8D, 0, 0, 0, 0},
10060 {0x8E, 0, 0, 0, 0},
10061 {0x8F, 0, 0, 0, 0},
10062 {0x90, 0, 0, 0, 0},
10063 {0x91, 0, 0, 0, 0},
10064 {0x92, 0, 0, 0, 0},
10065 {0x93, 0, 0, 0, 0},
10066 {0x94, 0, 0, 0, 0},
10067 {0x95, 0, 0, 0, 0},
10068 {0x96, 0, 0, 0, 0},
10069 {0x97, 0, 0, 0, 0},
10070 {0x98, 0, 0, 0, 0},
10071 {0x99, 0, 0, 0, 0},
10072 {0x9A, 0, 0, 0, 0},
10073 {0x9B, 0, 0, 0, 0},
10074 {0x9C, 0, 0, 0, 0},
10075 {0x9D, 0, 0, 0, 0},
10076 {0x9E, 0, 0, 0, 0},
10077 {0x9F, 0x6, 0x6, 0, 0},
10078 {0xA0, 0x66, 0x66, 0, 0},
10079 {0xA1, 0x66, 0x66, 0, 0},
10080 {0xA2, 0x66, 0x66, 0, 0},
10081 {0xA3, 0x66, 0x66, 0, 0},
10082 {0xA4, 0x66, 0x66, 0, 0},
10083 {0xA5, 0x66, 0x66, 0, 0},
10084 {0xA6, 0x66, 0x66, 0, 0},
10085 {0xA7, 0x66, 0x66, 0, 0},
10086 {0xA8, 0x66, 0x66, 0, 0},
10087 {0xA9, 0x66, 0x66, 0, 0},
10088 {0xAA, 0x66, 0x66, 0, 0},
10089 {0xAB, 0x66, 0x66, 0, 0},
10090 {0xAC, 0x66, 0x66, 0, 0},
10091 {0xAD, 0x66, 0x66, 0, 0},
10092 {0xAE, 0x66, 0x66, 0, 0},
10093 {0xAF, 0x66, 0x66, 0, 0},
10094 {0xB0, 0x66, 0x66, 0, 0},
10095 {0xB1, 0x66, 0x66, 0, 0},
10096 {0xB2, 0x66, 0x66, 0, 0},
10097 {0xB3, 0xa, 0xa, 0, 0},
10098 {0xB4, 0, 0, 0, 0},
10099 {0xB5, 0, 0, 0, 0},
10100 {0xB6, 0, 0, 0, 0},
10101 {0xFFFF, 0, 0, 0, 0},
10104 radio_regs_t regs_TX_2056_rev7
[] = {
10105 {0x02, 0, 0, 0, 0},
10106 {0x03, 0, 0, 0, 0},
10107 {0x04, 0, 0, 0, 0},
10108 {0x05, 0, 0, 0, 0},
10109 {0x06, 0, 0, 0, 0},
10110 {0x07, 0, 0, 0, 0},
10111 {0x08, 0, 0, 0, 0},
10112 {0x09, 0, 0, 0, 0},
10113 {0x0A, 0, 0, 0, 0},
10114 {0x0B, 0, 0, 0, 0},
10115 {0x0C, 0, 0, 0, 0},
10116 {0x0D, 0, 0, 0, 0},
10117 {0x0E, 0, 0, 0, 0},
10118 {0x0F, 0, 0, 0, 0},
10119 {0x10, 0, 0, 0, 0},
10120 {0x11, 0, 0, 0, 0},
10121 {0x12, 0, 0, 0, 0},
10122 {0x13, 0, 0, 0, 0},
10123 {0x14, 0, 0, 0, 0},
10124 {0x15, 0, 0, 0, 0},
10125 {0x16, 0, 0, 0, 0},
10126 {0x17, 0, 0, 0, 0},
10127 {0x18, 0, 0, 0, 0},
10128 {0x19, 0, 0, 0, 0},
10129 {0x1A, 0, 0, 0, 0},
10130 {0x1B, 0, 0, 0, 0},
10131 {0x1C, 0, 0, 0, 0},
10132 {0x1D, 0, 0, 0, 0},
10133 {0x1E, 0, 0, 0, 0},
10134 {0x1F, 0, 0, 0, 0},
10135 {0x20, 0, 0, 0, 0},
10136 {0x21, 0x88, 0x88, 0, 0},
10137 {0x22, 0x88, 0x88, 0, 0},
10138 {0x23, 0x88, 0x88, 0, 0},
10139 {0x24, 0x88, 0x88, 0, 0},
10140 {0x25, 0xc, 0xc, 0, 0},
10141 {0x26, 0, 0, 0, 0},
10142 {0x27, 0x3, 0x3, 0, 0},
10143 {0x28, 0, 0, 0, 0},
10144 {0x29, 0x3, 0x3, 0, 0},
10145 {0x2A, 0x37, 0x37, 0, 0},
10146 {0x2B, 0x3, 0x3, 0, 0},
10147 {0x2C, 0, 0, 0, 0},
10148 {0x2D, 0, 0, 0, 0},
10149 {0x2E, 0x1, 0x1, 0, 0},
10150 {0x2F, 0x1, 0x1, 0, 0},
10151 {0x30, 0, 0, 0, 0},
10152 {0x31, 0, 0, 0, 0},
10153 {0x32, 0, 0, 0, 0},
10154 {0x33, 0x11, 0x11, 0, 0},
10155 {0x34, 0xee, 0xee, 1, 1},
10156 {0x35, 0, 0, 0, 0},
10157 {0x36, 0, 0, 0, 0},
10158 {0x37, 0x3, 0x3, 0, 0},
10159 {0x38, 0x50, 0x50, 1, 1},
10160 {0x39, 0, 0, 0, 0},
10161 {0x3A, 0x50, 0x50, 1, 1},
10162 {0x3B, 0, 0, 0, 0},
10163 {0x3C, 0x6e, 0x6e, 0, 0},
10164 {0x3D, 0xf0, 0xf0, 1, 1},
10165 {0x3E, 0, 0, 0, 0},
10166 {0x3F, 0, 0, 0, 0},
10167 {0x40, 0, 0, 0, 0},
10168 {0x41, 0x3, 0x3, 0, 0},
10169 {0x42, 0x3, 0x3, 0, 0},
10170 {0x43, 0, 0, 0, 0},
10171 {0x44, 0x1e, 0x1e, 0, 0},
10172 {0x45, 0, 0, 0, 0},
10173 {0x46, 0x6e, 0x6e, 0, 0},
10174 {0x47, 0xf0, 0xf0, 1, 1},
10175 {0x48, 0, 0, 0, 0},
10176 {0x49, 0x2, 0x2, 0, 0},
10177 {0x4A, 0xff, 0xff, 1, 1},
10178 {0x4B, 0xc, 0xc, 0, 0},
10179 {0x4C, 0, 0, 0, 0},
10180 {0x4D, 0x38, 0x38, 0, 0},
10181 {0x4E, 0x70, 0x70, 1, 1},
10182 {0x4F, 0x2, 0x2, 0, 0},
10183 {0x50, 0x88, 0x88, 0, 0},
10184 {0x51, 0xc, 0xc, 0, 0},
10185 {0x52, 0, 0, 0, 0},
10186 {0x53, 0x8, 0x8, 0, 0},
10187 {0x54, 0x70, 0x70, 1, 1},
10188 {0x55, 0x2, 0x2, 0, 0},
10189 {0x56, 0xff, 0xff, 1, 1},
10190 {0x57, 0, 0, 0, 0},
10191 {0x58, 0x83, 0x83, 0, 0},
10192 {0x59, 0x77, 0x77, 1, 1},
10193 {0x5A, 0, 0, 0, 0},
10194 {0x5B, 0x2, 0x2, 0, 0},
10195 {0x5C, 0x88, 0x88, 0, 0},
10196 {0x5D, 0, 0, 0, 0},
10197 {0x5E, 0x8, 0x8, 0, 0},
10198 {0x5F, 0x77, 0x77, 1, 1},
10199 {0x60, 0x1, 0x1, 0, 0},
10200 {0x61, 0, 0, 0, 0},
10201 {0x62, 0x7, 0x7, 0, 0},
10202 {0x63, 0, 0, 0, 0},
10203 {0x64, 0x7, 0x7, 0, 0},
10204 {0x65, 0, 0, 0, 0},
10205 {0x66, 0, 0, 0, 0},
10206 {0x67, 0, 0, 1, 1},
10207 {0x68, 0, 0, 0, 0},
10208 {0x69, 0xa, 0xa, 0, 0},
10209 {0x6A, 0, 0, 0, 0},
10210 {0x6B, 0, 0, 0, 0},
10211 {0x6C, 0, 0, 0, 0},
10212 {0x6D, 0, 0, 0, 0},
10213 {0x6E, 0, 0, 0, 0},
10214 {0x6F, 0, 0, 0, 0},
10215 {0x70, 0, 0, 0, 0},
10216 {0x71, 0x2, 0x2, 0, 0},
10217 {0x72, 0, 0, 0, 0},
10218 {0x73, 0, 0, 0, 0},
10219 {0x74, 0xe, 0xe, 0, 0},
10220 {0x75, 0xe, 0xe, 0, 0},
10221 {0x76, 0xe, 0xe, 0, 0},
10222 {0x77, 0x13, 0x13, 0, 0},
10223 {0x78, 0x13, 0x13, 0, 0},
10224 {0x79, 0x1b, 0x1b, 0, 0},
10225 {0x7A, 0x1b, 0x1b, 0, 0},
10226 {0x7B, 0x55, 0x55, 0, 0},
10227 {0x7C, 0x5b, 0x5b, 0, 0},
10228 {0x7D, 0x30, 0x30, 1, 1},
10229 {0x7E, 0, 0, 0, 0},
10230 {0x7F, 0, 0, 0, 0},
10231 {0x80, 0, 0, 0, 0},
10232 {0x81, 0, 0, 0, 0},
10233 {0x82, 0, 0, 0, 0},
10234 {0x83, 0, 0, 0, 0},
10235 {0x84, 0, 0, 0, 0},
10236 {0x85, 0, 0, 0, 0},
10237 {0x86, 0, 0, 0, 0},
10238 {0x87, 0, 0, 0, 0},
10239 {0x88, 0, 0, 0, 0},
10240 {0x89, 0, 0, 0, 0},
10241 {0x8A, 0, 0, 0, 0},
10242 {0x8B, 0, 0, 0, 0},
10243 {0x8C, 0, 0, 0, 0},
10244 {0x8D, 0, 0, 0, 0},
10245 {0x8E, 0, 0, 0, 0},
10246 {0x8F, 0, 0, 0, 0},
10247 {0x90, 0, 0, 0, 0},
10248 {0x91, 0, 0, 0, 0},
10249 {0x92, 0, 0, 0, 0},
10250 {0x93, 0x70, 0x70, 0, 0},
10251 {0x94, 0x70, 0x70, 0, 0},
10252 {0x95, 0x71, 0x71, 1, 1},
10253 {0x96, 0x71, 0x71, 1, 1},
10254 {0x97, 0x72, 0x72, 1, 1},
10255 {0x98, 0x73, 0x73, 1, 1},
10256 {0x99, 0x74, 0x74, 1, 1},
10257 {0x9A, 0x75, 0x75, 1, 1},
10258 {0xFFFF, 0, 0, 0, 0},
10261 radio_regs_t regs_RX_2056_rev7
[] = {
10262 {0x02, 0, 0, 0, 0},
10263 {0x03, 0, 0, 0, 0},
10264 {0x04, 0, 0, 0, 0},
10265 {0x05, 0, 0, 0, 0},
10266 {0x06, 0, 0, 0, 0},
10267 {0x07, 0, 0, 0, 0},
10268 {0x08, 0, 0, 0, 0},
10269 {0x09, 0, 0, 0, 0},
10270 {0x0A, 0, 0, 0, 0},
10271 {0x0B, 0, 0, 0, 0},
10272 {0x0C, 0, 0, 0, 0},
10273 {0x0D, 0, 0, 0, 0},
10274 {0x0E, 0, 0, 0, 0},
10275 {0x0F, 0, 0, 0, 0},
10276 {0x10, 0, 0, 0, 0},
10277 {0x11, 0, 0, 0, 0},
10278 {0x12, 0, 0, 0, 0},
10279 {0x13, 0, 0, 0, 0},
10280 {0x14, 0, 0, 0, 0},
10281 {0x15, 0, 0, 0, 0},
10282 {0x16, 0, 0, 0, 0},
10283 {0x17, 0, 0, 0, 0},
10284 {0x18, 0, 0, 0, 0},
10285 {0x19, 0, 0, 0, 0},
10286 {0x1A, 0, 0, 0, 0},
10287 {0x1B, 0, 0, 0, 0},
10288 {0x1C, 0, 0, 0, 0},
10289 {0x1D, 0, 0, 0, 0},
10290 {0x1E, 0, 0, 0, 0},
10291 {0x1F, 0, 0, 0, 0},
10292 {0x20, 0x3, 0x3, 0, 0},
10293 {0x21, 0, 0, 0, 0},
10294 {0x22, 0, 0, 0, 0},
10295 {0x23, 0x90, 0x90, 0, 0},
10296 {0x24, 0x55, 0x55, 0, 0},
10297 {0x25, 0x15, 0x15, 0, 0},
10298 {0x26, 0x5, 0x5, 0, 0},
10299 {0x27, 0x15, 0x15, 0, 0},
10300 {0x28, 0x5, 0x5, 0, 0},
10301 {0x29, 0x20, 0x20, 0, 0},
10302 {0x2A, 0x11, 0x11, 0, 0},
10303 {0x2B, 0x90, 0x90, 0, 0},
10304 {0x2C, 0, 0, 0, 0},
10305 {0x2D, 0x88, 0x88, 0, 0},
10306 {0x2E, 0x32, 0x32, 0, 0},
10307 {0x2F, 0x77, 0x77, 0, 0},
10308 {0x30, 0x17, 0x17, 1, 1},
10309 {0x31, 0xff, 0xff, 1, 1},
10310 {0x32, 0x20, 0x20, 0, 0},
10311 {0x33, 0, 0, 0, 0},
10312 {0x34, 0x88, 0x88, 0, 0},
10313 {0x35, 0x32, 0x32, 0, 0},
10314 {0x36, 0x77, 0x77, 0, 0},
10315 {0x37, 0x17, 0x17, 1, 1},
10316 {0x38, 0xf0, 0xf0, 1, 1},
10317 {0x39, 0x20, 0x20, 0, 0},
10318 {0x3A, 0x8, 0x8, 0, 0},
10319 {0x3B, 0x55, 0x55, 1, 1},
10320 {0x3C, 0, 0, 0, 0},
10321 {0x3D, 0x88, 0x88, 1, 1},
10322 {0x3E, 0, 0, 0, 0},
10323 {0x3F, 0, 0, 1, 1},
10324 {0x40, 0x7, 0x7, 1, 1},
10325 {0x41, 0x6, 0x6, 0, 0},
10326 {0x42, 0x4, 0x4, 0, 0},
10327 {0x43, 0, 0, 0, 0},
10328 {0x44, 0x8, 0x8, 0, 0},
10329 {0x45, 0x55, 0x55, 1, 1},
10330 {0x46, 0, 0, 0, 0},
10331 {0x47, 0x11, 0x11, 0, 0},
10332 {0x48, 0, 0, 0, 0},
10333 {0x49, 0, 0, 1, 1},
10334 {0x4A, 0x7, 0x7, 0, 0},
10335 {0x4B, 0x6, 0x6, 0, 0},
10336 {0x4C, 0x4, 0x4, 0, 0},
10337 {0x4D, 0, 0, 0, 0},
10338 {0x4E, 0, 0, 0, 0},
10339 {0x4F, 0x26, 0x26, 1, 1},
10340 {0x50, 0x26, 0x26, 1, 1},
10341 {0x51, 0xf, 0xf, 1, 1},
10342 {0x52, 0xf, 0xf, 1, 1},
10343 {0x53, 0x44, 0x44, 0, 0},
10344 {0x54, 0, 0, 0, 0},
10345 {0x55, 0, 0, 0, 0},
10346 {0x56, 0x8, 0x8, 0, 0},
10347 {0x57, 0x8, 0x8, 0, 0},
10348 {0x58, 0x7, 0x7, 0, 0},
10349 {0x59, 0x22, 0x22, 0, 0},
10350 {0x5A, 0x22, 0x22, 0, 0},
10351 {0x5B, 0x2, 0x2, 0, 0},
10352 {0x5C, 0x4, 0x4, 1, 1},
10353 {0x5D, 0x7, 0x7, 0, 0},
10354 {0x5E, 0x55, 0x55, 0, 0},
10355 {0x5F, 0x23, 0x23, 0, 0},
10356 {0x60, 0x41, 0x41, 0, 0},
10357 {0x61, 0x1, 0x1, 0, 0},
10358 {0x62, 0xa, 0xa, 0, 0},
10359 {0x63, 0, 0, 0, 0},
10360 {0x64, 0, 0, 0, 0},
10361 {0x65, 0, 0, 0, 0},
10362 {0x66, 0, 0, 0, 0},
10363 {0x67, 0, 0, 0, 0},
10364 {0x68, 0, 0, 0, 0},
10365 {0x69, 0, 0, 0, 0},
10366 {0x6A, 0, 0, 0, 0},
10367 {0x6B, 0xc, 0xc, 0, 0},
10368 {0x6C, 0, 0, 0, 0},
10369 {0x6D, 0, 0, 0, 0},
10370 {0x6E, 0, 0, 0, 0},
10371 {0x6F, 0, 0, 0, 0},
10372 {0x70, 0, 0, 0, 0},
10373 {0x71, 0, 0, 0, 0},
10374 {0x72, 0x22, 0x22, 0, 0},
10375 {0x73, 0x22, 0x22, 0, 0},
10376 {0x74, 0, 0, 1, 1},
10377 {0x75, 0xa, 0xa, 0, 0},
10378 {0x76, 0x1, 0x1, 0, 0},
10379 {0x77, 0x22, 0x22, 0, 0},
10380 {0x78, 0x30, 0x30, 0, 0},
10381 {0x79, 0, 0, 0, 0},
10382 {0x7A, 0, 0, 0, 0},
10383 {0x7B, 0, 0, 0, 0},
10384 {0x7C, 0, 0, 0, 0},
10385 {0x7D, 0, 0, 0, 0},
10386 {0x7E, 0, 0, 0, 0},
10387 {0x7F, 0, 0, 0, 0},
10388 {0x80, 0, 0, 0, 0},
10389 {0x81, 0, 0, 0, 0},
10390 {0x82, 0, 0, 0, 0},
10391 {0x83, 0, 0, 0, 0},
10392 {0x84, 0, 0, 0, 0},
10393 {0x85, 0, 0, 0, 0},
10394 {0x86, 0, 0, 0, 0},
10395 {0x87, 0, 0, 0, 0},
10396 {0x88, 0, 0, 0, 0},
10397 {0x89, 0, 0, 0, 0},
10398 {0x8A, 0, 0, 0, 0},
10399 {0x8B, 0, 0, 0, 0},
10400 {0x8C, 0, 0, 0, 0},
10401 {0x8D, 0, 0, 0, 0},
10402 {0x8E, 0, 0, 0, 0},
10403 {0x8F, 0, 0, 0, 0},
10404 {0x90, 0, 0, 0, 0},
10405 {0x91, 0, 0, 0, 0},
10406 {0x92, 0, 0, 0, 0},
10407 {0x93, 0, 0, 0, 0},
10408 {0x94, 0, 0, 0, 0},
10409 {0xFFFF, 0, 0, 0, 0},
10412 radio_regs_t regs_SYN_2056_rev8
[] = {
10413 {0x02, 0, 0, 0, 0},
10414 {0x03, 0, 0, 0, 0},
10415 {0x04, 0, 0, 0, 0},
10416 {0x05, 0, 0, 0, 0},
10417 {0x06, 0, 0, 0, 0},
10418 {0x07, 0, 0, 0, 0},
10419 {0x08, 0, 0, 0, 0},
10420 {0x09, 0x1, 0x1, 0, 0},
10421 {0x0A, 0, 0, 0, 0},
10422 {0x0B, 0, 0, 0, 0},
10423 {0x0C, 0, 0, 0, 0},
10424 {0x0D, 0, 0, 0, 0},
10425 {0x0E, 0, 0, 0, 0},
10426 {0x0F, 0, 0, 0, 0},
10427 {0x10, 0, 0, 0, 0},
10428 {0x11, 0, 0, 0, 0},
10429 {0x12, 0, 0, 0, 0},
10430 {0x13, 0, 0, 0, 0},
10431 {0x14, 0, 0, 0, 0},
10432 {0x15, 0, 0, 0, 0},
10433 {0x16, 0, 0, 0, 0},
10434 {0x17, 0, 0, 0, 0},
10435 {0x18, 0, 0, 0, 0},
10436 {0x19, 0, 0, 0, 0},
10437 {0x1A, 0, 0, 0, 0},
10438 {0x1B, 0, 0, 0, 0},
10439 {0x1C, 0, 0, 0, 0},
10440 {0x1D, 0, 0, 0, 0},
10441 {0x1E, 0, 0, 0, 0},
10442 {0x1F, 0, 0, 0, 0},
10443 {0x20, 0, 0, 0, 0},
10444 {0x21, 0, 0, 0, 0},
10445 {0x22, 0x60, 0x60, 0, 0},
10446 {0x23, 0x6, 0x6, 0, 0},
10447 {0x24, 0xc, 0xc, 0, 0},
10448 {0x25, 0, 0, 0, 0},
10449 {0x26, 0, 0, 0, 0},
10450 {0x27, 0, 0, 0, 0},
10451 {0x28, 0x1, 0x1, 0, 0},
10452 {0x29, 0, 0, 0, 0},
10453 {0x2A, 0, 0, 0, 0},
10454 {0x2B, 0, 0, 0, 0},
10455 {0x2C, 0, 0, 0, 0},
10456 {0x2D, 0, 0, 0, 0},
10457 {0x2E, 0, 0, 0, 0},
10458 {0x2F, 0x1f, 0x1f, 0, 0},
10459 {0x30, 0x15, 0x15, 0, 0},
10460 {0x31, 0xf, 0xf, 0, 0},
10461 {0x32, 0, 0, 0, 0},
10462 {0x33, 0, 0, 0, 0},
10463 {0x34, 0, 0, 0, 0},
10464 {0x35, 0, 0, 0, 0},
10465 {0x36, 0, 0, 0, 0},
10466 {0x37, 0, 0, 0, 0},
10467 {0x38, 0, 0, 0, 0},
10468 {0x39, 0, 0, 0, 0},
10469 {0x3A, 0, 0, 0, 0},
10470 {0x3B, 0, 0, 0, 0},
10471 {0x3C, 0x13, 0x13, 0, 0},
10472 {0x3D, 0xf, 0xf, 0, 0},
10473 {0x3E, 0x18, 0x18, 0, 0},
10474 {0x3F, 0, 0, 0, 0},
10475 {0x40, 0, 0, 0, 0},
10476 {0x41, 0x20, 0x20, 0, 0},
10477 {0x42, 0x20, 0x20, 0, 0},
10478 {0x43, 0, 0, 0, 0},
10479 {0x44, 0x77, 0x77, 0, 0},
10480 {0x45, 0x7, 0x7, 0, 0},
10481 {0x46, 0x1, 0x1, 0, 0},
10482 {0x47, 0x4, 0x4, 0, 0},
10483 {0x48, 0xf, 0xf, 0, 0},
10484 {0x49, 0x30, 0x30, 0, 0},
10485 {0x4A, 0x32, 0x32, 0, 0},
10486 {0x4B, 0xd, 0xd, 0, 0},
10487 {0x4C, 0xd, 0xd, 0, 0},
10488 {0x4D, 0x4, 0x4, 0, 0},
10489 {0x4E, 0x6, 0x6, 0, 0},
10490 {0x4F, 0x1, 0x1, 0, 0},
10491 {0x50, 0x1c, 0x1c, 0, 0},
10492 {0x51, 0x2, 0x2, 0, 0},
10493 {0x52, 0x2, 0x2, 0, 0},
10494 {0x53, 0xf7, 0xf7, 1, 1},
10495 {0x54, 0xb4, 0xb4, 0, 0},
10496 {0x55, 0xd2, 0xd2, 0, 0},
10497 {0x56, 0, 0, 0, 0},
10498 {0x57, 0, 0, 0, 0},
10499 {0x58, 0x4, 0x4, 0, 0},
10500 {0x59, 0x96, 0x96, 0, 0},
10501 {0x5A, 0x3e, 0x3e, 0, 0},
10502 {0x5B, 0x3e, 0x3e, 0, 0},
10503 {0x5C, 0x13, 0x13, 0, 0},
10504 {0x5D, 0x2, 0x2, 0, 0},
10505 {0x5E, 0, 0, 0, 0},
10506 {0x5F, 0x7, 0x7, 0, 0},
10507 {0x60, 0x7, 0x7, 1, 1},
10508 {0x61, 0x8, 0x8, 0, 0},
10509 {0x62, 0x3, 0x3, 0, 0},
10510 {0x63, 0, 0, 0, 0},
10511 {0x64, 0, 0, 0, 0},
10512 {0x65, 0, 0, 0, 0},
10513 {0x66, 0, 0, 0, 0},
10514 {0x67, 0, 0, 0, 0},
10515 {0x68, 0x40, 0x40, 0, 0},
10516 {0x69, 0, 0, 0, 0},
10517 {0x6A, 0, 0, 0, 0},
10518 {0x6B, 0, 0, 0, 0},
10519 {0x6C, 0, 0, 0, 0},
10520 {0x6D, 0x1, 0x1, 0, 0},
10521 {0x6E, 0, 0, 0, 0},
10522 {0x6F, 0, 0, 0, 0},
10523 {0x70, 0x60, 0x60, 0, 0},
10524 {0x71, 0x66, 0x66, 0, 0},
10525 {0x72, 0xc, 0xc, 0, 0},
10526 {0x73, 0x66, 0x66, 0, 0},
10527 {0x74, 0x8f, 0x8f, 1, 1},
10528 {0x75, 0, 0, 0, 0},
10529 {0x76, 0xcc, 0xcc, 0, 0},
10530 {0x77, 0x1, 0x1, 0, 0},
10531 {0x78, 0x66, 0x66, 0, 0},
10532 {0x79, 0x66, 0x66, 0, 0},
10533 {0x7A, 0, 0, 0, 0},
10534 {0x7B, 0, 0, 0, 0},
10535 {0x7C, 0, 0, 0, 0},
10536 {0x7D, 0, 0, 0, 0},
10537 {0x7E, 0, 0, 0, 0},
10538 {0x7F, 0, 0, 0, 0},
10539 {0x80, 0, 0, 0, 0},
10540 {0x81, 0, 0, 0, 0},
10541 {0x82, 0, 0, 0, 0},
10542 {0x83, 0, 0, 0, 0},
10543 {0x84, 0, 0, 0, 0},
10544 {0x85, 0xff, 0xff, 0, 0},
10545 {0x86, 0, 0, 0, 0},
10546 {0x87, 0, 0, 0, 0},
10547 {0x88, 0, 0, 0, 0},
10548 {0x89, 0, 0, 0, 0},
10549 {0x8A, 0, 0, 0, 0},
10550 {0x8B, 0, 0, 0, 0},
10551 {0x8C, 0, 0, 0, 0},
10552 {0x8D, 0, 0, 0, 0},
10553 {0x8E, 0, 0, 0, 0},
10554 {0x8F, 0, 0, 0, 0},
10555 {0x90, 0, 0, 0, 0},
10556 {0x91, 0, 0, 0, 0},
10557 {0x92, 0, 0, 0, 0},
10558 {0x93, 0, 0, 0, 0},
10559 {0x94, 0, 0, 0, 0},
10560 {0x95, 0, 0, 0, 0},
10561 {0x96, 0, 0, 0, 0},
10562 {0x97, 0, 0, 0, 0},
10563 {0x98, 0, 0, 0, 0},
10564 {0x99, 0, 0, 0, 0},
10565 {0x9A, 0, 0, 0, 0},
10566 {0x9B, 0, 0, 0, 0},
10567 {0x9C, 0, 0, 0, 0},
10568 {0x9D, 0, 0, 0, 0},
10569 {0x9E, 0, 0, 0, 0},
10570 {0x9F, 0x6, 0x6, 0, 0},
10571 {0xA0, 0x66, 0x66, 0, 0},
10572 {0xA1, 0x66, 0x66, 0, 0},
10573 {0xA2, 0x66, 0x66, 0, 0},
10574 {0xA3, 0x66, 0x66, 0, 0},
10575 {0xA4, 0x66, 0x66, 0, 0},
10576 {0xA5, 0x66, 0x66, 0, 0},
10577 {0xA6, 0x66, 0x66, 0, 0},
10578 {0xA7, 0x66, 0x66, 0, 0},
10579 {0xA8, 0x66, 0x66, 0, 0},
10580 {0xA9, 0x66, 0x66, 0, 0},
10581 {0xAA, 0x66, 0x66, 0, 0},
10582 {0xAB, 0x66, 0x66, 0, 0},
10583 {0xAC, 0x66, 0x66, 0, 0},
10584 {0xAD, 0x66, 0x66, 0, 0},
10585 {0xAE, 0x66, 0x66, 0, 0},
10586 {0xAF, 0x66, 0x66, 0, 0},
10587 {0xB0, 0x66, 0x66, 0, 0},
10588 {0xB1, 0x66, 0x66, 0, 0},
10589 {0xB2, 0x66, 0x66, 0, 0},
10590 {0xB3, 0xa, 0xa, 0, 0},
10591 {0xB4, 0, 0, 0, 0},
10592 {0xB5, 0, 0, 0, 0},
10593 {0xB6, 0, 0, 0, 0},
10594 {0xFFFF, 0, 0, 0, 0},
10597 radio_regs_t regs_TX_2056_rev8
[] = {
10598 {0x02, 0, 0, 0, 0},
10599 {0x03, 0, 0, 0, 0},
10600 {0x04, 0, 0, 0, 0},
10601 {0x05, 0, 0, 0, 0},
10602 {0x06, 0, 0, 0, 0},
10603 {0x07, 0, 0, 0, 0},
10604 {0x08, 0, 0, 0, 0},
10605 {0x09, 0, 0, 0, 0},
10606 {0x0A, 0, 0, 0, 0},
10607 {0x0B, 0, 0, 0, 0},
10608 {0x0C, 0, 0, 0, 0},
10609 {0x0D, 0, 0, 0, 0},
10610 {0x0E, 0, 0, 0, 0},
10611 {0x0F, 0, 0, 0, 0},
10612 {0x10, 0, 0, 0, 0},
10613 {0x11, 0, 0, 0, 0},
10614 {0x12, 0, 0, 0, 0},
10615 {0x13, 0, 0, 0, 0},
10616 {0x14, 0, 0, 0, 0},
10617 {0x15, 0, 0, 0, 0},
10618 {0x16, 0, 0, 0, 0},
10619 {0x17, 0, 0, 0, 0},
10620 {0x18, 0, 0, 0, 0},
10621 {0x19, 0, 0, 0, 0},
10622 {0x1A, 0, 0, 0, 0},
10623 {0x1B, 0, 0, 0, 0},
10624 {0x1C, 0, 0, 0, 0},
10625 {0x1D, 0, 0, 0, 0},
10626 {0x1E, 0, 0, 0, 0},
10627 {0x1F, 0, 0, 0, 0},
10628 {0x20, 0, 0, 0, 0},
10629 {0x21, 0x88, 0x88, 0, 0},
10630 {0x22, 0x88, 0x88, 0, 0},
10631 {0x23, 0x88, 0x88, 0, 0},
10632 {0x24, 0x88, 0x88, 0, 0},
10633 {0x25, 0xc, 0xc, 0, 0},
10634 {0x26, 0, 0, 0, 0},
10635 {0x27, 0x3, 0x3, 0, 0},
10636 {0x28, 0, 0, 0, 0},
10637 {0x29, 0x3, 0x3, 0, 0},
10638 {0x2A, 0x37, 0x37, 0, 0},
10639 {0x2B, 0x3, 0x3, 0, 0},
10640 {0x2C, 0, 0, 0, 0},
10641 {0x2D, 0, 0, 0, 0},
10642 {0x2E, 0x1, 0x1, 0, 0},
10643 {0x2F, 0x1, 0x1, 0, 0},
10644 {0x30, 0, 0, 0, 0},
10645 {0x31, 0, 0, 0, 0},
10646 {0x32, 0, 0, 0, 0},
10647 {0x33, 0x11, 0x11, 0, 0},
10648 {0x34, 0xee, 0xee, 1, 1},
10649 {0x35, 0, 0, 0, 0},
10650 {0x36, 0, 0, 0, 0},
10651 {0x37, 0x3, 0x3, 0, 0},
10652 {0x38, 0x50, 0x50, 1, 1},
10653 {0x39, 0, 0, 0, 0},
10654 {0x3A, 0x50, 0x50, 1, 1},
10655 {0x3B, 0, 0, 0, 0},
10656 {0x3C, 0x6e, 0x6e, 0, 0},
10657 {0x3D, 0xf0, 0xf0, 1, 1},
10658 {0x3E, 0, 0, 0, 0},
10659 {0x3F, 0, 0, 0, 0},
10660 {0x40, 0, 0, 0, 0},
10661 {0x41, 0x3, 0x3, 0, 0},
10662 {0x42, 0x3, 0x3, 0, 0},
10663 {0x43, 0, 0, 0, 0},
10664 {0x44, 0x1e, 0x1e, 0, 0},
10665 {0x45, 0, 0, 0, 0},
10666 {0x46, 0x6e, 0x6e, 0, 0},
10667 {0x47, 0xf0, 0xf0, 1, 1},
10668 {0x48, 0, 0, 0, 0},
10669 {0x49, 0x2, 0x2, 0, 0},
10670 {0x4A, 0xff, 0xff, 1, 1},
10671 {0x4B, 0xc, 0xc, 0, 0},
10672 {0x4C, 0, 0, 0, 0},
10673 {0x4D, 0x38, 0x38, 0, 0},
10674 {0x4E, 0x70, 0x70, 1, 1},
10675 {0x4F, 0x2, 0x2, 0, 0},
10676 {0x50, 0x88, 0x88, 0, 0},
10677 {0x51, 0xc, 0xc, 0, 0},
10678 {0x52, 0, 0, 0, 0},
10679 {0x53, 0x8, 0x8, 0, 0},
10680 {0x54, 0x70, 0x70, 1, 1},
10681 {0x55, 0x2, 0x2, 0, 0},
10682 {0x56, 0xff, 0xff, 1, 1},
10683 {0x57, 0, 0, 0, 0},
10684 {0x58, 0x83, 0x83, 0, 0},
10685 {0x59, 0x77, 0x77, 1, 1},
10686 {0x5A, 0, 0, 0, 0},
10687 {0x5B, 0x2, 0x2, 0, 0},
10688 {0x5C, 0x88, 0x88, 0, 0},
10689 {0x5D, 0, 0, 0, 0},
10690 {0x5E, 0x8, 0x8, 0, 0},
10691 {0x5F, 0x77, 0x77, 1, 1},
10692 {0x60, 0x1, 0x1, 0, 0},
10693 {0x61, 0, 0, 0, 0},
10694 {0x62, 0x7, 0x7, 0, 0},
10695 {0x63, 0, 0, 0, 0},
10696 {0x64, 0x7, 0x7, 0, 0},
10697 {0x65, 0, 0, 0, 0},
10698 {0x66, 0, 0, 0, 0},
10699 {0x67, 0, 0, 1, 1},
10700 {0x68, 0, 0, 0, 0},
10701 {0x69, 0xa, 0xa, 0, 0},
10702 {0x6A, 0, 0, 0, 0},
10703 {0x6B, 0, 0, 0, 0},
10704 {0x6C, 0, 0, 0, 0},
10705 {0x6D, 0, 0, 0, 0},
10706 {0x6E, 0, 0, 0, 0},
10707 {0x6F, 0, 0, 0, 0},
10708 {0x70, 0, 0, 0, 0},
10709 {0x71, 0x2, 0x2, 0, 0},
10710 {0x72, 0, 0, 0, 0},
10711 {0x73, 0, 0, 0, 0},
10712 {0x74, 0xe, 0xe, 0, 0},
10713 {0x75, 0xe, 0xe, 0, 0},
10714 {0x76, 0xe, 0xe, 0, 0},
10715 {0x77, 0x13, 0x13, 0, 0},
10716 {0x78, 0x13, 0x13, 0, 0},
10717 {0x79, 0x1b, 0x1b, 0, 0},
10718 {0x7A, 0x1b, 0x1b, 0, 0},
10719 {0x7B, 0x55, 0x55, 0, 0},
10720 {0x7C, 0x5b, 0x5b, 0, 0},
10721 {0x7D, 0x30, 0x30, 1, 1},
10722 {0x7E, 0, 0, 0, 0},
10723 {0x7F, 0, 0, 0, 0},
10724 {0x80, 0, 0, 0, 0},
10725 {0x81, 0, 0, 0, 0},
10726 {0x82, 0, 0, 0, 0},
10727 {0x83, 0, 0, 0, 0},
10728 {0x84, 0, 0, 0, 0},
10729 {0x85, 0, 0, 0, 0},
10730 {0x86, 0, 0, 0, 0},
10731 {0x87, 0, 0, 0, 0},
10732 {0x88, 0, 0, 0, 0},
10733 {0x89, 0, 0, 0, 0},
10734 {0x8A, 0, 0, 0, 0},
10735 {0x8B, 0, 0, 0, 0},
10736 {0x8C, 0, 0, 0, 0},
10737 {0x8D, 0, 0, 0, 0},
10738 {0x8E, 0, 0, 0, 0},
10739 {0x8F, 0, 0, 0, 0},
10740 {0x90, 0, 0, 0, 0},
10741 {0x91, 0, 0, 0, 0},
10742 {0x92, 0, 0, 0, 0},
10743 {0x93, 0x70, 0x70, 0, 0},
10744 {0x94, 0x70, 0x70, 0, 0},
10745 {0x95, 0x70, 0x70, 0, 0},
10746 {0x96, 0x70, 0x70, 0, 0},
10747 {0x97, 0x70, 0x70, 0, 0},
10748 {0x98, 0x70, 0x70, 0, 0},
10749 {0x99, 0x70, 0x70, 0, 0},
10750 {0x9A, 0x70, 0x70, 0, 0},
10751 {0xFFFF, 0, 0, 0, 0},
10754 radio_regs_t regs_RX_2056_rev8
[] = {
10755 {0x02, 0, 0, 0, 0},
10756 {0x03, 0, 0, 0, 0},
10757 {0x04, 0, 0, 0, 0},
10758 {0x05, 0, 0, 0, 0},
10759 {0x06, 0, 0, 0, 0},
10760 {0x07, 0, 0, 0, 0},
10761 {0x08, 0, 0, 0, 0},
10762 {0x09, 0, 0, 0, 0},
10763 {0x0A, 0, 0, 0, 0},
10764 {0x0B, 0, 0, 0, 0},
10765 {0x0C, 0, 0, 0, 0},
10766 {0x0D, 0, 0, 0, 0},
10767 {0x0E, 0, 0, 0, 0},
10768 {0x0F, 0, 0, 0, 0},
10769 {0x10, 0, 0, 0, 0},
10770 {0x11, 0, 0, 0, 0},
10771 {0x12, 0, 0, 0, 0},
10772 {0x13, 0, 0, 0, 0},
10773 {0x14, 0, 0, 0, 0},
10774 {0x15, 0, 0, 0, 0},
10775 {0x16, 0, 0, 0, 0},
10776 {0x17, 0, 0, 0, 0},
10777 {0x18, 0, 0, 0, 0},
10778 {0x19, 0, 0, 0, 0},
10779 {0x1A, 0, 0, 0, 0},
10780 {0x1B, 0, 0, 0, 0},
10781 {0x1C, 0, 0, 0, 0},
10782 {0x1D, 0, 0, 0, 0},
10783 {0x1E, 0, 0, 0, 0},
10784 {0x1F, 0, 0, 0, 0},
10785 {0x20, 0x3, 0x3, 0, 0},
10786 {0x21, 0, 0, 0, 0},
10787 {0x22, 0, 0, 0, 0},
10788 {0x23, 0x90, 0x90, 0, 0},
10789 {0x24, 0x55, 0x55, 0, 0},
10790 {0x25, 0x15, 0x15, 0, 0},
10791 {0x26, 0x5, 0x5, 0, 0},
10792 {0x27, 0x15, 0x15, 0, 0},
10793 {0x28, 0x5, 0x5, 0, 0},
10794 {0x29, 0x20, 0x20, 0, 0},
10795 {0x2A, 0x11, 0x11, 0, 0},
10796 {0x2B, 0x90, 0x90, 0, 0},
10797 {0x2C, 0, 0, 0, 0},
10798 {0x2D, 0x88, 0x88, 0, 0},
10799 {0x2E, 0x32, 0x32, 0, 0},
10800 {0x2F, 0x77, 0x77, 0, 0},
10801 {0x30, 0x17, 0x17, 1, 1},
10802 {0x31, 0xff, 0xff, 1, 1},
10803 {0x32, 0x20, 0x20, 0, 0},
10804 {0x33, 0, 0, 0, 0},
10805 {0x34, 0x88, 0x88, 0, 0},
10806 {0x35, 0x32, 0x32, 0, 0},
10807 {0x36, 0x77, 0x77, 0, 0},
10808 {0x37, 0x17, 0x17, 1, 1},
10809 {0x38, 0xf0, 0xf0, 1, 1},
10810 {0x39, 0x20, 0x20, 0, 0},
10811 {0x3A, 0x8, 0x8, 0, 0},
10812 {0x3B, 0x55, 0x55, 1, 1},
10813 {0x3C, 0, 0, 0, 0},
10814 {0x3D, 0x88, 0x88, 1, 1},
10815 {0x3E, 0, 0, 0, 0},
10816 {0x3F, 0x44, 0x44, 0, 0},
10817 {0x40, 0x7, 0x7, 1, 1},
10818 {0x41, 0x6, 0x6, 0, 0},
10819 {0x42, 0x4, 0x4, 0, 0},
10820 {0x43, 0, 0, 0, 0},
10821 {0x44, 0x8, 0x8, 0, 0},
10822 {0x45, 0x55, 0x55, 1, 1},
10823 {0x46, 0, 0, 0, 0},
10824 {0x47, 0x11, 0x11, 0, 0},
10825 {0x48, 0, 0, 0, 0},
10826 {0x49, 0x44, 0x44, 0, 0},
10827 {0x4A, 0x7, 0x7, 0, 0},
10828 {0x4B, 0x6, 0x6, 0, 0},
10829 {0x4C, 0x4, 0x4, 0, 0},
10830 {0x4D, 0, 0, 0, 0},
10831 {0x4E, 0, 0, 0, 0},
10832 {0x4F, 0x26, 0x26, 1, 1},
10833 {0x50, 0x26, 0x26, 1, 1},
10834 {0x51, 0xf, 0xf, 1, 1},
10835 {0x52, 0xf, 0xf, 1, 1},
10836 {0x53, 0x44, 0x44, 0, 0},
10837 {0x54, 0, 0, 0, 0},
10838 {0x55, 0, 0, 0, 0},
10839 {0x56, 0x8, 0x8, 0, 0},
10840 {0x57, 0x8, 0x8, 0, 0},
10841 {0x58, 0x7, 0x7, 0, 0},
10842 {0x59, 0x22, 0x22, 0, 0},
10843 {0x5A, 0x22, 0x22, 0, 0},
10844 {0x5B, 0x2, 0x2, 0, 0},
10845 {0x5C, 0x4, 0x4, 1, 1},
10846 {0x5D, 0x7, 0x7, 0, 0},
10847 {0x5E, 0x55, 0x55, 0, 0},
10848 {0x5F, 0x23, 0x23, 0, 0},
10849 {0x60, 0x41, 0x41, 0, 0},
10850 {0x61, 0x1, 0x1, 0, 0},
10851 {0x62, 0xa, 0xa, 0, 0},
10852 {0x63, 0, 0, 0, 0},
10853 {0x64, 0, 0, 0, 0},
10854 {0x65, 0, 0, 0, 0},
10855 {0x66, 0, 0, 0, 0},
10856 {0x67, 0, 0, 0, 0},
10857 {0x68, 0, 0, 0, 0},
10858 {0x69, 0, 0, 0, 0},
10859 {0x6A, 0, 0, 0, 0},
10860 {0x6B, 0xc, 0xc, 0, 0},
10861 {0x6C, 0, 0, 0, 0},
10862 {0x6D, 0, 0, 0, 0},
10863 {0x6E, 0, 0, 0, 0},
10864 {0x6F, 0, 0, 0, 0},
10865 {0x70, 0, 0, 0, 0},
10866 {0x71, 0, 0, 0, 0},
10867 {0x72, 0x22, 0x22, 0, 0},
10868 {0x73, 0x22, 0x22, 0, 0},
10869 {0x74, 0, 0, 1, 1},
10870 {0x75, 0xa, 0xa, 0, 0},
10871 {0x76, 0x1, 0x1, 0, 0},
10872 {0x77, 0x22, 0x22, 0, 0},
10873 {0x78, 0x30, 0x30, 0, 0},
10874 {0x79, 0, 0, 0, 0},
10875 {0x7A, 0, 0, 0, 0},
10876 {0x7B, 0, 0, 0, 0},
10877 {0x7C, 0, 0, 0, 0},
10878 {0x7D, 0x5, 0x5, 1, 1},
10879 {0x7E, 0, 0, 0, 0},
10880 {0x7F, 0, 0, 0, 0},
10881 {0x80, 0, 0, 0, 0},
10882 {0x81, 0, 0, 0, 0},
10883 {0x82, 0, 0, 0, 0},
10884 {0x83, 0, 0, 0, 0},
10885 {0x84, 0, 0, 0, 0},
10886 {0x85, 0, 0, 0, 0},
10887 {0x86, 0, 0, 0, 0},
10888 {0x87, 0, 0, 0, 0},
10889 {0x88, 0, 0, 0, 0},
10890 {0x89, 0, 0, 0, 0},
10891 {0x8A, 0, 0, 0, 0},
10892 {0x8B, 0, 0, 0, 0},
10893 {0x8C, 0, 0, 0, 0},
10894 {0x8D, 0, 0, 0, 0},
10895 {0x8E, 0, 0, 0, 0},
10896 {0x8F, 0, 0, 0, 0},
10897 {0x90, 0, 0, 0, 0},
10898 {0x91, 0, 0, 0, 0},
10899 {0x92, 0, 0, 0, 0},
10900 {0x93, 0, 0, 0, 0},
10901 {0x94, 0, 0, 0, 0},
10902 {0xFFFF, 0, 0, 0, 0},
10905 radio_regs_t regs_SYN_2056_rev11
[] = {
10906 {0x02, 0, 0, 0, 0},
10907 {0x03, 0, 0, 0, 0},
10908 {0x04, 0, 0, 0, 0},
10909 {0x05, 0, 0, 0, 0},
10910 {0x06, 0, 0, 0, 0},
10911 {0x07, 0, 0, 0, 0},
10912 {0x08, 0, 0, 0, 0},
10913 {0x09, 0x1, 0x1, 0, 0},
10914 {0x0A, 0, 0, 0, 0},
10915 {0x0B, 0, 0, 0, 0},
10916 {0x0C, 0, 0, 0, 0},
10917 {0x0D, 0, 0, 0, 0},
10918 {0x0E, 0, 0, 0, 0},
10919 {0x0F, 0, 0, 0, 0},
10920 {0x10, 0, 0, 0, 0},
10921 {0x11, 0, 0, 0, 0},
10922 {0x12, 0, 0, 0, 0},
10923 {0x13, 0, 0, 0, 0},
10924 {0x14, 0, 0, 0, 0},
10925 {0x15, 0, 0, 0, 0},
10926 {0x16, 0, 0, 0, 0},
10927 {0x17, 0, 0, 0, 0},
10928 {0x18, 0, 0, 0, 0},
10929 {0x19, 0, 0, 0, 0},
10930 {0x1A, 0, 0, 0, 0},
10931 {0x1B, 0, 0, 0, 0},
10932 {0x1C, 0, 0, 0, 0},
10933 {0x1D, 0, 0, 0, 0},
10934 {0x1E, 0, 0, 0, 0},
10935 {0x1F, 0, 0, 0, 0},
10936 {0x20, 0, 0, 0, 0},
10937 {0x21, 0, 0, 0, 0},
10938 {0x22, 0x60, 0x60, 0, 0},
10939 {0x23, 0x6, 0x6, 0, 0},
10940 {0x24, 0xc, 0xc, 0, 0},
10941 {0x25, 0, 0, 0, 0},
10942 {0x26, 0, 0, 0, 0},
10943 {0x27, 0, 0, 0, 0},
10944 {0x28, 0x1, 0x1, 0, 0},
10945 {0x29, 0, 0, 0, 0},
10946 {0x2A, 0, 0, 0, 0},
10947 {0x2B, 0, 0, 0, 0},
10948 {0x2C, 0, 0, 0, 0},
10949 {0x2D, 0, 0, 0, 0},
10950 {0x2E, 0, 0, 0, 0},
10951 {0x2F, 0x1f, 0x1f, 0, 0},
10952 {0x30, 0x15, 0x15, 0, 0},
10953 {0x31, 0xf, 0xf, 0, 0},
10954 {0x32, 0, 0, 0, 0},
10955 {0x33, 0, 0, 0, 0},
10956 {0x34, 0, 0, 0, 0},
10957 {0x35, 0, 0, 0, 0},
10958 {0x36, 0, 0, 0, 0},
10959 {0x37, 0, 0, 0, 0},
10960 {0x38, 0, 0, 0, 0},
10961 {0x39, 0, 0, 0, 0},
10962 {0x3A, 0, 0, 0, 0},
10963 {0x3B, 0, 0, 0, 0},
10964 {0x3C, 0x13, 0x13, 0, 0},
10965 {0x3D, 0xf, 0xf, 0, 0},
10966 {0x3E, 0x18, 0x18, 0, 0},
10967 {0x3F, 0, 0, 0, 0},
10968 {0x40, 0, 0, 0, 0},
10969 {0x41, 0x20, 0x20, 0, 0},
10970 {0x42, 0x20, 0x20, 0, 0},
10971 {0x43, 0, 0, 0, 0},
10972 {0x44, 0x77, 0x77, 0, 0},
10973 {0x45, 0x7, 0x7, 0, 0},
10974 {0x46, 0x1, 0x1, 0, 0},
10975 {0x47, 0x6, 0x6, 1, 1},
10976 {0x48, 0xf, 0xf, 0, 0},
10977 {0x49, 0x3f, 0x3f, 1, 1},
10978 {0x4A, 0x32, 0x32, 0, 0},
10979 {0x4B, 0x6, 0x6, 1, 1},
10980 {0x4C, 0x6, 0x6, 1, 1},
10981 {0x4D, 0x4, 0x4, 0, 0},
10982 {0x4E, 0x2b, 0x2b, 1, 1},
10983 {0x4F, 0x1, 0x1, 0, 0},
10984 {0x50, 0x1c, 0x1c, 0, 0},
10985 {0x51, 0x2, 0x2, 0, 0},
10986 {0x52, 0x2, 0x2, 0, 0},
10987 {0x53, 0xf7, 0xf7, 1, 1},
10988 {0x54, 0xb4, 0xb4, 0, 0},
10989 {0x55, 0xd2, 0xd2, 0, 0},
10990 {0x56, 0, 0, 0, 0},
10991 {0x57, 0, 0, 0, 0},
10992 {0x58, 0x4, 0x4, 0, 0},
10993 {0x59, 0x96, 0x96, 0, 0},
10994 {0x5A, 0x3e, 0x3e, 0, 0},
10995 {0x5B, 0x3e, 0x3e, 0, 0},
10996 {0x5C, 0x13, 0x13, 0, 0},
10997 {0x5D, 0x2, 0x2, 0, 0},
10998 {0x5E, 0, 0, 0, 0},
10999 {0x5F, 0x7, 0x7, 0, 0},
11000 {0x60, 0x7, 0x7, 1, 1},
11001 {0x61, 0x8, 0x8, 0, 0},
11002 {0x62, 0x3, 0x3, 0, 0},
11003 {0x63, 0, 0, 0, 0},
11004 {0x64, 0, 0, 0, 0},
11005 {0x65, 0, 0, 0, 0},
11006 {0x66, 0, 0, 0, 0},
11007 {0x67, 0, 0, 0, 0},
11008 {0x68, 0x40, 0x40, 0, 0},
11009 {0x69, 0, 0, 0, 0},
11010 {0x6A, 0, 0, 0, 0},
11011 {0x6B, 0, 0, 0, 0},
11012 {0x6C, 0, 0, 0, 0},
11013 {0x6D, 0x1, 0x1, 0, 0},
11014 {0x6E, 0, 0, 0, 0},
11015 {0x6F, 0, 0, 0, 0},
11016 {0x70, 0x60, 0x60, 0, 0},
11017 {0x71, 0x66, 0x66, 0, 0},
11018 {0x72, 0xc, 0xc, 0, 0},
11019 {0x73, 0x66, 0x66, 0, 0},
11020 {0x74, 0x8f, 0x8f, 1, 1},
11021 {0x75, 0, 0, 0, 0},
11022 {0x76, 0xcc, 0xcc, 0, 0},
11023 {0x77, 0x1, 0x1, 0, 0},
11024 {0x78, 0x66, 0x66, 0, 0},
11025 {0x79, 0x66, 0x66, 0, 0},
11026 {0x7A, 0, 0, 0, 0},
11027 {0x7B, 0, 0, 0, 0},
11028 {0x7C, 0, 0, 0, 0},
11029 {0x7D, 0, 0, 0, 0},
11030 {0x7E, 0, 0, 0, 0},
11031 {0x7F, 0, 0, 0, 0},
11032 {0x80, 0, 0, 0, 0},
11033 {0x81, 0, 0, 0, 0},
11034 {0x82, 0, 0, 0, 0},
11035 {0x83, 0, 0, 0, 0},
11036 {0x84, 0, 0, 0, 0},
11037 {0x85, 0xff, 0xff, 0, 0},
11038 {0x86, 0, 0, 0, 0},
11039 {0x87, 0, 0, 0, 0},
11040 {0x88, 0, 0, 0, 0},
11041 {0x89, 0, 0, 0, 0},
11042 {0x8A, 0, 0, 0, 0},
11043 {0x8B, 0, 0, 0, 0},
11044 {0x8C, 0, 0, 0, 0},
11045 {0x8D, 0, 0, 0, 0},
11046 {0x8E, 0, 0, 0, 0},
11047 {0x8F, 0, 0, 0, 0},
11048 {0x90, 0, 0, 0, 0},
11049 {0x91, 0, 0, 0, 0},
11050 {0x92, 0, 0, 0, 0},
11051 {0x93, 0, 0, 0, 0},
11052 {0x94, 0, 0, 0, 0},
11053 {0x95, 0, 0, 0, 0},
11054 {0x96, 0, 0, 0, 0},
11055 {0x97, 0, 0, 0, 0},
11056 {0x98, 0, 0, 0, 0},
11057 {0x99, 0, 0, 0, 0},
11058 {0x9A, 0, 0, 0, 0},
11059 {0x9B, 0, 0, 0, 0},
11060 {0x9C, 0, 0, 0, 0},
11061 {0x9D, 0, 0, 0, 0},
11062 {0x9E, 0, 0, 0, 0},
11063 {0x9F, 0x6, 0x6, 0, 0},
11064 {0xA0, 0x66, 0x66, 0, 0},
11065 {0xA1, 0x66, 0x66, 0, 0},
11066 {0xA2, 0x66, 0x66, 0, 0},
11067 {0xA3, 0x66, 0x66, 0, 0},
11068 {0xA4, 0x66, 0x66, 0, 0},
11069 {0xA5, 0x66, 0x66, 0, 0},
11070 {0xA6, 0x66, 0x66, 0, 0},
11071 {0xA7, 0x66, 0x66, 0, 0},
11072 {0xA8, 0x66, 0x66, 0, 0},
11073 {0xA9, 0x66, 0x66, 0, 0},
11074 {0xAA, 0x66, 0x66, 0, 0},
11075 {0xAB, 0x66, 0x66, 0, 0},
11076 {0xAC, 0x66, 0x66, 0, 0},
11077 {0xAD, 0x66, 0x66, 0, 0},
11078 {0xAE, 0x66, 0x66, 0, 0},
11079 {0xAF, 0x66, 0x66, 0, 0},
11080 {0xB0, 0x66, 0x66, 0, 0},
11081 {0xB1, 0x66, 0x66, 0, 0},
11082 {0xB2, 0x66, 0x66, 0, 0},
11083 {0xB3, 0xa, 0xa, 0, 0},
11084 {0xB4, 0, 0, 0, 0},
11085 {0xB5, 0, 0, 0, 0},
11086 {0xB6, 0, 0, 0, 0},
11087 {0xFFFF, 0, 0, 0, 0},
11090 radio_regs_t regs_TX_2056_rev11
[] = {
11091 {0x02, 0, 0, 0, 0},
11092 {0x03, 0, 0, 0, 0},
11093 {0x04, 0, 0, 0, 0},
11094 {0x05, 0, 0, 0, 0},
11095 {0x06, 0, 0, 0, 0},
11096 {0x07, 0, 0, 0, 0},
11097 {0x08, 0, 0, 0, 0},
11098 {0x09, 0, 0, 0, 0},
11099 {0x0A, 0, 0, 0, 0},
11100 {0x0B, 0, 0, 0, 0},
11101 {0x0C, 0, 0, 0, 0},
11102 {0x0D, 0, 0, 0, 0},
11103 {0x0E, 0, 0, 0, 0},
11104 {0x0F, 0, 0, 0, 0},
11105 {0x10, 0, 0, 0, 0},
11106 {0x11, 0, 0, 0, 0},
11107 {0x12, 0, 0, 0, 0},
11108 {0x13, 0, 0, 0, 0},
11109 {0x14, 0, 0, 0, 0},
11110 {0x15, 0, 0, 0, 0},
11111 {0x16, 0, 0, 0, 0},
11112 {0x17, 0, 0, 0, 0},
11113 {0x18, 0, 0, 0, 0},
11114 {0x19, 0, 0, 0, 0},
11115 {0x1A, 0, 0, 0, 0},
11116 {0x1B, 0, 0, 0, 0},
11117 {0x1C, 0, 0, 0, 0},
11118 {0x1D, 0, 0, 0, 0},
11119 {0x1E, 0, 0, 0, 0},
11120 {0x1F, 0, 0, 0, 0},
11121 {0x20, 0, 0, 0, 0},
11122 {0x21, 0x88, 0x88, 0, 0},
11123 {0x22, 0x88, 0x88, 0, 0},
11124 {0x23, 0x88, 0x88, 0, 0},
11125 {0x24, 0x88, 0x88, 0, 0},
11126 {0x25, 0xc, 0xc, 0, 0},
11127 {0x26, 0, 0, 0, 0},
11128 {0x27, 0x3, 0x3, 0, 0},
11129 {0x28, 0, 0, 0, 0},
11130 {0x29, 0x3, 0x3, 0, 0},
11131 {0x2A, 0x37, 0x37, 0, 0},
11132 {0x2B, 0x3, 0x3, 0, 0},
11133 {0x2C, 0, 0, 0, 0},
11134 {0x2D, 0, 0, 0, 0},
11135 {0x2E, 0x1, 0x1, 0, 0},
11136 {0x2F, 0x1, 0x1, 0, 0},
11137 {0x30, 0, 0, 0, 0},
11138 {0x31, 0, 0, 0, 0},
11139 {0x32, 0, 0, 0, 0},
11140 {0x33, 0x11, 0x11, 0, 0},
11141 {0x34, 0xee, 0xee, 1, 1},
11142 {0x35, 0, 0, 0, 0},
11143 {0x36, 0, 0, 0, 0},
11144 {0x37, 0x3, 0x3, 0, 0},
11145 {0x38, 0x50, 0x50, 1, 1},
11146 {0x39, 0, 0, 0, 0},
11147 {0x3A, 0x50, 0x50, 1, 1},
11148 {0x3B, 0, 0, 0, 0},
11149 {0x3C, 0x6e, 0x6e, 0, 0},
11150 {0x3D, 0xf0, 0xf0, 1, 1},
11151 {0x3E, 0, 0, 0, 0},
11152 {0x3F, 0, 0, 0, 0},
11153 {0x40, 0, 0, 0, 0},
11154 {0x41, 0x3, 0x3, 0, 0},
11155 {0x42, 0x3, 0x3, 0, 0},
11156 {0x43, 0, 0, 0, 0},
11157 {0x44, 0x1e, 0x1e, 0, 0},
11158 {0x45, 0, 0, 0, 0},
11159 {0x46, 0x6e, 0x6e, 0, 0},
11160 {0x47, 0xf0, 0xf0, 1, 1},
11161 {0x48, 0, 0, 0, 0},
11162 {0x49, 0x2, 0x2, 0, 0},
11163 {0x4A, 0xff, 0xff, 1, 1},
11164 {0x4B, 0xc, 0xc, 0, 0},
11165 {0x4C, 0, 0, 0, 0},
11166 {0x4D, 0x38, 0x38, 0, 0},
11167 {0x4E, 0x70, 0x70, 1, 1},
11168 {0x4F, 0x2, 0x2, 0, 0},
11169 {0x50, 0x88, 0x88, 0, 0},
11170 {0x51, 0xc, 0xc, 0, 0},
11171 {0x52, 0, 0, 0, 0},
11172 {0x53, 0x8, 0x8, 0, 0},
11173 {0x54, 0x70, 0x70, 1, 1},
11174 {0x55, 0x2, 0x2, 0, 0},
11175 {0x56, 0xff, 0xff, 1, 1},
11176 {0x57, 0, 0, 0, 0},
11177 {0x58, 0x83, 0x83, 0, 0},
11178 {0x59, 0x77, 0x77, 1, 1},
11179 {0x5A, 0, 0, 0, 0},
11180 {0x5B, 0x2, 0x2, 0, 0},
11181 {0x5C, 0x88, 0x88, 0, 0},
11182 {0x5D, 0, 0, 0, 0},
11183 {0x5E, 0x8, 0x8, 0, 0},
11184 {0x5F, 0x77, 0x77, 1, 1},
11185 {0x60, 0x1, 0x1, 0, 0},
11186 {0x61, 0, 0, 0, 0},
11187 {0x62, 0x7, 0x7, 0, 0},
11188 {0x63, 0, 0, 0, 0},
11189 {0x64, 0x7, 0x7, 0, 0},
11190 {0x65, 0, 0, 0, 0},
11191 {0x66, 0, 0, 0, 0},
11192 {0x67, 0, 0, 1, 1},
11193 {0x68, 0, 0, 0, 0},
11194 {0x69, 0xa, 0xa, 0, 0},
11195 {0x6A, 0, 0, 0, 0},
11196 {0x6B, 0, 0, 0, 0},
11197 {0x6C, 0, 0, 0, 0},
11198 {0x6D, 0, 0, 0, 0},
11199 {0x6E, 0, 0, 0, 0},
11200 {0x6F, 0, 0, 0, 0},
11201 {0x70, 0, 0, 0, 0},
11202 {0x71, 0x2, 0x2, 0, 0},
11203 {0x72, 0, 0, 0, 0},
11204 {0x73, 0, 0, 0, 0},
11205 {0x74, 0xe, 0xe, 0, 0},
11206 {0x75, 0xe, 0xe, 0, 0},
11207 {0x76, 0xe, 0xe, 0, 0},
11208 {0x77, 0x13, 0x13, 0, 0},
11209 {0x78, 0x13, 0x13, 0, 0},
11210 {0x79, 0x1b, 0x1b, 0, 0},
11211 {0x7A, 0x1b, 0x1b, 0, 0},
11212 {0x7B, 0x55, 0x55, 0, 0},
11213 {0x7C, 0x5b, 0x5b, 0, 0},
11214 {0x7D, 0x30, 0x30, 1, 1},
11215 {0x7E, 0, 0, 0, 0},
11216 {0x7F, 0, 0, 0, 0},
11217 {0x80, 0, 0, 0, 0},
11218 {0x81, 0, 0, 0, 0},
11219 {0x82, 0, 0, 0, 0},
11220 {0x83, 0, 0, 0, 0},
11221 {0x84, 0, 0, 0, 0},
11222 {0x85, 0, 0, 0, 0},
11223 {0x86, 0, 0, 0, 0},
11224 {0x87, 0, 0, 0, 0},
11225 {0x88, 0, 0, 0, 0},
11226 {0x89, 0, 0, 0, 0},
11227 {0x8A, 0, 0, 0, 0},
11228 {0x8B, 0, 0, 0, 0},
11229 {0x8C, 0, 0, 0, 0},
11230 {0x8D, 0, 0, 0, 0},
11231 {0x8E, 0, 0, 0, 0},
11232 {0x8F, 0, 0, 0, 0},
11233 {0x90, 0, 0, 0, 0},
11234 {0x91, 0, 0, 0, 0},
11235 {0x92, 0, 0, 0, 0},
11236 {0x93, 0x70, 0x70, 0, 0},
11237 {0x94, 0x70, 0x70, 0, 0},
11238 {0x95, 0x70, 0x70, 0, 0},
11239 {0x96, 0x70, 0x70, 0, 0},
11240 {0x97, 0x70, 0x70, 0, 0},
11241 {0x98, 0x70, 0x70, 0, 0},
11242 {0x99, 0x70, 0x70, 0, 0},
11243 {0x9A, 0x70, 0x70, 0, 0},
11244 {0xFFFF, 0, 0, 0, 0},
11247 radio_regs_t regs_RX_2056_rev11
[] = {
11248 {0x02, 0, 0, 0, 0},
11249 {0x03, 0, 0, 0, 0},
11250 {0x04, 0, 0, 0, 0},
11251 {0x05, 0, 0, 0, 0},
11252 {0x06, 0, 0, 0, 0},
11253 {0x07, 0, 0, 0, 0},
11254 {0x08, 0, 0, 0, 0},
11255 {0x09, 0, 0, 0, 0},
11256 {0x0A, 0, 0, 0, 0},
11257 {0x0B, 0, 0, 0, 0},
11258 {0x0C, 0, 0, 0, 0},
11259 {0x0D, 0, 0, 0, 0},
11260 {0x0E, 0, 0, 0, 0},
11261 {0x0F, 0, 0, 0, 0},
11262 {0x10, 0, 0, 0, 0},
11263 {0x11, 0, 0, 0, 0},
11264 {0x12, 0, 0, 0, 0},
11265 {0x13, 0, 0, 0, 0},
11266 {0x14, 0, 0, 0, 0},
11267 {0x15, 0, 0, 0, 0},
11268 {0x16, 0, 0, 0, 0},
11269 {0x17, 0, 0, 0, 0},
11270 {0x18, 0, 0, 0, 0},
11271 {0x19, 0, 0, 0, 0},
11272 {0x1A, 0, 0, 0, 0},
11273 {0x1B, 0, 0, 0, 0},
11274 {0x1C, 0, 0, 0, 0},
11275 {0x1D, 0, 0, 0, 0},
11276 {0x1E, 0, 0, 0, 0},
11277 {0x1F, 0, 0, 0, 0},
11278 {0x20, 0x3, 0x3, 0, 0},
11279 {0x21, 0, 0, 0, 0},
11280 {0x22, 0, 0, 0, 0},
11281 {0x23, 0x90, 0x90, 0, 0},
11282 {0x24, 0x55, 0x55, 0, 0},
11283 {0x25, 0x15, 0x15, 0, 0},
11284 {0x26, 0x5, 0x5, 0, 0},
11285 {0x27, 0x15, 0x15, 0, 0},
11286 {0x28, 0x5, 0x5, 0, 0},
11287 {0x29, 0x20, 0x20, 0, 0},
11288 {0x2A, 0x11, 0x11, 0, 0},
11289 {0x2B, 0x90, 0x90, 0, 0},
11290 {0x2C, 0, 0, 0, 0},
11291 {0x2D, 0x88, 0x88, 0, 0},
11292 {0x2E, 0x32, 0x32, 0, 0},
11293 {0x2F, 0x77, 0x77, 0, 0},
11294 {0x30, 0x17, 0x17, 1, 1},
11295 {0x31, 0xff, 0xff, 1, 1},
11296 {0x32, 0x20, 0x20, 0, 0},
11297 {0x33, 0, 0, 0, 0},
11298 {0x34, 0x88, 0x88, 0, 0},
11299 {0x35, 0x32, 0x32, 0, 0},
11300 {0x36, 0x77, 0x77, 0, 0},
11301 {0x37, 0x17, 0x17, 1, 1},
11302 {0x38, 0xf0, 0xf0, 1, 1},
11303 {0x39, 0x20, 0x20, 0, 0},
11304 {0x3A, 0x8, 0x8, 0, 0},
11305 {0x3B, 0x55, 0x55, 1, 1},
11306 {0x3C, 0, 0, 0, 0},
11307 {0x3D, 0x88, 0x88, 1, 1},
11308 {0x3E, 0, 0, 0, 0},
11309 {0x3F, 0x44, 0x44, 0, 0},
11310 {0x40, 0x7, 0x7, 1, 1},
11311 {0x41, 0x6, 0x6, 0, 0},
11312 {0x42, 0x4, 0x4, 0, 0},
11313 {0x43, 0, 0, 0, 0},
11314 {0x44, 0x8, 0x8, 0, 0},
11315 {0x45, 0x55, 0x55, 1, 1},
11316 {0x46, 0, 0, 0, 0},
11317 {0x47, 0x11, 0x11, 0, 0},
11318 {0x48, 0, 0, 0, 0},
11319 {0x49, 0x44, 0x44, 0, 0},
11320 {0x4A, 0x7, 0x7, 0, 0},
11321 {0x4B, 0x6, 0x6, 0, 0},
11322 {0x4C, 0x4, 0x4, 0, 0},
11323 {0x4D, 0, 0, 0, 0},
11324 {0x4E, 0, 0, 0, 0},
11325 {0x4F, 0x26, 0x26, 1, 1},
11326 {0x50, 0x26, 0x26, 1, 1},
11327 {0x51, 0xf, 0xf, 1, 1},
11328 {0x52, 0xf, 0xf, 1, 1},
11329 {0x53, 0x44, 0x44, 0, 0},
11330 {0x54, 0, 0, 0, 0},
11331 {0x55, 0, 0, 0, 0},
11332 {0x56, 0x8, 0x8, 0, 0},
11333 {0x57, 0x8, 0x8, 0, 0},
11334 {0x58, 0x7, 0x7, 0, 0},
11335 {0x59, 0x22, 0x22, 0, 0},
11336 {0x5A, 0x22, 0x22, 0, 0},
11337 {0x5B, 0x2, 0x2, 0, 0},
11338 {0x5C, 0x4, 0x4, 1, 1},
11339 {0x5D, 0x7, 0x7, 0, 0},
11340 {0x5E, 0x55, 0x55, 0, 0},
11341 {0x5F, 0x23, 0x23, 0, 0},
11342 {0x60, 0x41, 0x41, 0, 0},
11343 {0x61, 0x1, 0x1, 0, 0},
11344 {0x62, 0xa, 0xa, 0, 0},
11345 {0x63, 0, 0, 0, 0},
11346 {0x64, 0, 0, 0, 0},
11347 {0x65, 0, 0, 0, 0},
11348 {0x66, 0, 0, 0, 0},
11349 {0x67, 0, 0, 0, 0},
11350 {0x68, 0, 0, 0, 0},
11351 {0x69, 0, 0, 0, 0},
11352 {0x6A, 0, 0, 0, 0},
11353 {0x6B, 0xc, 0xc, 0, 0},
11354 {0x6C, 0, 0, 0, 0},
11355 {0x6D, 0, 0, 0, 0},
11356 {0x6E, 0, 0, 0, 0},
11357 {0x6F, 0, 0, 0, 0},
11358 {0x70, 0, 0, 0, 0},
11359 {0x71, 0, 0, 0, 0},
11360 {0x72, 0x22, 0x22, 0, 0},
11361 {0x73, 0x22, 0x22, 0, 0},
11362 {0x74, 0, 0, 1, 1},
11363 {0x75, 0xa, 0xa, 0, 0},
11364 {0x76, 0x1, 0x1, 0, 0},
11365 {0x77, 0x22, 0x22, 0, 0},
11366 {0x78, 0x30, 0x30, 0, 0},
11367 {0x79, 0, 0, 0, 0},
11368 {0x7A, 0, 0, 0, 0},
11369 {0x7B, 0, 0, 0, 0},
11370 {0x7C, 0, 0, 0, 0},
11371 {0x7D, 0x5, 0x5, 1, 1},
11372 {0x7E, 0, 0, 0, 0},
11373 {0x7F, 0, 0, 0, 0},
11374 {0x80, 0, 0, 0, 0},
11375 {0x81, 0, 0, 0, 0},
11376 {0x82, 0, 0, 0, 0},
11377 {0x83, 0, 0, 0, 0},
11378 {0x84, 0, 0, 0, 0},
11379 {0x85, 0, 0, 0, 0},
11380 {0x86, 0, 0, 0, 0},
11381 {0x87, 0, 0, 0, 0},
11382 {0x88, 0, 0, 0, 0},
11383 {0x89, 0, 0, 0, 0},
11384 {0x8A, 0, 0, 0, 0},
11385 {0x8B, 0, 0, 0, 0},
11386 {0x8C, 0, 0, 0, 0},
11387 {0x8D, 0, 0, 0, 0},
11388 {0x8E, 0, 0, 0, 0},
11389 {0x8F, 0, 0, 0, 0},
11390 {0x90, 0, 0, 0, 0},
11391 {0x91, 0, 0, 0, 0},
11392 {0x92, 0, 0, 0, 0},
11393 {0x93, 0, 0, 0, 0},
11394 {0x94, 0, 0, 0, 0},
11395 {0xFFFF, 0, 0, 0, 0},
11398 radio_20xx_regs_t regs_2057_rev4
[] = {
11788 radio_20xx_regs_t regs_2057_rev5
[] = {
12120 radio_20xx_regs_t regs_2057_rev5v1
[] = {
12452 radio_20xx_regs_t regs_2057_rev7
[] = {
12868 radio_20xx_regs_t regs_2057_rev8
[] = {
13284 static s16 nphy_def_lnagains
[] = { -2, 10, 19, 25 };
13286 static s32 nphy_lnagain_est0
[] = { -315, 40370 };
13287 static s32 nphy_lnagain_est1
[] = { -224, 23242 };
13289 static const u16 tbl_iqcal_gainparams_nphy
[2][NPHY_IQCAL_NUMGAINS
][8] = {
13291 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13292 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13293 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13294 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13295 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13296 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13297 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13298 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13299 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13302 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13303 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13304 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13305 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13306 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13307 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13308 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13309 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13310 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13314 static const u32 nphy_tpc_txgain
[] = {
13315 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13316 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13317 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13318 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13319 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13320 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13321 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13322 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13323 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13324 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13325 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13326 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13327 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13328 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13329 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13330 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13331 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13332 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13333 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13334 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13335 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13336 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13337 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13338 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13339 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13340 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13341 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13342 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13343 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13344 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13345 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13346 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13349 static const u16 nphy_tpc_loscale
[] = {
13350 256, 256, 271, 271, 287, 256, 256, 271,
13351 271, 287, 287, 304, 304, 256, 256, 271,
13352 271, 287, 287, 304, 304, 322, 322, 341,
13353 341, 362, 362, 383, 383, 256, 256, 271,
13354 271, 287, 287, 304, 304, 322, 322, 256,
13355 256, 271, 271, 287, 287, 304, 304, 322,
13356 322, 341, 341, 362, 362, 256, 256, 271,
13357 271, 287, 287, 304, 304, 322, 322, 256,
13358 256, 271, 271, 287, 287, 304, 304, 322,
13359 322, 341, 341, 362, 362, 256, 256, 271,
13360 271, 287, 287, 304, 304, 322, 322, 341,
13361 341, 362, 362, 383, 383, 406, 406, 430,
13362 430, 455, 455, 482, 482, 511, 511, 541,
13363 541, 573, 573, 607, 607, 643, 643, 681,
13364 681, 722, 722, 764, 764, 810, 810, 858,
13365 858, 908, 908, 962, 962, 1019, 1019, 256
13368 static u32 nphy_tpc_txgain_ipa
[] = {
13369 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13370 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13371 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13372 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13373 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13374 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13375 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13376 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13377 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13378 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13379 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13380 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13381 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13382 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13383 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13384 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13385 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13386 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13387 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13388 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13389 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13390 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13391 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13392 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13393 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13394 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13395 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13396 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13397 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13398 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13399 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13400 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13403 static u32 nphy_tpc_txgain_ipa_rev5
[] = {
13404 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13405 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13406 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13407 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13408 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13409 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13410 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13411 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13412 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13413 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13414 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13415 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13416 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13417 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13418 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13419 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13420 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13421 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13422 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13423 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13424 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13425 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13426 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13427 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13428 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13429 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13430 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13431 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13432 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13433 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13434 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13435 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13438 static u32 nphy_tpc_txgain_ipa_rev6
[] = {
13439 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13440 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13441 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13442 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13443 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13444 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13445 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13446 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13447 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13448 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13449 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13450 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13451 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13452 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13453 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13454 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13455 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13456 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13457 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13458 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13459 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13460 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13461 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13462 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13463 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13464 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13465 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13466 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13467 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13468 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13469 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13470 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13473 static u32 nphy_tpc_txgain_ipa_2g_2057rev3
[] = {
13474 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13475 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13476 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13477 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13478 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13479 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13480 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13481 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13482 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13483 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13484 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13485 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13486 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13487 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13488 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13489 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13490 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13491 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13492 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13493 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13494 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13495 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13496 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13497 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13498 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13499 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13500 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13501 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13502 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13503 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13504 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13505 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13508 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6
[] = {
13509 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13510 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13511 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13512 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13513 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13514 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13515 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13516 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13517 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13518 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13519 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13520 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13521 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13522 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13523 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13524 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13525 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13526 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13527 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13528 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13529 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13530 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13531 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13532 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13533 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13534 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13535 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13536 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13537 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13538 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13539 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13540 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13543 static u32 nphy_tpc_txgain_ipa_2g_2057rev5
[] = {
13544 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13545 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13546 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13547 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13548 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13549 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13550 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13551 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13552 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13553 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13554 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13555 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13556 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13557 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13558 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13559 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13560 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13561 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13562 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13563 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13575 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13578 static u32 nphy_tpc_txgain_ipa_2g_2057rev7
[] = {
13579 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13580 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13581 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13582 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13583 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13584 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13585 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13586 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13587 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13588 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13589 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13590 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13591 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13592 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13593 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13594 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13595 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13596 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13597 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13598 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13599 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13610 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13613 static u32 nphy_tpc_txgain_ipa_5g
[] = {
13614 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13615 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13616 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13617 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13618 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13619 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13620 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13621 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13622 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13623 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13624 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13625 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13626 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13627 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13628 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13629 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13630 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13631 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13632 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13633 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13634 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13635 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13636 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13637 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13638 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13639 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13640 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13641 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13642 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13643 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13644 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13645 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13648 static u32 nphy_tpc_txgain_ipa_5g_2057
[] = {
13649 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13650 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13651 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13652 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13653 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13654 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13655 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13656 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13657 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13658 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13659 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13660 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13661 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13662 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13663 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13664 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13665 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13666 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13667 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13668 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13669 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13670 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13671 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13672 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13673 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13674 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13675 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13676 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13677 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13678 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13679 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13680 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13683 static u32 nphy_tpc_txgain_ipa_5g_2057rev7
[] = {
13684 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13685 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13686 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13687 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13688 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13689 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13690 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13691 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13692 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13693 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13694 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13695 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13696 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13697 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13698 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13699 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13700 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13701 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13702 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13703 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13704 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13705 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13706 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13707 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13708 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13709 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13710 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13711 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13714 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13715 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13718 static s8 nphy_papd_pga_gain_delta_ipa_2g
[] = {
13719 -114, -108, -98, -91, -84, -78, -70, -62,
13720 -54, -46, -39, -31, -23, -15, -8, 0
13723 static s8 nphy_papd_pga_gain_delta_ipa_5g
[] = {
13724 -100, -95, -89, -83, -77, -70, -63, -56,
13725 -48, -41, -33, -25, -19, -12, -6, 0
13728 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4
[] = {
13729 -159, -113, -86, -72, -62, -54, -48, -43,
13730 -39, -35, -31, -28, -25, -23, -20, -18,
13731 -17, -15, -13, -11, -10, -8, -7, -6,
13732 -5, -4, -3, -3, -2, -1, -1, 0
13735 static s16 nphy_papd_padgain_dlt_2g_2057rev5
[] = {
13736 -109, -109, -82, -68, -58, -50, -44, -39,
13737 -35, -31, -28, -26, -23, -21, -19, -17,
13738 -16, -14, -13, -11, -10, -9, -8, -7,
13739 -5, -5, -4, -3, -2, -1, -1, 0
13742 static s16 nphy_papd_padgain_dlt_2g_2057rev7
[] = {
13743 -122, -122, -95, -80, -69, -61, -54, -49,
13744 -43, -39, -35, -32, -28, -26, -23, -21,
13745 -18, -16, -15, -13, -11, -10, -8, -7,
13746 -6, -5, -4, -3, -2, -1, -1, 0
13749 static s8 nphy_papd_pgagain_dlt_5g_2057
[] = {
13750 -107, -101, -92, -85, -78, -71, -62, -55,
13751 -47, -39, -32, -24, -19, -12, -6, 0
13754 static s8 nphy_papd_pgagain_dlt_5g_2057rev7
[] = {
13755 -110, -104, -95, -88, -81, -74, -66, -58,
13756 -50, -44, -36, -28, -23, -15, -8, 0
13759 static u8 pad_gain_codes_used_2057rev5
[] = {
13760 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13761 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13764 static u8 pad_gain_codes_used_2057rev7
[] = {
13765 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13769 static u8 pad_all_gain_codes_2057
[] = {
13770 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13771 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13772 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13776 static u8 pga_all_gain_codes_2057
[] = {
13777 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13780 static u32 nphy_papd_scaltbl
[] = {
13781 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13782 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13783 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13784 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13785 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13786 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13787 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13788 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13789 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13790 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13791 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13792 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13793 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13794 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13795 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13796 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13799 static u32 nphy_tpc_txgain_rev3
[] = {
13800 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13801 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13802 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13803 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13804 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13805 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13806 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13807 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13808 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13809 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13810 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13811 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13812 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13813 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13814 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13815 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13816 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13817 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13818 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13819 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13820 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13821 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13822 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13823 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13824 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13825 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13826 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13827 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13828 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13829 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13830 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13831 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13834 static u32 nphy_tpc_txgain_HiPwrEPA
[] = {
13835 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13836 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13837 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13838 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13839 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13840 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13841 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13842 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13843 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13844 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13845 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13846 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13847 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13848 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13849 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13850 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13851 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13852 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13853 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13854 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13855 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13856 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13857 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13858 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13859 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13860 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13861 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13862 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13863 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13864 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13865 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13866 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13869 static u32 nphy_tpc_txgain_epa_2057rev3
[] = {
13870 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13871 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13872 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13873 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13874 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13875 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13876 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13877 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13878 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13879 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13880 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13881 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13882 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13883 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13884 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13885 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13886 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13887 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13888 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13889 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13890 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13901 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13904 static u32 nphy_tpc_txgain_epa_2057rev5
[] = {
13905 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13906 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13907 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13908 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13909 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13910 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13911 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13912 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13913 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13914 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13915 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13916 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13917 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13918 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13919 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13920 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13921 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13922 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13923 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13924 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13925 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13926 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13927 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13928 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13929 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13930 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13931 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13932 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13933 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13934 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13935 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13936 0x10090001, 0x10090001, 0x10090001, 0x10090001
13939 static u32 nphy_tpc_5GHz_txgain_rev3
[] = {
13940 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13941 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13942 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13943 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13944 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13945 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13946 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13947 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13948 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13949 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13950 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13951 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13952 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13953 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13954 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13955 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13956 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13957 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13958 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13959 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13960 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13961 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13962 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13963 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13964 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13965 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13966 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13967 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13968 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13969 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13970 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13971 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13974 static u32 nphy_tpc_5GHz_txgain_rev4
[] = {
13975 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13976 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13977 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13978 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13979 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13980 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13981 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13982 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13983 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13984 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13985 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13986 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13987 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13988 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13989 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13990 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13991 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13992 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13993 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13994 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13995 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13996 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13997 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13998 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
13999 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14000 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14001 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14002 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14003 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14004 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14005 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14006 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14009 static u32 nphy_tpc_5GHz_txgain_rev5
[] = {
14010 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14011 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14012 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14013 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14014 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14015 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14016 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14017 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14018 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14019 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14020 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14021 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14022 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14023 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14024 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14025 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14026 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14027 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14028 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14029 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14030 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14031 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14032 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14033 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14034 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14035 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14036 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14037 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14038 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14039 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14040 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14041 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14044 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA
[] = {
14045 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14046 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14047 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14048 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14049 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14050 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14051 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14052 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14053 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14054 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14055 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14056 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14057 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14058 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14059 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14060 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14061 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14062 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14063 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14064 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14065 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14066 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14067 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14068 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14069 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14070 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14071 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14072 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14073 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14074 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14075 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14076 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14079 static u8 ant_sw_ctrl_tbl_rev8_2o3
[] = { 0x14, 0x18 };
14080 static u8 ant_sw_ctrl_tbl_rev8
[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14081 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0
[] = {
14082 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14083 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1
[] = {
14084 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14086 static bool wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
14087 chan_info_nphy_radio2057_t
**t0
,
14088 chan_info_nphy_radio205x_t
**t1
,
14089 chan_info_nphy_radio2057_rev5_t
**t2
,
14090 chan_info_nphy_2055_t
**t3
);
14091 static void wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chans
,
14092 const nphy_sfo_cfg_t
*c
);
14094 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
,
14095 u16 reduction_factr
);
14096 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *,
14098 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
);
14099 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
);
14100 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
);
14102 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
);
14103 static void wlc_phy_radio_init_2055(phy_info_t
*pi
);
14104 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
);
14105 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
);
14106 static void wlc_phy_radio_init_2056(phy_info_t
*pi
);
14107 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
);
14108 static void wlc_phy_radio_init_2057(phy_info_t
*pi
);
14109 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
);
14110 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
);
14111 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
);
14112 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
);
14113 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
);
14114 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
);
14116 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
);
14117 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
);
14118 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
);
14119 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t tg
,
14121 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rxcore
,
14123 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, s32 preamble
);
14124 static void wlc_phy_savecal_nphy(phy_info_t
*pi
);
14125 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
);
14126 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
);
14128 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t
*pi
);
14129 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
);
14130 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
);
14131 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, u16 core
);
14133 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14134 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
);
14135 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
);
14136 static u16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
);
14137 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
);
14138 static u32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
);
14140 static void wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, u32 winsz
, u32
,
14142 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
);
14143 static void wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*,
14144 phy_cal_mode_t
, u8
);
14145 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
,
14146 nphy_papd_restore_state
*state
);
14147 static void wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
,
14148 nphy_papd_restore_state
*state
, u8
);
14150 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, u16
*vals
);
14152 static void wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*evts
,
14155 static u16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, u16 offset
);
14158 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, u16 field
, u16 value
,
14159 u8 core_mask
, u8 off
,
14162 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
);
14163 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
);
14165 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t
*pi
);
14166 static void wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
,
14168 u8 tmp_max_pwr
, u8 rate_start
,
14171 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
);
14172 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
);
14173 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
);
14174 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
);
14176 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
);
14177 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
);
14178 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
,
14180 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
);
14182 static u16
wlc_phy_radio205x_rcal(phy_info_t
*pi
);
14184 static u16
wlc_phy_radio2057_rccal(phy_info_t
*pi
);
14186 static u16
wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, u32 f_kHz
,
14189 static void wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cs32
*tone_buf
,
14191 static void wlc_phy_runsamples_nphy(phy_info_t
*pi
, u16 n
, u16 lps
,
14192 u16 wait
, u8 iq
, u8 dac_test_mode
,
14193 bool modify_bbmult
);
14195 bool wlc_phy_bist_check_phy(wlc_phy_t
*pih
)
14197 phy_info_t
*pi
= (phy_info_t
*) pih
;
14198 u32 phybist0
, phybist1
, phybist2
, phybist3
, phybist4
;
14200 if (NREV_GE(pi
->pubpi
.phy_rev
, 16))
14203 phybist0
= read_phy_reg(pi
, 0x0e);
14204 phybist1
= read_phy_reg(pi
, 0x0f);
14205 phybist2
= read_phy_reg(pi
, 0xea);
14206 phybist3
= read_phy_reg(pi
, 0xeb);
14207 phybist4
= read_phy_reg(pi
, 0x156);
14209 if ((phybist0
== 0) && (phybist1
== 0x4000) && (phybist2
== 0x1fe0) &&
14210 (phybist3
== 0) && (phybist4
== 0)) {
14217 static void WLBANDINITFN(wlc_phy_bphy_init_nphy
) (phy_info_t
*pi
)
14222 for (addr
= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT
);
14223 addr
<= (NPHY_TO_BPHY_OFF
+ BPHY_RSSI_LUT_END
); addr
++) {
14224 write_phy_reg(pi
, addr
, val
);
14225 if (addr
== (NPHY_TO_BPHY_OFF
+ 0x97))
14231 if (NORADIO_ENAB(pi
->pubpi
)) {
14233 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_PHYCRSTH
, 0x3206);
14235 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_RSSI_TRESH
, 0x281e);
14237 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_LNA_GAIN_RANGE
, 0x1a);
14241 write_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_STEP
, 0x668);
14246 wlc_phy_table_write_nphy(phy_info_t
*pi
, u32 id
, u32 len
, u32 offset
,
14247 u32 width
, const void *data
)
14249 mimophytbl_info_t tbl
;
14253 tbl
.tbl_offset
= offset
;
14254 tbl
.tbl_width
= width
;
14255 tbl
.tbl_ptr
= data
;
14256 wlc_phy_write_table_nphy(pi
, &tbl
);
14260 wlc_phy_table_read_nphy(phy_info_t
*pi
, u32 id
, u32 len
, u32 offset
,
14261 u32 width
, void *data
)
14263 mimophytbl_info_t tbl
;
14267 tbl
.tbl_offset
= offset
;
14268 tbl
.tbl_width
= width
;
14269 tbl
.tbl_ptr
= data
;
14270 wlc_phy_read_table_nphy(pi
, &tbl
);
14273 static void WLBANDINITFN(wlc_phy_static_table_download_nphy
) (phy_info_t
*pi
)
14277 if (NREV_GE(pi
->pubpi
.phy_rev
, 16)) {
14278 for (idx
= 0; idx
< mimophytbl_info_sz_rev16
; idx
++)
14279 wlc_phy_write_table_nphy(pi
,
14280 &mimophytbl_info_rev16
[idx
]);
14281 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14282 for (idx
= 0; idx
< mimophytbl_info_sz_rev7
; idx
++)
14283 wlc_phy_write_table_nphy(pi
,
14284 &mimophytbl_info_rev7
[idx
]);
14285 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14286 for (idx
= 0; idx
< mimophytbl_info_sz_rev3
; idx
++)
14287 wlc_phy_write_table_nphy(pi
,
14288 &mimophytbl_info_rev3
[idx
]);
14290 for (idx
= 0; idx
< mimophytbl_info_sz_rev0
; idx
++)
14291 wlc_phy_write_table_nphy(pi
,
14292 &mimophytbl_info_rev0
[idx
]);
14296 static void WLBANDINITFN(wlc_phy_tbl_init_nphy
) (phy_info_t
*pi
)
14301 if (pi
->phy_init_por
)
14302 wlc_phy_static_table_download_nphy(pi
);
14304 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14306 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14307 pi
->srom_fem2g
.antswctrllut
: pi
->srom_fem5g
.antswctrllut
;
14309 switch (antswctrllut
) {
14316 if (pi
->aa2g
== 7) {
14318 wlc_phy_table_write_nphy(pi
,
14319 NPHY_TBL_ID_ANTSWCTRLLUT
,
14321 &ant_sw_ctrl_tbl_rev8_2o3
14324 wlc_phy_table_write_nphy(pi
,
14325 NPHY_TBL_ID_ANTSWCTRLLUT
,
14327 &ant_sw_ctrl_tbl_rev8
14330 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14332 &ant_sw_ctrl_tbl_rev8
[2]);
14333 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14335 &ant_sw_ctrl_tbl_rev8
[4]);
14340 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14342 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14344 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14353 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14355 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14357 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14371 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14372 for (idx
= 0; idx
< mimophytbl_info_sz_rev3_volatile
; idx
++) {
14374 if (idx
== ANT_SWCTRL_TBL_REV3_IDX
) {
14375 antswctrllut
= CHSPEC_IS2G(pi
->radio_chanspec
) ?
14376 pi
->srom_fem2g
.antswctrllut
: pi
->
14377 srom_fem5g
.antswctrllut
;
14378 switch (antswctrllut
) {
14380 wlc_phy_write_table_nphy(pi
,
14381 &mimophytbl_info_rev3_volatile
14385 wlc_phy_write_table_nphy(pi
,
14386 &mimophytbl_info_rev3_volatile1
14390 wlc_phy_write_table_nphy(pi
,
14391 &mimophytbl_info_rev3_volatile2
14395 wlc_phy_write_table_nphy(pi
,
14396 &mimophytbl_info_rev3_volatile3
14403 wlc_phy_write_table_nphy(pi
,
14404 &mimophytbl_info_rev3_volatile
14409 for (idx
= 0; idx
< mimophytbl_info_sz_rev0_volatile
; idx
++) {
14410 wlc_phy_write_table_nphy(pi
,
14411 &mimophytbl_info_rev0_volatile
14418 wlc_phy_write_txmacreg_nphy(phy_info_t
*pi
, u16 holdoff
, u16 delay
)
14420 write_phy_reg(pi
, 0x77, holdoff
);
14421 write_phy_reg(pi
, 0xb4, delay
);
14424 void wlc_phy_nphy_tkip_rifs_war(phy_info_t
*pi
, u8 rifs
)
14426 u16 holdoff
, delay
;
14438 wlc_phy_write_txmacreg_nphy(pi
, holdoff
, delay
);
14440 if (pi
&& pi
->sh
&& (pi
->sh
->_rifs_phy
!= rifs
)) {
14441 pi
->sh
->_rifs_phy
= rifs
;
14445 bool wlc_phy_attach_nphy(phy_info_t
*pi
)
14449 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14450 pi
->phyhang_avoid
= true;
14453 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14455 pi
->nphy_gband_spurwar_en
= true;
14457 if (pi
->sh
->boardflags2
& BFL2_SPUR_WAR
) {
14458 pi
->nphy_aband_spurwar_en
= true;
14461 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
14463 if (pi
->sh
->boardflags2
& BFL2_2G_SPUR_WAR
) {
14464 pi
->nphy_gband_spurwar2_en
= true;
14468 pi
->n_preamble_override
= AUTO
;
14469 if (NREV_IS(pi
->pubpi
.phy_rev
, 3) || NREV_IS(pi
->pubpi
.phy_rev
, 4))
14470 pi
->n_preamble_override
= WLC_N_PREAMBLE_MIXEDMODE
;
14472 pi
->nphy_txrx_chain
= AUTO
;
14473 pi
->phy_scraminit
= AUTO
;
14475 pi
->nphy_rxcalparams
= 0x010100B5;
14477 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
14478 pi
->mphase_cal_phase_id
= MPHASE_CAL_STATE_IDLE
;
14479 pi
->mphase_txcal_numcmds
= MPHASE_TXCAL_NUMCMDS
;
14481 pi
->nphy_gain_boost
= true;
14482 pi
->nphy_elna_gain_config
= false;
14483 pi
->radio_is_on
= false;
14485 for (i
= 0; i
< pi
->pubpi
.phy_corenum
; i
++) {
14486 pi
->nphy_txpwrindex
[i
].index
= AUTO
;
14489 wlc_phy_txpwrctrl_config_nphy(pi
);
14490 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_ON
)
14491 pi
->hwpwrctrl_capable
= true;
14493 pi
->pi_fptr
.init
= wlc_phy_init_nphy
;
14494 pi
->pi_fptr
.calinit
= wlc_phy_cal_init_nphy
;
14495 pi
->pi_fptr
.chanset
= wlc_phy_chanspec_set_nphy
;
14496 pi
->pi_fptr
.txpwrrecalc
= wlc_phy_txpower_recalc_target_nphy
;
14498 if (!wlc_phy_txpwr_srom_read_nphy(pi
))
14504 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t
*pi
)
14507 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14508 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14509 pi
->phy_5g_pwrgain
= true;
14513 pi
->nphy_txpwrctrl
= PHY_TPC_HW_OFF
;
14514 pi
->phy_5g_pwrgain
= false;
14516 if ((pi
->sh
->boardflags2
& BFL2_TXPWRCTRL_EN
) &&
14517 NREV_GE(pi
->pubpi
.phy_rev
, 2) && (pi
->sh
->sromrev
>= 4))
14518 pi
->nphy_txpwrctrl
= PHY_TPC_HW_ON
;
14519 else if ((pi
->sh
->sromrev
>= 4)
14520 && (pi
->sh
->boardflags2
& BFL2_5G_PWRGAIN
))
14521 pi
->phy_5g_pwrgain
= true;
14524 void WLBANDINITFN(wlc_phy_init_nphy
) (phy_info_t
*pi
)
14528 nphy_txgains_t target_gain
;
14529 u8 tx_pwr_ctrl_state
;
14530 bool do_nphy_cal
= false;
14532 uint origidx
, intr_val
;
14534 u32 d11_clk_ctl_st
;
14538 if (!(pi
->measure_hold
& PHY_HOLD_FOR_SCAN
)) {
14539 pi
->measure_hold
|= PHY_HOLD_FOR_NOT_ASSOC
;
14542 if ((ISNPHY(pi
)) && (NREV_GE(pi
->pubpi
.phy_rev
, 5)) &&
14543 ((pi
->sh
->chippkg
== BCM4717_PKG_ID
) ||
14544 (pi
->sh
->chippkg
== BCM4718_PKG_ID
))) {
14545 if ((pi
->sh
->boardflags
& BFL_EXTLNA
) &&
14546 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
14547 ai_corereg(pi
->sh
->sih
, SI_CC_IDX
,
14548 offsetof(chipcregs_t
, chipcontrol
), 0x40,
14553 if ((!PHY_IPA(pi
)) && (pi
->sh
->chip
== BCM5357_CHIP_ID
)) {
14554 si_pmu_chipcontrol(pi
->sh
->sih
, 1, CCTRL5357_EXTPA
,
14558 if ((pi
->nphy_gband_spurwar2_en
) && CHSPEC_IS2G(pi
->radio_chanspec
) &&
14559 CHSPEC_IS40(pi
->radio_chanspec
)) {
14561 regs
= (d11regs_t
*) si_switch_core(pi
->sh
->sih
, D11_CORE_ID
,
14562 &origidx
, &intr_val
);
14563 d11_clk_ctl_st
= R_REG(®s
->clk_ctl_st
);
14564 AND_REG(®s
->clk_ctl_st
,
14565 ~(CCS_FORCEHT
| CCS_HTAREQ
));
14567 W_REG(®s
->clk_ctl_st
, d11_clk_ctl_st
);
14569 si_restore_core(pi
->sh
->sih
, origidx
, intr_val
);
14572 pi
->use_int_tx_iqlo_cal_nphy
=
14574 (NREV_GE(pi
->pubpi
.phy_rev
, 7) ||
14575 (NREV_GE(pi
->pubpi
.phy_rev
, 5)
14576 && pi
->sh
->boardflags2
& BFL2_INTERNDET_TXIQCAL
)));
14578 pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
= false;
14580 pi
->nphy_deaf_count
= 0;
14582 wlc_phy_tbl_init_nphy(pi
);
14584 pi
->nphy_crsminpwr_adjusted
= false;
14585 pi
->nphy_noisevars_adjusted
= false;
14587 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14588 write_phy_reg(pi
, 0xe7, 0);
14589 write_phy_reg(pi
, 0xec, 0);
14590 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14591 write_phy_reg(pi
, 0x342, 0);
14592 write_phy_reg(pi
, 0x343, 0);
14593 write_phy_reg(pi
, 0x346, 0);
14594 write_phy_reg(pi
, 0x347, 0);
14596 write_phy_reg(pi
, 0xe5, 0);
14597 write_phy_reg(pi
, 0xe6, 0);
14599 write_phy_reg(pi
, 0xec, 0);
14602 write_phy_reg(pi
, 0x91, 0);
14603 write_phy_reg(pi
, 0x92, 0);
14604 if (NREV_LT(pi
->pubpi
.phy_rev
, 6)) {
14605 write_phy_reg(pi
, 0x93, 0);
14606 write_phy_reg(pi
, 0x94, 0);
14609 and_phy_reg(pi
, 0xa1, ~3);
14611 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14612 write_phy_reg(pi
, 0x8f, 0);
14613 write_phy_reg(pi
, 0xa5, 0);
14615 write_phy_reg(pi
, 0xa5, 0);
14618 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
14619 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
14620 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
14621 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
14623 write_phy_reg(pi
, 0x203, 32);
14624 write_phy_reg(pi
, 0x201, 32);
14626 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
)
14627 write_phy_reg(pi
, 0x20d, 160);
14629 write_phy_reg(pi
, 0x20d, 184);
14631 write_phy_reg(pi
, 0x13a, 200);
14633 write_phy_reg(pi
, 0x70, 80);
14635 write_phy_reg(pi
, 0x1ff, 48);
14637 if (NREV_LT(pi
->pubpi
.phy_rev
, 8)) {
14638 wlc_phy_update_mimoconfig_nphy(pi
, pi
->n_preamble_override
);
14641 wlc_phy_stf_chain_upd_nphy(pi
);
14643 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
14644 write_phy_reg(pi
, 0x180, 0xaa8);
14645 write_phy_reg(pi
, 0x181, 0x9a4);
14649 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
14651 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
14652 0x29b, (0x1 << 0), (1) << 0);
14654 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x298 :
14655 0x29c, (0x1ff << 7),
14656 (pi
->nphy_papd_epsilon_offset
[core
]) << 7);
14660 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
14663 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
14664 wlc_phy_extpa_set_tx_digi_filts_nphy(pi
);
14668 wlc_phy_workarounds_nphy(pi
);
14670 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14672 val
= read_phy_reg(pi
, 0x01);
14673 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14674 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14675 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14677 wlapi_bmac_macphyclk_set(pi
->sh
->physhim
, ON
);
14679 wlc_phy_pa_override_nphy(pi
, OFF
);
14680 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
14681 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14682 wlc_phy_pa_override_nphy(pi
, ON
);
14684 wlc_phy_classifier_nphy(pi
, 0, 0);
14685 wlc_phy_clip_det_nphy(pi
, 0, clip1_ths
);
14687 if (CHSPEC_IS2G(pi
->radio_chanspec
))
14688 wlc_phy_bphy_init_nphy(pi
);
14690 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
14691 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
14693 wlc_phy_txpwr_fixpower_nphy(pi
);
14695 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
14697 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
14699 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14700 u32
*tx_pwrctrl_tbl
= NULL
;
14704 s32 rfpwr_offset
= 0;
14707 tx_pwrctrl_tbl
= wlc_phy_get_ipa_gaintbl_nphy(pi
);
14709 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
14711 (pi
->pubpi
.phy_rev
, 3) {
14713 nphy_tpc_5GHz_txgain_rev3
;
14715 (pi
->pubpi
.phy_rev
, 4) {
14717 (pi
->srom_fem5g
.extpagain
== 3) ?
14718 nphy_tpc_5GHz_txgain_HiPwrEPA
:
14719 nphy_tpc_5GHz_txgain_rev4
;
14722 nphy_tpc_5GHz_txgain_rev5
;
14726 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14727 if (pi
->pubpi
.radiorev
== 5) {
14729 nphy_tpc_txgain_epa_2057rev5
;
14730 } else if (pi
->pubpi
.radiorev
== 3) {
14732 nphy_tpc_txgain_epa_2057rev3
;
14736 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
14737 (pi
->srom_fem2g
.extpagain
== 3)) {
14739 nphy_tpc_txgain_HiPwrEPA
;
14742 nphy_tpc_txgain_rev3
;
14748 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14749 192, 32, tx_pwrctrl_tbl
);
14750 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14751 192, 32, tx_pwrctrl_tbl
);
14753 pi
->nphy_gmval
= (u16
) ((*tx_pwrctrl_tbl
>> 16) & 0x7000);
14755 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14757 for (idx
= 0; idx
< 128; idx
++) {
14758 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14759 pad_gn
= (tx_pwrctrl_tbl
[idx
] >> 19) & 0x1f;
14761 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14762 if ((pi
->pubpi
.radiorev
== 3) ||
14763 (pi
->pubpi
.radiorev
== 4) ||
14764 (pi
->pubpi
.radiorev
== 6)) {
14765 rfpwr_offset
= (s16
)
14766 nphy_papd_padgain_dlt_2g_2057rev3n4
14768 } else if (pi
->pubpi
.radiorev
== 5) {
14769 rfpwr_offset
= (s16
)
14770 nphy_papd_padgain_dlt_2g_2057rev5
14772 } else if ((pi
->pubpi
.radiorev
== 7)
14773 || (pi
->pubpi
.radiorev
==
14775 rfpwr_offset
= (s16
)
14776 nphy_papd_padgain_dlt_2g_2057rev7
14780 if ((pi
->pubpi
.radiorev
== 3) ||
14781 (pi
->pubpi
.radiorev
== 4) ||
14782 (pi
->pubpi
.radiorev
== 6)) {
14783 rfpwr_offset
= (s16
)
14784 nphy_papd_pgagain_dlt_5g_2057
14786 } else if ((pi
->pubpi
.radiorev
== 7)
14787 || (pi
->pubpi
.radiorev
==
14789 rfpwr_offset
= (s16
)
14790 nphy_papd_pgagain_dlt_5g_2057rev7
14794 wlc_phy_table_write_nphy(pi
,
14795 NPHY_TBL_ID_CORE1TXPWRCTL
,
14798 wlc_phy_table_write_nphy(pi
,
14799 NPHY_TBL_ID_CORE2TXPWRCTL
,
14805 for (idx
= 0; idx
< 128; idx
++) {
14806 pga_gn
= (tx_pwrctrl_tbl
[idx
] >> 24) & 0xf;
14807 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
14808 rfpwr_offset
= (s16
)
14809 nphy_papd_pga_gain_delta_ipa_2g
14812 rfpwr_offset
= (s16
)
14813 nphy_papd_pga_gain_delta_ipa_5g
14817 wlc_phy_table_write_nphy(pi
,
14818 NPHY_TBL_ID_CORE1TXPWRCTL
,
14821 wlc_phy_table_write_nphy(pi
,
14822 NPHY_TBL_ID_CORE2TXPWRCTL
,
14830 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 128,
14831 192, 32, nphy_tpc_txgain
);
14832 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 128,
14833 192, 32, nphy_tpc_txgain
);
14836 if (pi
->sh
->phyrxchain
!= 0x3) {
14837 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
*) pi
,
14838 pi
->sh
->phyrxchain
);
14841 if (PHY_PERICAL_MPHASE_PENDING(pi
)) {
14842 wlc_phy_cal_perical_mphase_restart(pi
);
14845 if (!NORADIO_ENAB(pi
->pubpi
)) {
14846 bool do_rssi_cal
= false;
14848 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14849 do_rssi_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14850 (pi
->nphy_rssical_chanspec_2G
== 0) :
14851 (pi
->nphy_rssical_chanspec_5G
== 0);
14854 wlc_phy_rssi_cal_nphy(pi
);
14856 wlc_phy_restore_rssical_nphy(pi
);
14859 wlc_phy_rssi_cal_nphy(pi
);
14862 if (!SCAN_RM_IN_PROGRESS(pi
)) {
14863 do_nphy_cal
= (CHSPEC_IS2G(pi
->radio_chanspec
)) ?
14864 (pi
->nphy_iqcal_chanspec_2G
== 0) :
14865 (pi
->nphy_iqcal_chanspec_5G
== 0);
14868 if (!pi
->do_initcal
)
14869 do_nphy_cal
= false;
14873 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
14875 if (pi
->antsel_type
== ANTSEL_2x3
)
14876 wlc_phy_antsel_init((wlc_phy_t
*) pi
, true);
14878 if (pi
->nphy_perical
!= PHY_PERICAL_MPHASE
) {
14879 wlc_phy_rssi_cal_nphy(pi
);
14881 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14882 pi
->nphy_cal_orig_pwr_idx
[0] =
14883 pi
->nphy_txpwrindex
[PHY_CORE_0
].
14885 pi
->nphy_cal_orig_pwr_idx
[1] =
14886 pi
->nphy_txpwrindex
[PHY_CORE_1
].
14889 wlc_phy_precal_txgain_nphy(pi
);
14891 wlc_phy_get_tx_gain_nphy(pi
);
14894 if (wlc_phy_cal_txiqlo_nphy
14895 (pi
, target_gain
, true, false) == 0) {
14896 if (wlc_phy_cal_rxiq_nphy
14897 (pi
, target_gain
, 2,
14899 wlc_phy_savecal_nphy(pi
);
14903 } else if (pi
->mphase_cal_phase_id
==
14904 MPHASE_CAL_STATE_IDLE
) {
14906 wlc_phy_cal_perical((wlc_phy_t
*) pi
,
14907 PHY_PERICAL_PHYINIT
);
14910 wlc_phy_restorecal_nphy(pi
);
14914 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
14916 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
14918 wlc_phy_nphy_tkip_rifs_war(pi
, pi
->sh
->_rifs_phy
);
14920 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LE(pi
->pubpi
.phy_rev
, 6))
14922 write_phy_reg(pi
, 0x70, 50);
14924 wlc_phy_txlpfbw_nphy(pi
);
14926 wlc_phy_spurwar_nphy(pi
);
14930 static void wlc_phy_update_mimoconfig_nphy(phy_info_t
*pi
, s32 preamble
)
14932 bool gf_preamble
= false;
14935 if (preamble
== WLC_N_PREAMBLE_GF
) {
14936 gf_preamble
= true;
14939 val
= read_phy_reg(pi
, 0xed);
14941 val
|= RX_GF_MM_AUTO
;
14942 val
&= ~RX_GF_OR_MM
;
14944 val
|= RX_GF_OR_MM
;
14946 write_phy_reg(pi
, 0xed, val
);
14949 static void wlc_phy_resetcca_nphy(phy_info_t
*pi
)
14953 ASSERT(0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
14955 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
14957 val
= read_phy_reg(pi
, 0x01);
14958 write_phy_reg(pi
, 0x01, val
| BBCFG_RESETCCA
);
14960 write_phy_reg(pi
, 0x01, val
& (~BBCFG_RESETCCA
));
14962 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
14964 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
14967 void wlc_phy_pa_override_nphy(phy_info_t
*pi
, bool en
)
14969 u16 rfctrlintc_override_val
;
14973 pi
->rfctrlIntc1_save
= read_phy_reg(pi
, 0x91);
14974 pi
->rfctrlIntc2_save
= read_phy_reg(pi
, 0x92);
14976 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
14977 rfctrlintc_override_val
= 0x1480;
14978 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
14979 rfctrlintc_override_val
=
14980 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x600 : 0x480;
14982 rfctrlintc_override_val
=
14983 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
14986 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
14987 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
14990 write_phy_reg(pi
, 0x91, pi
->rfctrlIntc1_save
);
14991 write_phy_reg(pi
, 0x92, pi
->rfctrlIntc2_save
);
14996 void wlc_phy_stf_chain_upd_nphy(phy_info_t
*pi
)
15000 (NPHY_RfseqCoreActv_TxRxChain0
| NPHY_RfseqCoreActv_TxRxChain1
);
15001 bool CoreActv_override
= false;
15003 if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN0
) {
15004 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain0
;
15005 CoreActv_override
= true;
15007 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15008 and_phy_reg(pi
, 0xa0, ~0x20);
15010 } else if (pi
->nphy_txrx_chain
== WLC_N_TXRX_CHAIN1
) {
15011 txrx_chain
= NPHY_RfseqCoreActv_TxRxChain1
;
15012 CoreActv_override
= true;
15014 if (NREV_LE(pi
->pubpi
.phy_rev
, 2)) {
15015 or_phy_reg(pi
, 0xa0, 0x20);
15019 mod_phy_reg(pi
, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain
);
15021 if (CoreActv_override
) {
15023 pi
->nphy_perical
= PHY_PERICAL_DISABLE
;
15024 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
15026 pi
->nphy_perical
= PHY_PERICAL_MPHASE
;
15027 and_phy_reg(pi
, 0xa1, ~NPHY_RfseqMode_CoreActv_override
);
15031 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t
*pih
, u8 rxcore_bitmask
)
15036 phy_info_t
*pi
= (phy_info_t
*) pih
;
15040 pi
->sh
->phyrxchain
= rxcore_bitmask
;
15046 (0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
15048 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
15050 if (pi
->phyhang_avoid
)
15051 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
15053 regval
= read_phy_reg(pi
, 0xa2);
15054 regval
&= ~(0xf << 4);
15055 regval
|= ((u16
) (rxcore_bitmask
& 0x3)) << 4;
15056 write_phy_reg(pi
, 0xa2, regval
);
15058 if ((rxcore_bitmask
& 0x3) != 0x3) {
15060 write_phy_reg(pi
, 0x20e, 1);
15062 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15063 if (pi
->rx2tx_biasentry
== -1) {
15064 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15065 ARRAY_SIZE(tbl_buf
), 80,
15068 for (i
= 0; i
< ARRAY_SIZE(tbl_buf
); i
++) {
15070 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
) {
15072 pi
->rx2tx_biasentry
= (u8
) i
;
15074 NPHY_REV3_RFSEQ_CMD_NOP
;
15075 wlc_phy_table_write_nphy(pi
,
15081 } else if (tbl_buf
[i
] ==
15082 NPHY_REV3_RFSEQ_CMD_END
) {
15090 write_phy_reg(pi
, 0x20e, 30);
15092 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15093 if (pi
->rx2tx_biasentry
!= -1) {
15094 tbl_opcode
= NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
;
15095 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15096 1, pi
->rx2tx_biasentry
,
15098 pi
->rx2tx_biasentry
= -1;
15103 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
15105 if (pi
->phyhang_avoid
)
15106 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
15109 wlapi_enable_mac(pi
->sh
->physhim
);
15112 u8
wlc_phy_rxcore_getstate_nphy(wlc_phy_t
*pih
)
15114 u16 regval
, rxen_bits
;
15115 phy_info_t
*pi
= (phy_info_t
*) pih
;
15117 regval
= read_phy_reg(pi
, 0xa2);
15118 rxen_bits
= (regval
>> 4) & 0xf;
15120 return (u8
) rxen_bits
;
15123 bool wlc_phy_n_txpower_ipa_ison(phy_info_t
*pi
)
15125 return PHY_IPA(pi
);
15128 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t
*pi
)
15130 u8 idx
, idx2
, i
, delta_ind
;
15132 for (idx
= TXP_FIRST_CCK
; idx
<= TXP_LAST_CCK
; idx
++) {
15133 pi
->adj_pwr_tbl_nphy
[idx
] = pi
->tx_power_offset
[idx
];
15136 for (i
= 0; i
< 4; i
++) {
15144 if (CHSPEC_IS40(pi
->radio_chanspec
)
15145 && NPHY_IS_SROM_REINTERPRET
) {
15146 idx
= TXP_FIRST_MCS_40_SISO
;
15148 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15149 TXP_FIRST_OFDM_40_SISO
: TXP_FIRST_OFDM
;
15156 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15157 TXP_FIRST_MCS_40_CDD
: TXP_FIRST_MCS_20_CDD
;
15162 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15163 TXP_FIRST_MCS_40_STBC
: TXP_FIRST_MCS_20_STBC
;
15168 idx
= (CHSPEC_IS40(pi
->radio_chanspec
)) ?
15169 TXP_FIRST_MCS_40_SDM
: TXP_FIRST_MCS_20_SDM
;
15173 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15174 pi
->tx_power_offset
[idx
];
15175 idx
= idx
+ delta_ind
;
15176 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15177 pi
->tx_power_offset
[idx
];
15178 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15179 pi
->tx_power_offset
[idx
];
15180 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15181 pi
->tx_power_offset
[idx
++];
15183 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15184 pi
->tx_power_offset
[idx
++];
15185 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15186 pi
->tx_power_offset
[idx
];
15187 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15188 pi
->tx_power_offset
[idx
];
15189 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15190 pi
->tx_power_offset
[idx
++];
15192 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15193 pi
->tx_power_offset
[idx
++];
15194 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15195 pi
->tx_power_offset
[idx
];
15196 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15197 pi
->tx_power_offset
[idx
];
15198 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15199 pi
->tx_power_offset
[idx
++];
15201 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15202 pi
->tx_power_offset
[idx
];
15203 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15204 pi
->tx_power_offset
[idx
++];
15205 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15206 pi
->tx_power_offset
[idx
];
15207 idx
= idx
+ 1 - delta_ind
;
15208 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15209 pi
->tx_power_offset
[idx
];
15211 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15212 pi
->tx_power_offset
[idx
];
15213 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15214 pi
->tx_power_offset
[idx
];
15215 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15216 pi
->tx_power_offset
[idx
];
15217 pi
->adj_pwr_tbl_nphy
[4 + 4 * (idx2
++) + i
] =
15218 pi
->tx_power_offset
[idx
];
15222 void wlc_phy_cal_init_nphy(phy_info_t
*pi
)
15226 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t
*pi
, u8 core
)
15228 if (core
== PHY_CORE_0
) {
15229 write_phy_reg(pi
, 0x38, 0x4);
15230 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15231 write_phy_reg(pi
, 0x37, 0x0060);
15233 write_phy_reg(pi
, 0x37, 0x1080);
15235 } else if (core
== PHY_CORE_1
) {
15236 write_phy_reg(pi
, 0x2ae, 0x4);
15237 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15238 write_phy_reg(pi
, 0x2ad, 0x0060);
15240 write_phy_reg(pi
, 0x2ad, 0x1080);
15245 static void wlc_phy_war_txchain_upd_nphy(phy_info_t
*pi
, u8 txchain
)
15247 u8 txchain0
, txchain1
;
15249 txchain0
= txchain
& 0x1;
15250 txchain1
= (txchain
& 0x2) >> 1;
15252 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
15256 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
15260 static void wlc_phy_workarounds_nphy(phy_info_t
*pi
)
15262 u8 rfseq_rx2tx_events
[] = {
15263 NPHY_RFSEQ_CMD_NOP
,
15264 NPHY_RFSEQ_CMD_RXG_FBW
,
15265 NPHY_RFSEQ_CMD_TR_SWITCH
,
15266 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
15267 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15268 NPHY_RFSEQ_CMD_TX_GAIN
,
15269 NPHY_RFSEQ_CMD_EXT_PA
15271 u8 rfseq_rx2tx_dlys
[] = { 8, 6, 6, 2, 4, 60, 1 };
15272 u8 rfseq_tx2rx_events
[] = {
15273 NPHY_RFSEQ_CMD_NOP
,
15274 NPHY_RFSEQ_CMD_EXT_PA
,
15275 NPHY_RFSEQ_CMD_TX_GAIN
,
15276 NPHY_RFSEQ_CMD_RXPD_TXPD
,
15277 NPHY_RFSEQ_CMD_TR_SWITCH
,
15278 NPHY_RFSEQ_CMD_RXG_FBW
,
15279 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15281 u8 rfseq_tx2rx_dlys
[] = { 8, 6, 2, 4, 4, 6, 1 };
15282 u8 rfseq_tx2rx_events_rev3
[] = {
15283 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15284 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15285 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15286 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15287 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15288 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15289 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15290 NPHY_REV3_RFSEQ_CMD_END
15292 u8 rfseq_tx2rx_dlys_rev3
[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15293 u8 rfseq_rx2tx_events_rev3
[] = {
15294 NPHY_REV3_RFSEQ_CMD_NOP
,
15295 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15296 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15297 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15298 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15299 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15300 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15301 NPHY_REV3_RFSEQ_CMD_EXT_PA
,
15302 NPHY_REV3_RFSEQ_CMD_END
15304 u8 rfseq_rx2tx_dlys_rev3
[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15306 u8 rfseq_rx2tx_events_rev3_ipa
[] = {
15307 NPHY_REV3_RFSEQ_CMD_NOP
,
15308 NPHY_REV3_RFSEQ_CMD_RXG_FBW
,
15309 NPHY_REV3_RFSEQ_CMD_TR_SWITCH
,
15310 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS
,
15311 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD
,
15312 NPHY_REV3_RFSEQ_CMD_TX_GAIN
,
15313 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS
,
15314 NPHY_REV3_RFSEQ_CMD_INT_PA_PU
,
15315 NPHY_REV3_RFSEQ_CMD_END
15317 u8 rfseq_rx2tx_dlys_rev3_ipa
[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15318 u16 rfseq_rx2tx_dacbufpu_rev7
[] = { 0x10f, 0x10f };
15320 s16 alpha0
, alpha1
, alpha2
;
15321 s16 beta0
, beta1
, beta2
;
15322 u32 leg_data_weights
, ht_data_weights
, nss1_data_weights
,
15324 u8 chan_freq_range
= 0;
15325 u16 dac_control
= 0x0002;
15326 u16 aux_adc_vmid_rev7_core0
[] = { 0x8e, 0x96, 0x96, 0x96 };
15327 u16 aux_adc_vmid_rev7_core1
[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15328 u16 aux_adc_vmid_rev4
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15329 u16 aux_adc_vmid_rev3
[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15331 u16 aux_adc_gain_rev7
[] = { 0x02, 0x02, 0x02, 0x02 };
15332 u16 aux_adc_gain_rev4
[] = { 0x02, 0x02, 0x02, 0x00 };
15333 u16 aux_adc_gain_rev3
[] = { 0x02, 0x02, 0x02, 0x00 };
15335 u16 sk_adc_vmid
[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15336 u16 sk_adc_gain
[] = { 0x02, 0x02, 0x02, 0x02 };
15337 s32 min_nvar_val
= 0x18d;
15338 s32 min_nvar_offset_6mbps
= 20;
15342 u16 afectrl_adc_ctrl1_rev7
= 0x20;
15343 u16 afectrl_adc_ctrl2_rev7
= 0x0;
15344 u16 rfseq_rx2tx_lpf_h_hpc_rev7
= 0x77;
15345 u16 rfseq_tx2rx_lpf_h_hpc_rev7
= 0x77;
15346 u16 rfseq_pktgn_lpf_h_hpc_rev7
= 0x77;
15347 u16 rfseq_htpktgn_lpf_hpc_rev7
[] = { 0x77, 0x11, 0x11 };
15348 u16 rfseq_pktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15349 u16 rfseq_cckpktgn_lpf_hpc_rev7
[] = { 0x11, 0x11 };
15350 u16 ipalvlshift_3p3_war_en
= 0;
15351 u16 rccal_bcap_val
, rccal_scap_val
;
15352 u16 rccal_tx20_11b_bcap
= 0;
15353 u16 rccal_tx20_11b_scap
= 0;
15354 u16 rccal_tx20_11n_bcap
= 0;
15355 u16 rccal_tx20_11n_scap
= 0;
15356 u16 rccal_tx40_11n_bcap
= 0;
15357 u16 rccal_tx40_11n_scap
= 0;
15358 u16 rx2tx_lpf_rc_lut_tx20_11b
= 0;
15359 u16 rx2tx_lpf_rc_lut_tx20_11n
= 0;
15360 u16 rx2tx_lpf_rc_lut_tx40_11n
= 0;
15361 u16 tx_lpf_bw_ofdm_20mhz
= 0;
15362 u16 tx_lpf_bw_ofdm_40mhz
= 0;
15363 u16 tx_lpf_bw_11b
= 0;
15364 u16 ipa2g_mainbias
, ipa2g_casconv
, ipa2g_biasfilt
;
15365 u16 txgm_idac_bleed
= 0;
15366 bool rccal_ovrd
= false;
15370 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
15371 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 0);
15373 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_cck_en
, 1);
15376 if (pi
->phyhang_avoid
)
15377 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
15379 if (!ISSIM_ENAB(pi
->sh
->sih
)) {
15380 or_phy_reg(pi
, 0xb1, NPHY_IQFlip_ADC1
| NPHY_IQFlip_ADC2
);
15383 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
15385 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
15386 mod_phy_reg(pi
, 0x221, (0x1 << 4), (1 << 4));
15388 mod_phy_reg(pi
, 0x160, (0x7f << 0), (32 << 0));
15389 mod_phy_reg(pi
, 0x160, (0x7f << 8), (39 << 8));
15390 mod_phy_reg(pi
, 0x161, (0x7f << 0), (46 << 0));
15391 mod_phy_reg(pi
, 0x161, (0x7f << 8), (51 << 8));
15392 mod_phy_reg(pi
, 0x162, (0x7f << 0), (55 << 0));
15393 mod_phy_reg(pi
, 0x162, (0x7f << 8), (58 << 8));
15394 mod_phy_reg(pi
, 0x163, (0x7f << 0), (60 << 0));
15395 mod_phy_reg(pi
, 0x163, (0x7f << 8), (62 << 8));
15396 mod_phy_reg(pi
, 0x164, (0x7f << 0), (62 << 0));
15397 mod_phy_reg(pi
, 0x164, (0x7f << 8), (63 << 8));
15398 mod_phy_reg(pi
, 0x165, (0x7f << 0), (63 << 0));
15399 mod_phy_reg(pi
, 0x165, (0x7f << 8), (64 << 8));
15400 mod_phy_reg(pi
, 0x166, (0x7f << 0), (64 << 0));
15401 mod_phy_reg(pi
, 0x166, (0x7f << 8), (64 << 8));
15402 mod_phy_reg(pi
, 0x167, (0x7f << 0), (64 << 0));
15403 mod_phy_reg(pi
, 0x167, (0x7f << 8), (64 << 8));
15406 if (NREV_LE(pi
->pubpi
.phy_rev
, 8)) {
15407 write_phy_reg(pi
, 0x23f, 0x1b0);
15408 write_phy_reg(pi
, 0x240, 0x1b0);
15411 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
15412 mod_phy_reg(pi
, 0xbd, (0xff << 0), (114 << 0));
15415 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15417 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
15420 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15421 1, 0, 32, &leg_data_weights
);
15422 leg_data_weights
= leg_data_weights
& 0xffffff;
15423 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15424 1, 0, 32, &leg_data_weights
);
15426 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15428 rfseq_rx2tx_dacbufpu_rev7
);
15429 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x16e, 16,
15430 rfseq_rx2tx_dacbufpu_rev7
);
15433 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15434 rfseq_rx2tx_events_rev3_ipa
,
15435 rfseq_rx2tx_dlys_rev3_ipa
,
15437 (rfseq_rx2tx_events_rev3_ipa
) /
15439 (rfseq_rx2tx_events_rev3_ipa
15443 mod_phy_reg(pi
, 0x299, (0x3 << 14), (0x1 << 14));
15444 mod_phy_reg(pi
, 0x29d, (0x3 << 14), (0x1 << 14));
15446 tx_lpf_bw_ofdm_20mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x154);
15447 tx_lpf_bw_ofdm_40mhz
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x159);
15448 tx_lpf_bw_11b
= wlc_phy_read_lpf_bw_ctl_nphy(pi
, 0x152);
15452 if (((pi
->pubpi
.radiorev
== 5)
15453 && (CHSPEC_IS40(pi
->radio_chanspec
) == 1))
15454 || (pi
->pubpi
.radiorev
== 7)
15455 || (pi
->pubpi
.radiorev
== 8)) {
15459 RADIO_2057_RCCAL_BCAP_VAL
);
15462 RADIO_2057_RCCAL_SCAP_VAL
);
15464 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15465 rccal_tx20_11b_scap
= rccal_scap_val
;
15467 if ((pi
->pubpi
.radiorev
== 5) &&
15468 (CHSPEC_IS40(pi
->radio_chanspec
) == 1)) {
15470 rccal_tx20_11n_bcap
= rccal_bcap_val
;
15471 rccal_tx20_11n_scap
= rccal_scap_val
;
15472 rccal_tx40_11n_bcap
= 0xc;
15473 rccal_tx40_11n_scap
= 0xc;
15477 } else if ((pi
->pubpi
.radiorev
== 7)
15478 || (pi
->pubpi
.radiorev
== 8)) {
15480 tx_lpf_bw_ofdm_20mhz
= 4;
15483 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15484 rccal_tx20_11n_bcap
= 0xc;
15485 rccal_tx20_11n_scap
= 0xc;
15486 rccal_tx40_11n_bcap
= 0xa;
15487 rccal_tx40_11n_scap
= 0xa;
15489 rccal_tx20_11n_bcap
= 0x14;
15490 rccal_tx20_11n_scap
= 0x14;
15491 rccal_tx40_11n_bcap
= 0xf;
15492 rccal_tx40_11n_scap
= 0xf;
15501 if (pi
->pubpi
.radiorev
== 5) {
15503 tx_lpf_bw_ofdm_20mhz
= 1;
15504 tx_lpf_bw_ofdm_40mhz
= 3;
15508 RADIO_2057_RCCAL_BCAP_VAL
);
15511 RADIO_2057_RCCAL_SCAP_VAL
);
15513 rccal_tx20_11b_bcap
= rccal_bcap_val
;
15514 rccal_tx20_11b_scap
= rccal_scap_val
;
15516 rccal_tx20_11n_bcap
= 0x13;
15517 rccal_tx20_11n_scap
= 0x11;
15518 rccal_tx40_11n_bcap
= 0x13;
15519 rccal_tx40_11n_scap
= 0x11;
15527 rx2tx_lpf_rc_lut_tx20_11b
= (rccal_tx20_11b_bcap
<< 8) |
15528 (rccal_tx20_11b_scap
<< 3) | tx_lpf_bw_11b
;
15529 rx2tx_lpf_rc_lut_tx20_11n
= (rccal_tx20_11n_bcap
<< 8) |
15530 (rccal_tx20_11n_scap
<< 3) | tx_lpf_bw_ofdm_20mhz
;
15531 rx2tx_lpf_rc_lut_tx40_11n
= (rccal_tx40_11n_bcap
<< 8) |
15532 (rccal_tx40_11n_scap
<< 3) | tx_lpf_bw_ofdm_40mhz
;
15534 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15535 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15537 0x152 + coreNum
* 0x10,
15539 &rx2tx_lpf_rc_lut_tx20_11b
);
15540 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15542 0x153 + coreNum
* 0x10,
15544 &rx2tx_lpf_rc_lut_tx20_11n
);
15545 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15547 0x154 + coreNum
* 0x10,
15549 &rx2tx_lpf_rc_lut_tx20_11n
);
15550 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15552 0x155 + coreNum
* 0x10,
15554 &rx2tx_lpf_rc_lut_tx40_11n
);
15555 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15557 0x156 + coreNum
* 0x10,
15559 &rx2tx_lpf_rc_lut_tx40_11n
);
15560 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15562 0x157 + coreNum
* 0x10,
15564 &rx2tx_lpf_rc_lut_tx40_11n
);
15565 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15567 0x158 + coreNum
* 0x10,
15569 &rx2tx_lpf_rc_lut_tx40_11n
);
15570 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
15572 0x159 + coreNum
* 0x10,
15574 &rx2tx_lpf_rc_lut_tx40_11n
);
15577 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
15579 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
15582 if (!NORADIO_ENAB(pi
->pubpi
)) {
15583 write_phy_reg(pi
, 0x32f, 0x3);
15586 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
15587 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
15589 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
15592 if ((pi
->pubpi
.radiorev
== 3) || (pi
->pubpi
.radiorev
== 4) ||
15593 (pi
->pubpi
.radiorev
== 6)) {
15594 if ((pi
->sh
->sromrev
>= 8)
15595 && (pi
->sh
->boardflags2
& BFL2_IPALVLSHIFT_3P3
))
15596 ipalvlshift_3p3_war_en
= 1;
15598 if (ipalvlshift_3p3_war_en
) {
15599 write_radio_reg(pi
, RADIO_2057_GPAIO_CONFIG
,
15601 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL1
,
15603 write_radio_reg(pi
, RADIO_2057_GPAIO_SEL0
, 0x0);
15605 RADIO_2057_RXTXBIAS_CONFIG_CORE0
,
15608 RADIO_2057_RXTXBIAS_CONFIG_CORE1
,
15611 ipa2g_mainbias
= 0x1f;
15613 ipa2g_casconv
= 0x6f;
15615 ipa2g_biasfilt
= 0xaa;
15618 ipa2g_mainbias
= 0x2b;
15620 ipa2g_casconv
= 0x7f;
15622 ipa2g_biasfilt
= 0xee;
15625 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15626 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15627 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15628 coreNum
, IPA2G_IMAIN
,
15630 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15631 coreNum
, IPA2G_CASCONV
,
15633 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15642 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15643 if ((pi
->pubpi
.radiorev
== 3)
15644 || (pi
->pubpi
.radiorev
== 4)
15645 || (pi
->pubpi
.radiorev
== 6)) {
15647 txgm_idac_bleed
= 0x7f;
15650 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15651 if (txgm_idac_bleed
!= 0)
15652 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15658 if (pi
->pubpi
.radiorev
== 5) {
15660 for (coreNum
= 0; coreNum
<= 1;
15662 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15666 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15670 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15674 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15678 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15680 PAD_BIAS_FILTER_BWS
,
15684 } else if ((pi
->pubpi
.radiorev
== 7)
15685 || (pi
->pubpi
.radiorev
== 8)) {
15687 if (CHSPEC_IS40(pi
->radio_chanspec
) ==
15689 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15693 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15698 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15702 WRITE_RADIO_REG4(pi
, RADIO_2057
,
15711 CHAN5G_FREQ(CHSPEC_CHANNEL
15712 (pi
->radio_chanspec
));
15713 if (((freq
>= 5180) && (freq
<= 5230))
15714 || ((freq
>= 5745) && (freq
<= 5805))) {
15715 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15716 0, IPA5G_BIAS_FILTER
,
15718 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15719 1, IPA5G_BIAS_FILTER
,
15725 if (pi
->pubpi
.radiorev
!= 5) {
15726 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15727 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15729 TXMIX2G_TUNE_BOOST_PU
,
15731 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
,
15733 TXGM_IDAC_BLEED
, 0x70);
15738 if (pi
->pubpi
.radiorev
== 4) {
15739 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15741 &afectrl_adc_ctrl1_rev7
);
15742 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15744 &afectrl_adc_ctrl1_rev7
);
15746 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
15747 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15748 AFE_VCM_CAL_MASTER
, 0x0);
15749 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15750 AFE_SET_VCM_I
, 0x3f);
15751 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
15752 AFE_SET_VCM_Q
, 0x3f);
15755 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
15756 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
15757 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
15758 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
15760 mod_phy_reg(pi
, 0xa6, (0x1 << 0), 0);
15761 mod_phy_reg(pi
, 0x8f, (0x1 << 0), (0x1 << 0));
15762 mod_phy_reg(pi
, 0xa7, (0x1 << 0), 0);
15763 mod_phy_reg(pi
, 0xa5, (0x1 << 0), (0x1 << 0));
15765 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15767 &afectrl_adc_ctrl2_rev7
);
15768 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1,
15770 &afectrl_adc_ctrl2_rev7
);
15772 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
15773 mod_phy_reg(pi
, 0x8f, (0x1 << 2), 0);
15774 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
15775 mod_phy_reg(pi
, 0xa5, (0x1 << 2), 0);
15778 write_phy_reg(pi
, 0x6a, 0x2);
15780 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 256, 32,
15781 &min_nvar_offset_6mbps
);
15783 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x138, 16,
15784 &rfseq_pktgn_lpf_hpc_rev7
);
15786 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x141, 16,
15787 &rfseq_pktgn_lpf_h_hpc_rev7
);
15789 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 3, 0x133, 16,
15790 &rfseq_htpktgn_lpf_hpc_rev7
);
15792 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x146, 16,
15793 &rfseq_cckpktgn_lpf_hpc_rev7
);
15795 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x123, 16,
15796 &rfseq_tx2rx_lpf_h_hpc_rev7
);
15798 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1, 0x12A, 16,
15799 &rfseq_rx2tx_lpf_h_hpc_rev7
);
15801 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15802 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15803 32, &min_nvar_val
);
15804 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15805 127, 32, &min_nvar_val
);
15807 min_nvar_val
= noise_var_tbl_rev7
[3];
15808 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15809 32, &min_nvar_val
);
15811 min_nvar_val
= noise_var_tbl_rev7
[127];
15812 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15813 127, 32, &min_nvar_val
);
15816 wlc_phy_workarounds_nphy_gainctrl(pi
);
15819 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
15820 pdetrange
: pi
->srom_fem2g
.pdetrange
;
15822 if (pdetrange
== 0) {
15824 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
15825 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15826 aux_adc_vmid_rev7_core0
[3] = 0x70;
15827 aux_adc_vmid_rev7_core1
[3] = 0x70;
15828 aux_adc_gain_rev7
[3] = 2;
15830 aux_adc_vmid_rev7_core0
[3] = 0x80;
15831 aux_adc_vmid_rev7_core1
[3] = 0x80;
15832 aux_adc_gain_rev7
[3] = 3;
15834 } else if (pdetrange
== 1) {
15835 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15836 aux_adc_vmid_rev7_core0
[3] = 0x7c;
15837 aux_adc_vmid_rev7_core1
[3] = 0x7c;
15838 aux_adc_gain_rev7
[3] = 2;
15840 aux_adc_vmid_rev7_core0
[3] = 0x8c;
15841 aux_adc_vmid_rev7_core1
[3] = 0x8c;
15842 aux_adc_gain_rev7
[3] = 1;
15844 } else if (pdetrange
== 2) {
15845 if (pi
->pubpi
.radioid
== BCM2057_ID
) {
15846 if ((pi
->pubpi
.radiorev
== 5)
15847 || (pi
->pubpi
.radiorev
== 7)
15848 || (pi
->pubpi
.radiorev
== 8)) {
15849 if (chan_freq_range
==
15850 WL_CHAN_FREQ_RANGE_2G
) {
15851 aux_adc_vmid_rev7_core0
[3] =
15853 aux_adc_vmid_rev7_core1
[3] =
15855 aux_adc_gain_rev7
[3] = 0;
15857 aux_adc_vmid_rev7_core0
[3] =
15859 aux_adc_vmid_rev7_core1
[3] =
15861 aux_adc_gain_rev7
[3] = 0;
15866 } else if (pdetrange
== 3) {
15867 if (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
) {
15868 aux_adc_vmid_rev7_core0
[3] = 0x89;
15869 aux_adc_vmid_rev7_core1
[3] = 0x89;
15870 aux_adc_gain_rev7
[3] = 0;
15873 } else if (pdetrange
== 5) {
15875 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
15876 aux_adc_vmid_rev7_core0
[3] = 0x80;
15877 aux_adc_vmid_rev7_core1
[3] = 0x80;
15878 aux_adc_gain_rev7
[3] = 3;
15880 aux_adc_vmid_rev7_core0
[3] = 0x70;
15881 aux_adc_vmid_rev7_core1
[3] = 0x70;
15882 aux_adc_gain_rev7
[3] = 2;
15886 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x08, 16,
15887 &aux_adc_vmid_rev7_core0
);
15888 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x18, 16,
15889 &aux_adc_vmid_rev7_core1
);
15890 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x0c, 16,
15891 &aux_adc_gain_rev7
);
15892 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4, 0x1c, 16,
15893 &aux_adc_gain_rev7
);
15895 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
15897 write_phy_reg(pi
, 0x23f, 0x1f8);
15898 write_phy_reg(pi
, 0x240, 0x1f8);
15900 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15901 1, 0, 32, &leg_data_weights
);
15902 leg_data_weights
= leg_data_weights
& 0xffffff;
15903 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
15904 1, 0, 32, &leg_data_weights
);
15912 write_phy_reg(pi
, 0x145, alpha0
);
15913 write_phy_reg(pi
, 0x146, alpha1
);
15914 write_phy_reg(pi
, 0x147, alpha2
);
15915 write_phy_reg(pi
, 0x148, beta0
);
15916 write_phy_reg(pi
, 0x149, beta1
);
15917 write_phy_reg(pi
, 0x14a, beta2
);
15919 write_phy_reg(pi
, 0x38, 0xC);
15920 write_phy_reg(pi
, 0x2ae, 0xC);
15922 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
,
15923 rfseq_tx2rx_events_rev3
,
15924 rfseq_tx2rx_dlys_rev3
,
15925 sizeof(rfseq_tx2rx_events_rev3
) /
15926 sizeof(rfseq_tx2rx_events_rev3
[0]));
15929 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15930 rfseq_rx2tx_events_rev3_ipa
,
15931 rfseq_rx2tx_dlys_rev3_ipa
,
15933 (rfseq_rx2tx_events_rev3_ipa
) /
15935 (rfseq_rx2tx_events_rev3_ipa
15939 if ((pi
->sh
->hw_phyrxchain
!= 0x3) &&
15940 (pi
->sh
->hw_phyrxchain
!= pi
->sh
->hw_phytxchain
)) {
15943 rfseq_rx2tx_dlys_rev3
[5] = 59;
15944 rfseq_rx2tx_dlys_rev3
[6] = 1;
15945 rfseq_rx2tx_events_rev3
[7] =
15946 NPHY_REV3_RFSEQ_CMD_END
;
15949 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
,
15950 rfseq_rx2tx_events_rev3
,
15951 rfseq_rx2tx_dlys_rev3
,
15952 sizeof(rfseq_rx2tx_events_rev3
) /
15953 sizeof(rfseq_rx2tx_events_rev3
15957 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
15958 write_phy_reg(pi
, 0x6a, 0x2);
15960 write_phy_reg(pi
, 0x6a, 0x9c40);
15963 mod_phy_reg(pi
, 0x294, (0xf << 8), (7 << 8));
15965 if (CHSPEC_IS40(pi
->radio_chanspec
) == 0) {
15966 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15967 32, &min_nvar_val
);
15968 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15969 127, 32, &min_nvar_val
);
15971 min_nvar_val
= noise_var_tbl_rev3
[3];
15972 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1, 3,
15973 32, &min_nvar_val
);
15975 min_nvar_val
= noise_var_tbl_rev3
[127];
15976 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
15977 127, 32, &min_nvar_val
);
15980 wlc_phy_workarounds_nphy_gainctrl(pi
);
15982 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x00, 16,
15984 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x10, 16,
15988 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
15989 pdetrange
: pi
->srom_fem2g
.pdetrange
;
15991 if (pdetrange
== 0) {
15992 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
15993 aux_adc_vmid
= aux_adc_vmid_rev4
;
15994 aux_adc_gain
= aux_adc_gain_rev4
;
15996 aux_adc_vmid
= aux_adc_vmid_rev3
;
15997 aux_adc_gain
= aux_adc_gain_rev3
;
16000 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16001 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16002 switch (chan_freq_range
) {
16003 case WL_CHAN_FREQ_RANGE_5GL
:
16004 aux_adc_vmid
[3] = 0x89;
16005 aux_adc_gain
[3] = 0;
16007 case WL_CHAN_FREQ_RANGE_5GM
:
16008 aux_adc_vmid
[3] = 0x89;
16009 aux_adc_gain
[3] = 0;
16011 case WL_CHAN_FREQ_RANGE_5GH
:
16012 aux_adc_vmid
[3] = 0x89;
16013 aux_adc_gain
[3] = 0;
16019 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16020 0x08, 16, aux_adc_vmid
);
16021 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16022 0x18, 16, aux_adc_vmid
);
16023 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16024 0x0c, 16, aux_adc_gain
);
16025 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16026 0x1c, 16, aux_adc_gain
);
16027 } else if (pdetrange
== 1) {
16028 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16029 0x08, 16, sk_adc_vmid
);
16030 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16031 0x18, 16, sk_adc_vmid
);
16032 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16033 0x0c, 16, sk_adc_gain
);
16034 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16035 0x1c, 16, sk_adc_gain
);
16036 } else if (pdetrange
== 2) {
16038 u16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16039 u16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x04 };
16041 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16043 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16044 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16045 bcm_adc_vmid
[3] = 0x8e;
16046 bcm_adc_gain
[3] = 0x03;
16048 bcm_adc_vmid
[3] = 0x94;
16049 bcm_adc_gain
[3] = 0x03;
16051 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16052 bcm_adc_vmid
[3] = 0x84;
16053 bcm_adc_gain
[3] = 0x02;
16056 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16057 0x08, 16, bcm_adc_vmid
);
16058 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16059 0x18, 16, bcm_adc_vmid
);
16060 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16061 0x0c, 16, bcm_adc_gain
);
16062 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16063 0x1c, 16, bcm_adc_gain
);
16064 } else if (pdetrange
== 3) {
16066 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16067 if ((NREV_GE(pi
->pubpi
.phy_rev
, 4))
16068 && (chan_freq_range
== WL_CHAN_FREQ_RANGE_2G
)) {
16070 u16 auxadc_vmid
[] = {
16071 0xa2, 0xb4, 0xb4, 0x270 };
16072 u16 auxadc_gain
[] = {
16073 0x02, 0x02, 0x02, 0x00 };
16075 wlc_phy_table_write_nphy(pi
,
16076 NPHY_TBL_ID_AFECTRL
, 4,
16077 0x08, 16, auxadc_vmid
);
16078 wlc_phy_table_write_nphy(pi
,
16079 NPHY_TBL_ID_AFECTRL
, 4,
16080 0x18, 16, auxadc_vmid
);
16081 wlc_phy_table_write_nphy(pi
,
16082 NPHY_TBL_ID_AFECTRL
, 4,
16083 0x0c, 16, auxadc_gain
);
16084 wlc_phy_table_write_nphy(pi
,
16085 NPHY_TBL_ID_AFECTRL
, 4,
16086 0x1c, 16, auxadc_gain
);
16088 } else if ((pdetrange
== 4) || (pdetrange
== 5)) {
16089 u16 bcm_adc_vmid
[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16090 u16 bcm_adc_gain
[] = { 0x02, 0x02, 0x02, 0x0 };
16091 u16 Vmid
[2], Av
[2];
16094 wlc_phy_get_chan_freq_range_nphy(pi
, 0);
16095 if (chan_freq_range
!= WL_CHAN_FREQ_RANGE_2G
) {
16096 Vmid
[0] = (pdetrange
== 4) ? 0x8e : 0x89;
16097 Vmid
[1] = (pdetrange
== 4) ? 0x96 : 0x89;
16098 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16099 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16101 Vmid
[0] = (pdetrange
== 4) ? 0x89 : 0x74;
16102 Vmid
[1] = (pdetrange
== 4) ? 0x8b : 0x70;
16103 Av
[0] = (pdetrange
== 4) ? 2 : 0;
16104 Av
[1] = (pdetrange
== 4) ? 2 : 0;
16107 bcm_adc_vmid
[3] = Vmid
[0];
16108 bcm_adc_gain
[3] = Av
[0];
16109 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16110 0x08, 16, bcm_adc_vmid
);
16111 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16112 0x0c, 16, bcm_adc_gain
);
16114 bcm_adc_vmid
[3] = Vmid
[1];
16115 bcm_adc_gain
[3] = Av
[1];
16116 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16117 0x18, 16, bcm_adc_vmid
);
16118 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 4,
16119 0x1c, 16, bcm_adc_gain
);
16122 write_radio_reg(pi
,
16123 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX0
),
16125 write_radio_reg(pi
,
16126 (RADIO_2056_RX_MIXA_MAST_BIAS
| RADIO_2056_RX1
),
16129 write_radio_reg(pi
,
16130 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX0
),
16132 write_radio_reg(pi
,
16133 (RADIO_2056_RX_MIXA_BIAS_MAIN
| RADIO_2056_RX1
),
16136 write_radio_reg(pi
,
16137 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX0
),
16139 write_radio_reg(pi
,
16140 (RADIO_2056_RX_MIXA_BIAS_AUX
| RADIO_2056_RX1
),
16143 write_radio_reg(pi
,
16144 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX0
),
16146 write_radio_reg(pi
,
16147 (RADIO_2056_RX_MIXA_LOB_BIAS
| RADIO_2056_RX1
),
16150 write_radio_reg(pi
,
16151 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX0
),
16153 write_radio_reg(pi
,
16154 (RADIO_2056_RX_MIXA_CMFB_IDAC
| RADIO_2056_RX1
),
16157 write_radio_reg(pi
,
16158 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX0
),
16160 write_radio_reg(pi
,
16161 (RADIO_2056_RX_MIXG_CMFB_IDAC
| RADIO_2056_RX1
),
16165 (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.
16166 triso
: pi
->srom_fem2g
.triso
;
16168 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_0
);
16169 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi
, PHY_CORE_1
);
16172 wlc_phy_war_txchain_upd_nphy(pi
, pi
->sh
->hw_phytxchain
);
16174 if (((pi
->sh
->boardflags2
& BFL2_APLL_WAR
) &&
16175 (CHSPEC_IS5G(pi
->radio_chanspec
))) ||
16176 (((pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) ||
16177 (pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
)) &&
16178 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
16179 nss1_data_weights
= 0x00088888;
16180 ht_data_weights
= 0x00088888;
16181 stbc_data_weights
= 0x00088888;
16183 nss1_data_weights
= 0x88888888;
16184 ht_data_weights
= 0x88888888;
16185 stbc_data_weights
= 0x88888888;
16187 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16188 1, 1, 32, &nss1_data_weights
);
16189 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16190 1, 2, 32, &ht_data_weights
);
16191 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL
,
16192 1, 3, 32, &stbc_data_weights
);
16194 if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16195 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
16196 write_radio_reg(pi
,
16197 RADIO_2056_TX_GMBB_IDAC
|
16198 RADIO_2056_TX0
, 0x70);
16199 write_radio_reg(pi
,
16200 RADIO_2056_TX_GMBB_IDAC
|
16201 RADIO_2056_TX1
, 0x70);
16205 if (!pi
->edcrs_threshold_lock
) {
16206 write_phy_reg(pi
, 0x224, 0x3eb);
16207 write_phy_reg(pi
, 0x225, 0x3eb);
16208 write_phy_reg(pi
, 0x226, 0x341);
16209 write_phy_reg(pi
, 0x227, 0x341);
16210 write_phy_reg(pi
, 0x228, 0x42b);
16211 write_phy_reg(pi
, 0x229, 0x42b);
16212 write_phy_reg(pi
, 0x22a, 0x381);
16213 write_phy_reg(pi
, 0x22b, 0x381);
16214 write_phy_reg(pi
, 0x22c, 0x42b);
16215 write_phy_reg(pi
, 0x22d, 0x42b);
16216 write_phy_reg(pi
, 0x22e, 0x381);
16217 write_phy_reg(pi
, 0x22f, 0x381);
16220 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16222 if (pi
->sh
->boardflags2
& BFL2_SINGLEANT_CCK
) {
16223 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF4
,
16225 MHF4_BPHY_TXCORE0
, WLC_BAND_ALL
);
16230 if (pi
->sh
->boardflags2
& BFL2_SKWRKFEM_BRD
||
16231 (pi
->sh
->boardtype
== 0x8b)) {
16233 u8 war_dlys
[] = { 1, 6, 6, 2, 4, 20, 1 };
16234 for (i
= 0; i
< ARRAY_SIZE(rfseq_rx2tx_dlys
); i
++)
16235 rfseq_rx2tx_dlys
[i
] = war_dlys
[i
];
16238 if (CHSPEC_IS5G(pi
->radio_chanspec
) && pi
->phy_5g_pwrgain
) {
16239 and_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0xf7);
16240 and_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0xf7);
16242 or_radio_reg(pi
, RADIO_2055_CORE1_TX_RF_SPARE
, 0x8);
16243 or_radio_reg(pi
, RADIO_2055_CORE2_TX_RF_SPARE
, 0x8);
16247 wlc_phy_table_write_nphy(pi
, 8, 1, 0, 16, ®val
);
16248 wlc_phy_table_write_nphy(pi
, 8, 1, 0x10, 16, ®val
);
16250 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16252 wlc_phy_table_write_nphy(pi
, 8, 1, 0x02, 16, ®val
);
16253 wlc_phy_table_write_nphy(pi
, 8, 1, 0x12, 16, ®val
);
16256 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16258 wlc_phy_table_write_nphy(pi
, 8, 1, 0x08, 16, ®val
);
16259 wlc_phy_table_write_nphy(pi
, 8, 1, 0x18, 16, ®val
);
16262 wlc_phy_table_write_nphy(pi
, 8, 1, 0x07, 16, ®val
);
16263 wlc_phy_table_write_nphy(pi
, 8, 1, 0x17, 16, ®val
);
16266 wlc_phy_table_write_nphy(pi
, 8, 1, 0x06, 16, ®val
);
16267 wlc_phy_table_write_nphy(pi
, 8, 1, 0x16, 16, ®val
);
16270 write_phy_reg(pi
, 0xf8, 0x02d8);
16271 write_phy_reg(pi
, 0xf9, 0x0301);
16272 write_phy_reg(pi
, 0xfa, 0x02d8);
16273 write_phy_reg(pi
, 0xfb, 0x0301);
16275 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
, rfseq_rx2tx_events
,
16277 sizeof(rfseq_rx2tx_events
) /
16278 sizeof(rfseq_rx2tx_events
[0]));
16280 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_TX2RX
, rfseq_tx2rx_events
,
16282 sizeof(rfseq_tx2rx_events
) /
16283 sizeof(rfseq_tx2rx_events
[0]));
16285 wlc_phy_workarounds_nphy_gainctrl(pi
);
16287 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
16289 if (read_phy_reg(pi
, 0xa0) & NPHY_MLenable
)
16290 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF3
,
16291 MHF3_NPHY_MLADV_WAR
,
16292 MHF3_NPHY_MLADV_WAR
,
16295 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16296 write_phy_reg(pi
, 0x1e3, 0x0);
16297 write_phy_reg(pi
, 0x1e4, 0x0);
16300 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
16301 mod_phy_reg(pi
, 0x90, (0x1 << 7), 0);
16309 write_phy_reg(pi
, 0x145, alpha0
);
16310 write_phy_reg(pi
, 0x146, alpha1
);
16311 write_phy_reg(pi
, 0x147, alpha2
);
16312 write_phy_reg(pi
, 0x148, beta0
);
16313 write_phy_reg(pi
, 0x149, beta1
);
16314 write_phy_reg(pi
, 0x14a, beta2
);
16316 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
16317 mod_phy_reg(pi
, 0x142, (0xf << 12), 0);
16319 write_phy_reg(pi
, 0x192, 0xb5);
16320 write_phy_reg(pi
, 0x193, 0xa4);
16321 write_phy_reg(pi
, 0x194, 0x0);
16324 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16325 mod_phy_reg(pi
, 0x221,
16326 NPHY_FORCESIG_DECODEGATEDCLKS
,
16327 NPHY_FORCESIG_DECODEGATEDCLKS
);
16331 if (pi
->phyhang_avoid
)
16332 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
16335 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t
*pi
)
16337 u16 w1th
, hpf_code
, currband
;
16339 u8 rfseq_updategainu_events
[] = {
16340 NPHY_RFSEQ_CMD_RX_GAIN
,
16341 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
,
16342 NPHY_RFSEQ_CMD_SET_HPF_BW
16344 u8 rfseq_updategainu_dlys
[] = { 10, 30, 1 };
16345 s8 lna1G_gain_db
[] = { 7, 11, 16, 23 };
16346 s8 lna1G_gain_db_rev4
[] = { 8, 12, 17, 25 };
16347 s8 lna1G_gain_db_rev5
[] = { 9, 13, 18, 26 };
16348 s8 lna1G_gain_db_rev6
[] = { 8, 13, 18, 25 };
16349 s8 lna1G_gain_db_rev6_224B0
[] = { 10, 14, 19, 27 };
16350 s8 lna1A_gain_db
[] = { 7, 11, 17, 23 };
16351 s8 lna1A_gain_db_rev4
[] = { 8, 12, 18, 23 };
16352 s8 lna1A_gain_db_rev5
[] = { 6, 10, 16, 21 };
16353 s8 lna1A_gain_db_rev6
[] = { 6, 10, 16, 21 };
16354 s8
*lna1_gain_db
= NULL
;
16355 s8 lna2G_gain_db
[] = { -5, 6, 10, 14 };
16356 s8 lna2G_gain_db_rev5
[] = { -3, 7, 11, 16 };
16357 s8 lna2G_gain_db_rev6
[] = { -5, 6, 10, 14 };
16358 s8 lna2G_gain_db_rev6_224B0
[] = { -5, 6, 10, 15 };
16359 s8 lna2A_gain_db
[] = { -6, 2, 6, 10 };
16360 s8 lna2A_gain_db_rev4
[] = { -5, 2, 6, 10 };
16361 s8 lna2A_gain_db_rev5
[] = { -7, 0, 4, 8 };
16362 s8 lna2A_gain_db_rev6
[] = { -7, 0, 4, 8 };
16363 s8
*lna2_gain_db
= NULL
;
16364 s8 tiaG_gain_db
[] = {
16365 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16366 s8 tiaA_gain_db
[] = {
16367 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16368 s8 tiaA_gain_db_rev4
[] = {
16369 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16370 s8 tiaA_gain_db_rev5
[] = {
16371 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16372 s8 tiaA_gain_db_rev6
[] = {
16373 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16375 s8 tiaG_gainbits
[] = {
16376 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16377 s8 tiaA_gainbits
[] = {
16378 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16379 s8 tiaA_gainbits_rev4
[] = {
16380 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16381 s8 tiaA_gainbits_rev5
[] = {
16382 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16383 s8 tiaA_gainbits_rev6
[] = {
16384 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16386 s8 lpf_gain_db
[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16387 s8 lpf_gainbits
[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16388 u16 rfseqG_init_gain
[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16389 u16 rfseqG_init_gain_rev4
[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16390 u16 rfseqG_init_gain_rev5
[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16391 u16 rfseqG_init_gain_rev5_elna
[] = {
16392 0x013f, 0x013f, 0x013f, 0x013f };
16393 u16 rfseqG_init_gain_rev6
[] = { 0x513f, 0x513f };
16394 u16 rfseqG_init_gain_rev6_224B0
[] = { 0x413f, 0x413f };
16395 u16 rfseqG_init_gain_rev6_elna
[] = { 0x113f, 0x113f };
16396 u16 rfseqA_init_gain
[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16397 u16 rfseqA_init_gain_rev4
[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16398 u16 rfseqA_init_gain_rev4_elna
[] = {
16399 0x314f, 0x314f, 0x314f, 0x314f };
16400 u16 rfseqA_init_gain_rev5
[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16401 u16 rfseqA_init_gain_rev6
[] = { 0x714f, 0x714f };
16402 u16
*rfseq_init_gain
;
16403 u16 initG_gaincode
= 0x627e;
16404 u16 initG_gaincode_rev4
= 0x527e;
16405 u16 initG_gaincode_rev5
= 0x427e;
16406 u16 initG_gaincode_rev5_elna
= 0x027e;
16407 u16 initG_gaincode_rev6
= 0x527e;
16408 u16 initG_gaincode_rev6_224B0
= 0x427e;
16409 u16 initG_gaincode_rev6_elna
= 0x127e;
16410 u16 initA_gaincode
= 0x52de;
16411 u16 initA_gaincode_rev4
= 0x629e;
16412 u16 initA_gaincode_rev4_elna
= 0x329e;
16413 u16 initA_gaincode_rev5
= 0x729e;
16414 u16 initA_gaincode_rev6
= 0x729e;
16416 u16 clip1hiG_gaincode
= 0x107e;
16417 u16 clip1hiG_gaincode_rev4
= 0x007e;
16418 u16 clip1hiG_gaincode_rev5
= 0x1076;
16419 u16 clip1hiG_gaincode_rev6
= 0x007e;
16420 u16 clip1hiA_gaincode
= 0x00de;
16421 u16 clip1hiA_gaincode_rev4
= 0x029e;
16422 u16 clip1hiA_gaincode_rev5
= 0x029e;
16423 u16 clip1hiA_gaincode_rev6
= 0x029e;
16424 u16 clip1hi_gaincode
;
16425 u16 clip1mdG_gaincode
= 0x0066;
16426 u16 clip1mdA_gaincode
= 0x00ca;
16427 u16 clip1mdA_gaincode_rev4
= 0x1084;
16428 u16 clip1mdA_gaincode_rev5
= 0x2084;
16429 u16 clip1mdA_gaincode_rev6
= 0x2084;
16430 u16 clip1md_gaincode
= 0;
16431 u16 clip1loG_gaincode
= 0x0074;
16432 u16 clip1loG_gaincode_rev5
[] = {
16433 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16435 u16 clip1loG_gaincode_rev6
[] = {
16436 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16438 u16 clip1loG_gaincode_rev6_224B0
= 0x1074;
16439 u16 clip1loA_gaincode
= 0x00cc;
16440 u16 clip1loA_gaincode_rev4
= 0x0086;
16441 u16 clip1loA_gaincode_rev5
= 0x2086;
16442 u16 clip1loA_gaincode_rev6
= 0x2086;
16443 u16 clip1lo_gaincode
;
16444 u8 crsminG_th
= 0x18;
16445 u8 crsminG_th_rev5
= 0x18;
16446 u8 crsminG_th_rev6
= 0x18;
16447 u8 crsminA_th
= 0x1e;
16448 u8 crsminA_th_rev4
= 0x24;
16449 u8 crsminA_th_rev5
= 0x24;
16450 u8 crsminA_th_rev6
= 0x24;
16452 u8 crsminlG_th
= 0x18;
16453 u8 crsminlG_th_rev5
= 0x18;
16454 u8 crsminlG_th_rev6
= 0x18;
16455 u8 crsminlA_th
= 0x1e;
16456 u8 crsminlA_th_rev4
= 0x24;
16457 u8 crsminlA_th_rev5
= 0x24;
16458 u8 crsminlA_th_rev6
= 0x24;
16460 u8 crsminuG_th
= 0x18;
16461 u8 crsminuG_th_rev5
= 0x18;
16462 u8 crsminuG_th_rev6
= 0x18;
16463 u8 crsminuA_th
= 0x1e;
16464 u8 crsminuA_th_rev4
= 0x24;
16465 u8 crsminuA_th_rev5
= 0x24;
16466 u8 crsminuA_th_rev6
= 0x24;
16467 u8 crsminuA_th_rev6_224B0
= 0x2d;
16469 u16 nbclipG_th
= 0x20d;
16470 u16 nbclipG_th_rev4
= 0x1a1;
16471 u16 nbclipG_th_rev5
= 0x1d0;
16472 u16 nbclipG_th_rev6
= 0x1d0;
16473 u16 nbclipA_th
= 0x1a1;
16474 u16 nbclipA_th_rev4
= 0x107;
16475 u16 nbclipA_th_rev5
= 0x0a9;
16476 u16 nbclipA_th_rev6
= 0x0f0;
16479 u8 w1clipG_th_rev5
= 9;
16480 u8 w1clipG_th_rev6
= 5;
16481 u8 w1clipA_th
= 25, w1clip_th
;
16482 u8 rssi_gain_default
= 0x50;
16483 u8 rssiG_gain_rev6_224B0
= 0x50;
16484 u8 rssiA_gain_rev5
= 0x90;
16485 u8 rssiA_gain_rev6
= 0x90;
16490 triso
= (CHSPEC_IS5G(pi
->radio_chanspec
)) ? pi
->srom_fem5g
.triso
:
16491 pi
->srom_fem2g
.triso
;
16493 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
16494 if (pi
->pubpi
.radiorev
== 5) {
16496 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi
);
16497 } else if (pi
->pubpi
.radiorev
== 7) {
16498 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16500 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x44 << 0));
16501 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x44 << 0));
16503 } else if ((pi
->pubpi
.radiorev
== 3)
16504 || (pi
->pubpi
.radiorev
== 8)) {
16505 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16507 if (pi
->pubpi
.radiorev
== 8) {
16508 mod_phy_reg(pi
, 0x283,
16509 (0xff << 0), (0x44 << 0));
16510 mod_phy_reg(pi
, 0x280,
16511 (0xff << 0), (0x44 << 0));
16514 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi
);
16516 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
16518 mod_phy_reg(pi
, 0xa0, (0x1 << 6), (1 << 6));
16520 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16521 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16524 read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
16525 if (currband
== 0) {
16526 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16527 if (pi
->pubpi
.radiorev
== 11) {
16528 lna1_gain_db
= lna1G_gain_db_rev6_224B0
;
16529 lna2_gain_db
= lna2G_gain_db_rev6_224B0
;
16531 rfseqG_init_gain_rev6_224B0
;
16533 initG_gaincode_rev6_224B0
;
16535 clip1hiG_gaincode_rev6
;
16537 clip1loG_gaincode_rev6_224B0
;
16538 nbclip_th
= nbclipG_th_rev6
;
16539 w1clip_th
= w1clipG_th_rev6
;
16540 crsmin_th
= crsminG_th_rev6
;
16541 crsminl_th
= crsminlG_th_rev6
;
16542 crsminu_th
= crsminuG_th_rev6
;
16543 rssi_gain
= rssiG_gain_rev6_224B0
;
16545 lna1_gain_db
= lna1G_gain_db_rev6
;
16546 lna2_gain_db
= lna2G_gain_db_rev6
;
16547 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16550 rfseqG_init_gain_rev6_elna
;
16552 initG_gaincode_rev6_elna
;
16555 rfseqG_init_gain_rev6
;
16557 initG_gaincode_rev6
;
16560 clip1hiG_gaincode_rev6
;
16564 clip1loG_gaincode_rev6
[0];
16568 clip1loG_gaincode_rev6
[1];
16572 clip1loG_gaincode_rev6
[2];
16578 clip1loG_gaincode_rev6
[3];
16582 clip1loG_gaincode_rev6
[4];
16586 clip1loG_gaincode_rev6
[5];
16590 clip1loG_gaincode_rev6
[6];
16594 clip1loG_gaincode_rev6
[7];
16597 nbclip_th
= nbclipG_th_rev6
;
16598 w1clip_th
= w1clipG_th_rev6
;
16599 crsmin_th
= crsminG_th_rev6
;
16600 crsminl_th
= crsminlG_th_rev6
;
16601 crsminu_th
= crsminuG_th_rev6
;
16602 rssi_gain
= rssi_gain_default
;
16604 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16605 lna1_gain_db
= lna1G_gain_db_rev5
;
16606 lna2_gain_db
= lna2G_gain_db_rev5
;
16607 if (pi
->sh
->boardflags
& BFL_EXTLNA
) {
16610 rfseqG_init_gain_rev5_elna
;
16612 initG_gaincode_rev5_elna
;
16614 rfseq_init_gain
= rfseqG_init_gain_rev5
;
16615 init_gaincode
= initG_gaincode_rev5
;
16617 clip1hi_gaincode
= clip1hiG_gaincode_rev5
;
16621 clip1loG_gaincode_rev5
[0];
16625 clip1loG_gaincode_rev5
[1];
16629 clip1loG_gaincode_rev5
[2];
16634 clip1loG_gaincode_rev5
[3];
16638 clip1loG_gaincode_rev5
[4];
16642 clip1loG_gaincode_rev5
[5];
16646 clip1loG_gaincode_rev5
[6];
16650 clip1loG_gaincode_rev5
[7];
16654 clip1loG_gaincode_rev5
[3];
16657 nbclip_th
= nbclipG_th_rev5
;
16658 w1clip_th
= w1clipG_th_rev5
;
16659 crsmin_th
= crsminG_th_rev5
;
16660 crsminl_th
= crsminlG_th_rev5
;
16661 crsminu_th
= crsminuG_th_rev5
;
16662 rssi_gain
= rssi_gain_default
;
16663 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16664 lna1_gain_db
= lna1G_gain_db_rev4
;
16665 lna2_gain_db
= lna2G_gain_db
;
16666 rfseq_init_gain
= rfseqG_init_gain_rev4
;
16667 init_gaincode
= initG_gaincode_rev4
;
16668 clip1hi_gaincode
= clip1hiG_gaincode_rev4
;
16669 clip1lo_gaincode
= clip1loG_gaincode
;
16670 nbclip_th
= nbclipG_th_rev4
;
16671 w1clip_th
= w1clipG_th
;
16672 crsmin_th
= crsminG_th
;
16673 crsminl_th
= crsminlG_th
;
16674 crsminu_th
= crsminuG_th
;
16675 rssi_gain
= rssi_gain_default
;
16677 lna1_gain_db
= lna1G_gain_db
;
16678 lna2_gain_db
= lna2G_gain_db
;
16679 rfseq_init_gain
= rfseqG_init_gain
;
16680 init_gaincode
= initG_gaincode
;
16681 clip1hi_gaincode
= clip1hiG_gaincode
;
16682 clip1lo_gaincode
= clip1loG_gaincode
;
16683 nbclip_th
= nbclipG_th
;
16684 w1clip_th
= w1clipG_th
;
16685 crsmin_th
= crsminG_th
;
16686 crsminl_th
= crsminlG_th
;
16687 crsminu_th
= crsminuG_th
;
16688 rssi_gain
= rssi_gain_default
;
16690 tia_gain_db
= tiaG_gain_db
;
16691 tia_gainbits
= tiaG_gainbits
;
16692 clip1md_gaincode
= clip1mdG_gaincode
;
16694 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
16695 lna1_gain_db
= lna1A_gain_db_rev6
;
16696 lna2_gain_db
= lna2A_gain_db_rev6
;
16697 tia_gain_db
= tiaA_gain_db_rev6
;
16698 tia_gainbits
= tiaA_gainbits_rev6
;
16699 rfseq_init_gain
= rfseqA_init_gain_rev6
;
16700 init_gaincode
= initA_gaincode_rev6
;
16701 clip1hi_gaincode
= clip1hiA_gaincode_rev6
;
16702 clip1md_gaincode
= clip1mdA_gaincode_rev6
;
16703 clip1lo_gaincode
= clip1loA_gaincode_rev6
;
16704 crsmin_th
= crsminA_th_rev6
;
16705 crsminl_th
= crsminlA_th_rev6
;
16706 if ((pi
->pubpi
.radiorev
== 11) &&
16707 (CHSPEC_IS40(pi
->radio_chanspec
) == 0)) {
16708 crsminu_th
= crsminuA_th_rev6_224B0
;
16710 crsminu_th
= crsminuA_th_rev6
;
16712 nbclip_th
= nbclipA_th_rev6
;
16713 rssi_gain
= rssiA_gain_rev6
;
16714 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
16715 lna1_gain_db
= lna1A_gain_db_rev5
;
16716 lna2_gain_db
= lna2A_gain_db_rev5
;
16717 tia_gain_db
= tiaA_gain_db_rev5
;
16718 tia_gainbits
= tiaA_gainbits_rev5
;
16719 rfseq_init_gain
= rfseqA_init_gain_rev5
;
16720 init_gaincode
= initA_gaincode_rev5
;
16721 clip1hi_gaincode
= clip1hiA_gaincode_rev5
;
16722 clip1md_gaincode
= clip1mdA_gaincode_rev5
;
16723 clip1lo_gaincode
= clip1loA_gaincode_rev5
;
16724 crsmin_th
= crsminA_th_rev5
;
16725 crsminl_th
= crsminlA_th_rev5
;
16726 crsminu_th
= crsminuA_th_rev5
;
16727 nbclip_th
= nbclipA_th_rev5
;
16728 rssi_gain
= rssiA_gain_rev5
;
16729 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
16730 lna1_gain_db
= lna1A_gain_db_rev4
;
16731 lna2_gain_db
= lna2A_gain_db_rev4
;
16732 tia_gain_db
= tiaA_gain_db_rev4
;
16733 tia_gainbits
= tiaA_gainbits_rev4
;
16734 if (pi
->sh
->boardflags
& BFL_EXTLNA_5GHz
) {
16737 rfseqA_init_gain_rev4_elna
;
16739 initA_gaincode_rev4_elna
;
16741 rfseq_init_gain
= rfseqA_init_gain_rev4
;
16742 init_gaincode
= initA_gaincode_rev4
;
16744 clip1hi_gaincode
= clip1hiA_gaincode_rev4
;
16745 clip1md_gaincode
= clip1mdA_gaincode_rev4
;
16746 clip1lo_gaincode
= clip1loA_gaincode_rev4
;
16747 crsmin_th
= crsminA_th_rev4
;
16748 crsminl_th
= crsminlA_th_rev4
;
16749 crsminu_th
= crsminuA_th_rev4
;
16750 nbclip_th
= nbclipA_th_rev4
;
16751 rssi_gain
= rssi_gain_default
;
16753 lna1_gain_db
= lna1A_gain_db
;
16754 lna2_gain_db
= lna2A_gain_db
;
16755 tia_gain_db
= tiaA_gain_db
;
16756 tia_gainbits
= tiaA_gainbits
;
16757 rfseq_init_gain
= rfseqA_init_gain
;
16758 init_gaincode
= initA_gaincode
;
16759 clip1hi_gaincode
= clip1hiA_gaincode
;
16760 clip1md_gaincode
= clip1mdA_gaincode
;
16761 clip1lo_gaincode
= clip1loA_gaincode
;
16762 crsmin_th
= crsminA_th
;
16763 crsminl_th
= crsminlA_th
;
16764 crsminu_th
= crsminuA_th
;
16765 nbclip_th
= nbclipA_th
;
16766 rssi_gain
= rssi_gain_default
;
16768 w1clip_th
= w1clipA_th
;
16771 write_radio_reg(pi
,
16772 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16773 RADIO_2056_RX0
), 0x17);
16774 write_radio_reg(pi
,
16775 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC
|
16776 RADIO_2056_RX1
), 0x17);
16778 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX0
),
16780 write_radio_reg(pi
, (RADIO_2056_RX_LNAG2_IDAC
| RADIO_2056_RX1
),
16783 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX0
),
16785 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_POLE
| RADIO_2056_RX1
),
16788 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX0
),
16790 write_radio_reg(pi
, (RADIO_2056_RX_RSSI_GAIN
| RADIO_2056_RX1
),
16793 write_radio_reg(pi
,
16794 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16795 RADIO_2056_RX0
), 0x17);
16796 write_radio_reg(pi
,
16797 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC
|
16798 RADIO_2056_RX1
), 0x17);
16800 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX0
),
16802 write_radio_reg(pi
, (RADIO_2056_RX_LNAA2_IDAC
| RADIO_2056_RX1
),
16805 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8,
16807 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8,
16810 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
16812 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
16815 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20,
16817 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20,
16820 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20,
16822 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20,
16825 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 6, 0x40,
16827 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 6, 0x40,
16829 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 6, 0x40,
16831 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 6, 0x40,
16834 write_phy_reg(pi
, 0x20, init_gaincode
);
16835 write_phy_reg(pi
, 0x2a7, init_gaincode
);
16837 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
16838 pi
->pubpi
.phy_corenum
, 0x106, 16,
16841 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
16842 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
16844 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
16845 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
16847 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
16848 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
16850 mod_phy_reg(pi
, 0x27d, (0xff << 0), (crsmin_th
<< 0));
16851 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
16852 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
16854 write_phy_reg(pi
, 0x2b, nbclip_th
);
16855 write_phy_reg(pi
, 0x41, nbclip_th
);
16857 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1clip_th
<< 0));
16858 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1clip_th
<< 0));
16860 write_phy_reg(pi
, 0x150, 0x809c);
16864 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16865 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16867 write_phy_reg(pi
, 0x2b, 0x84);
16868 write_phy_reg(pi
, 0x41, 0x84);
16870 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16871 write_phy_reg(pi
, 0x6b, 0x2b);
16872 write_phy_reg(pi
, 0x6c, 0x2b);
16873 write_phy_reg(pi
, 0x6d, 0x9);
16874 write_phy_reg(pi
, 0x6e, 0x9);
16877 w1th
= NPHY_RSSICAL_W1_TARGET
- 4;
16878 mod_phy_reg(pi
, 0x27, (0x3f << 0), (w1th
<< 0));
16879 mod_phy_reg(pi
, 0x3d, (0x3f << 0), (w1th
<< 0));
16881 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
16882 mod_phy_reg(pi
, 0x1c, (0x1f << 0), (0x1 << 0));
16883 mod_phy_reg(pi
, 0x32, (0x1f << 0), (0x1 << 0));
16885 mod_phy_reg(pi
, 0x1d, (0x1f << 0), (0x1 << 0));
16886 mod_phy_reg(pi
, 0x33, (0x1f << 0), (0x1 << 0));
16889 write_phy_reg(pi
, 0x150, 0x809c);
16891 if (pi
->nphy_gain_boost
)
16892 if ((CHSPEC_IS2G(pi
->radio_chanspec
)) &&
16893 (CHSPEC_IS40(pi
->radio_chanspec
)))
16897 else if (CHSPEC_IS40(pi
->radio_chanspec
))
16902 mod_phy_reg(pi
, 0x20, (0x1f << 7), (hpf_code
<< 7));
16903 mod_phy_reg(pi
, 0x36, (0x1f << 7), (hpf_code
<< 7));
16905 for (ctr
= 0; ctr
< 4; ctr
++) {
16906 regval
[ctr
] = (hpf_code
<< 8) | 0x7c;
16908 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16910 wlc_phy_adjust_lnagaintbl_nphy(pi
);
16912 if (pi
->nphy_elna_gain_config
) {
16917 wlc_phy_table_write_nphy(pi
, 2, 4, 8, 16, regval
);
16918 wlc_phy_table_write_nphy(pi
, 3, 4, 8, 16, regval
);
16920 for (ctr
= 0; ctr
< 4; ctr
++) {
16921 regval
[ctr
] = (hpf_code
<< 8) | 0x74;
16923 wlc_phy_table_write_nphy(pi
, 7, 4, 0x106, 16, regval
);
16926 if (NREV_IS(pi
->pubpi
.phy_rev
, 2)) {
16927 for (ctr
= 0; ctr
< 21; ctr
++) {
16928 regval
[ctr
] = 3 * ctr
;
16930 wlc_phy_table_write_nphy(pi
, 0, 21, 32, 16, regval
);
16931 wlc_phy_table_write_nphy(pi
, 1, 21, 32, 16, regval
);
16933 for (ctr
= 0; ctr
< 21; ctr
++) {
16934 regval
[ctr
] = (u16
) ctr
;
16936 wlc_phy_table_write_nphy(pi
, 2, 21, 32, 16, regval
);
16937 wlc_phy_table_write_nphy(pi
, 3, 21, 32, 16, regval
);
16940 wlc_phy_set_rfseq_nphy(pi
, NPHY_RFSEQ_UPDATEGAINU
,
16941 rfseq_updategainu_events
,
16942 rfseq_updategainu_dlys
,
16943 sizeof(rfseq_updategainu_events
) /
16944 sizeof(rfseq_updategainu_events
[0]));
16946 mod_phy_reg(pi
, 0x153, (0xff << 8), (90 << 8));
16948 if (CHSPEC_IS2G(pi
->radio_chanspec
))
16950 (NPHY_TO_BPHY_OFF
+ BPHY_OPTIONAL_MODES
),
16955 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t
*pi
)
16957 s8 lna1_gain_db
[] = { 8, 13, 17, 22 };
16958 s8 lna2_gain_db
[] = { -2, 7, 11, 15 };
16959 s8 tia_gain_db
[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16960 s8 tia_gainbits
[] = {
16961 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16963 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
16964 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
16966 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
16968 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3c << 0));
16969 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3c << 0));
16971 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x8, 8,
16973 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x8, 8,
16976 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10, 8,
16978 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10, 8,
16981 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
16983 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
16986 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
16988 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
16991 write_phy_reg(pi
, 0x37, 0x74);
16992 write_phy_reg(pi
, 0x2ad, 0x74);
16993 write_phy_reg(pi
, 0x38, 0x18);
16994 write_phy_reg(pi
, 0x2ae, 0x18);
16996 write_phy_reg(pi
, 0x2b, 0xe8);
16997 write_phy_reg(pi
, 0x41, 0xe8);
16999 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17001 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x12 << 0));
17002 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x12 << 0));
17005 mod_phy_reg(pi
, 0x300, (0x3f << 0), (0x10 << 0));
17006 mod_phy_reg(pi
, 0x301, (0x3f << 0), (0x10 << 0));
17010 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t
*pi
)
17013 s8 lna1G_gain_db_rev7
[] = { 9, 14, 19, 24 };
17014 s8
*lna1_gain_db
= NULL
;
17015 s8
*lna1_gain_db_2
= NULL
;
17016 s8
*lna2_gain_db
= NULL
;
17017 s8 tiaA_gain_db_rev7
[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17019 s8 tiaA_gainbits_rev7
[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17021 u16 rfseqA_init_gain_rev7
[] = { 0x624f, 0x624f };
17022 u16
*rfseq_init_gain
;
17024 u16 clip1hi_gaincode
;
17025 u16 clip1md_gaincode
= 0;
17026 u16 clip1md_gaincode_B
;
17027 u16 clip1lo_gaincode
;
17028 u16 clip1lo_gaincode_B
;
17034 s8 nvar_baseline_offset0
= 0, nvar_baseline_offset1
= 0;
17035 u8 chg_nbclip_th
= 0;
17037 mod_phy_reg(pi
, 0x1c, (0x1 << 13), (1 << 13));
17038 mod_phy_reg(pi
, 0x32, (0x1 << 13), (1 << 13));
17040 currband
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
17041 if (currband
== 0) {
17043 lna1_gain_db
= lna1G_gain_db_rev7
;
17045 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17047 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17050 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x40 << 0));
17052 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
17053 mod_phy_reg(pi
, 0x280, (0xff << 0), (0x3e << 0));
17054 mod_phy_reg(pi
, 0x283, (0xff << 0), (0x3e << 0));
17057 mod_phy_reg(pi
, 0x289, (0xff << 0), (0x46 << 0));
17059 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17060 mod_phy_reg(pi
, 0x300, (0x3f << 0), (13 << 0));
17061 mod_phy_reg(pi
, 0x301, (0x3f << 0), (13 << 0));
17065 init_gaincode
= 0x9e;
17066 clip1hi_gaincode
= 0x9e;
17067 clip1md_gaincode_B
= 0x24;
17068 clip1lo_gaincode
= 0x8a;
17069 clip1lo_gaincode_B
= 8;
17070 rfseq_init_gain
= rfseqA_init_gain_rev7
;
17072 tia_gain_db
= tiaA_gain_db_rev7
;
17073 tia_gainbits
= tiaA_gainbits_rev7
;
17075 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
17076 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17079 clip1md_gaincode
= 0x82;
17081 if ((freq
<= 5080) || (freq
== 5825)) {
17083 s8 lna1A_gain_db_rev7
[] = { 11, 16, 20, 24 };
17084 s8 lna1A_gain_db_2_rev7
[] = {
17086 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17089 lna1_gain_db
= lna1A_gain_db_rev7
;
17090 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17091 lna2_gain_db
= lna2A_gain_db_rev7
;
17092 } else if ((freq
>= 5500) && (freq
<= 5700)) {
17094 s8 lna1A_gain_db_rev7
[] = { 11, 17, 21, 25 };
17095 s8 lna1A_gain_db_2_rev7
[] = {
17097 s8 lna2A_gain_db_rev7
[] = { 1, 8, 12, 16 };
17100 clip1md_gaincode_B
= 0x14;
17103 lna1_gain_db
= lna1A_gain_db_rev7
;
17104 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17105 lna2_gain_db
= lna2A_gain_db_rev7
;
17108 s8 lna1A_gain_db_rev7
[] = { 12, 18, 22, 26 };
17109 s8 lna1A_gain_db_2_rev7
[] = {
17111 s8 lna2A_gain_db_rev7
[] = { -1, 6, 10, 14 };
17114 lna1_gain_db
= lna1A_gain_db_rev7
;
17115 lna1_gain_db_2
= lna1A_gain_db_2_rev7
;
17116 lna2_gain_db
= lna2A_gain_db_rev7
;
17119 if (freq
<= 4920) {
17120 nvar_baseline_offset0
= 5;
17121 nvar_baseline_offset1
= 5;
17122 } else if ((freq
> 4920) && (freq
<= 5320)) {
17123 nvar_baseline_offset0
= 3;
17124 nvar_baseline_offset1
= 5;
17125 } else if ((freq
> 5320) && (freq
<= 5700)) {
17126 nvar_baseline_offset0
= 3;
17127 nvar_baseline_offset1
= 2;
17129 nvar_baseline_offset0
= 4;
17130 nvar_baseline_offset1
= 0;
17138 if ((freq
>= 4920) && (freq
<= 5320)) {
17139 nvar_baseline_offset0
= 4;
17140 nvar_baseline_offset1
= 5;
17141 } else if ((freq
> 5320) && (freq
<= 5550)) {
17142 nvar_baseline_offset0
= 4;
17143 nvar_baseline_offset1
= 2;
17145 nvar_baseline_offset0
= 5;
17146 nvar_baseline_offset1
= 3;
17150 write_phy_reg(pi
, 0x20, init_gaincode
);
17151 write_phy_reg(pi
, 0x2a7, init_gaincode
);
17153 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
17154 pi
->pubpi
.phy_corenum
, 0x106, 16,
17157 write_phy_reg(pi
, 0x22, clip1hi_gaincode
);
17158 write_phy_reg(pi
, 0x2a9, clip1hi_gaincode
);
17160 write_phy_reg(pi
, 0x36, clip1md_gaincode_B
);
17161 write_phy_reg(pi
, 0x2ac, clip1md_gaincode_B
);
17163 write_phy_reg(pi
, 0x37, clip1lo_gaincode
);
17164 write_phy_reg(pi
, 0x2ad, clip1lo_gaincode
);
17165 write_phy_reg(pi
, 0x38, clip1lo_gaincode_B
);
17166 write_phy_reg(pi
, 0x2ae, clip1lo_gaincode_B
);
17168 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 10, 0x20, 8,
17170 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 10, 0x20, 8,
17173 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS1
, 10, 0x20, 8,
17175 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAINBITS2
, 10, 0x20, 8,
17178 mod_phy_reg(pi
, 0x283, (0xff << 0), (crsminu_th
<< 0));
17180 if (chg_nbclip_th
== 1) {
17181 write_phy_reg(pi
, 0x2b, nbclip_th
);
17182 write_phy_reg(pi
, 0x41, nbclip_th
);
17185 mod_phy_reg(pi
, 0x300, (0x3f << 0), (w1clip_th
<< 0));
17186 mod_phy_reg(pi
, 0x301, (0x3f << 0), (w1clip_th
<< 0));
17188 mod_phy_reg(pi
, 0x2e4,
17189 (0x3f << 0), (nvar_baseline_offset0
<< 0));
17191 mod_phy_reg(pi
, 0x2e4,
17192 (0x3f << 6), (nvar_baseline_offset1
<< 6));
17194 if (CHSPEC_IS20(pi
->radio_chanspec
)) {
17196 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 8, 8,
17198 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 8, 8,
17201 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN1
, 4, 0x10,
17203 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_GAIN2
, 4, 0x10,
17206 write_phy_reg(pi
, 0x24, clip1md_gaincode
);
17207 write_phy_reg(pi
, 0x2ab, clip1md_gaincode
);
17209 mod_phy_reg(pi
, 0x280, (0xff << 0), (crsminl_th
<< 0));
17216 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t
*pi
)
17222 u16 minmax_gain
[2];
17225 if (pi
->phyhang_avoid
)
17226 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
17228 if (pi
->nphy_gain_boost
) {
17229 if ((CHSPEC_IS2G(pi
->radio_chanspec
))) {
17235 curr_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17238 PHY_HW_ROUND(((nphy_lnagain_est0
[0] *
17240 nphy_lnagain_est0
[1]), 13);
17243 PHY_HW_ROUND(((nphy_lnagain_est1
[0] *
17245 nphy_lnagain_est1
[1]), 13);
17253 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
17254 if (pi
->nphy_elna_gain_config
) {
17256 regval
[0] = nphy_def_lnagains
[2] + gain_delta
[core
];
17257 regval
[1] = nphy_def_lnagains
[3] + gain_delta
[core
];
17258 regval
[2] = nphy_def_lnagains
[3] + gain_delta
[core
];
17259 regval
[3] = nphy_def_lnagains
[3] + gain_delta
[core
];
17261 for (ctr
= 0; ctr
< 4; ctr
++) {
17263 nphy_def_lnagains
[ctr
] + gain_delta
[core
];
17266 wlc_phy_table_write_nphy(pi
, core
, 4, 8, 16, regval
);
17268 minmax_gain
[core
] =
17269 (u16
) (nphy_def_lnagains
[2] + gain_delta
[core
] + 4);
17272 mod_phy_reg(pi
, 0x1e, (0xff << 0), (minmax_gain
[0] << 0));
17273 mod_phy_reg(pi
, 0x34, (0xff << 0), (minmax_gain
[1] << 0));
17275 if (pi
->phyhang_avoid
)
17276 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
17279 void wlc_phy_switch_radio_nphy(phy_info_t
*pi
, bool on
)
17282 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17283 if (!pi
->radio_is_on
) {
17284 wlc_phy_radio_preinit_205x(pi
);
17285 wlc_phy_radio_init_2057(pi
);
17286 wlc_phy_radio_postinit_2057(pi
);
17289 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17290 pi
->radio_chanspec
);
17291 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17292 wlc_phy_radio_preinit_205x(pi
);
17293 wlc_phy_radio_init_2056(pi
);
17294 wlc_phy_radio_postinit_2056(pi
);
17296 wlc_phy_chanspec_set((wlc_phy_t
*) pi
,
17297 pi
->radio_chanspec
);
17299 wlc_phy_radio_preinit_2055(pi
);
17300 wlc_phy_radio_init_2055(pi
);
17301 wlc_phy_radio_postinit_2055(pi
);
17304 pi
->radio_is_on
= true;
17308 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
17309 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
17310 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17311 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x0);
17313 write_radio_reg(pi
,
17314 RADIO_2056_TX_PADA_BOOST_TUNE
|
17315 RADIO_2056_TX0
, 0);
17316 write_radio_reg(pi
,
17317 RADIO_2056_TX_PADG_BOOST_TUNE
|
17318 RADIO_2056_TX0
, 0);
17319 write_radio_reg(pi
,
17320 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17321 RADIO_2056_TX0
, 0);
17322 write_radio_reg(pi
,
17323 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17324 RADIO_2056_TX0
, 0);
17326 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17327 RADIO_2056_TX0
, 0xf0, 0);
17328 write_radio_reg(pi
,
17329 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17330 RADIO_2056_TX0
, 0);
17332 write_radio_reg(pi
,
17333 RADIO_2056_TX_PADA_BOOST_TUNE
|
17334 RADIO_2056_TX1
, 0);
17335 write_radio_reg(pi
,
17336 RADIO_2056_TX_PADG_BOOST_TUNE
|
17337 RADIO_2056_TX1
, 0);
17338 write_radio_reg(pi
,
17339 RADIO_2056_TX_PGAA_BOOST_TUNE
|
17340 RADIO_2056_TX1
, 0);
17341 write_radio_reg(pi
,
17342 RADIO_2056_TX_PGAG_BOOST_TUNE
|
17343 RADIO_2056_TX1
, 0);
17345 RADIO_2056_TX_MIXA_BOOST_TUNE
|
17346 RADIO_2056_TX1
, 0xf0, 0);
17347 write_radio_reg(pi
,
17348 RADIO_2056_TX_MIXG_BOOST_TUNE
|
17349 RADIO_2056_TX1
, 0);
17351 pi
->radio_is_on
= false;
17354 if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
17355 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17356 pi
->radio_is_on
= false;
17362 static void wlc_phy_radio_preinit_2055(phy_info_t
*pi
)
17365 and_phy_reg(pi
, 0x78, ~RFCC_POR_FORCE
);
17366 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
| RFCC_OE_POR_FORCE
);
17368 or_phy_reg(pi
, 0x78, RFCC_POR_FORCE
);
17371 static void wlc_phy_radio_init_2055(phy_info_t
*pi
)
17373 wlc_phy_init_radio_regs(pi
, regs_2055
, RADIO_DEFAULT_CORE
);
17376 static void wlc_phy_radio_postinit_2055(phy_info_t
*pi
)
17379 and_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
,
17380 ~(RADIO_2055_JTAGCTRL_MASK
| RADIO_2055_JTAGSYNC_MASK
));
17382 if (((pi
->sh
->sromrev
>= 4)
17383 && !(pi
->sh
->boardflags2
& BFL2_RXBB_INT_REG_DIS
))
17384 || ((pi
->sh
->sromrev
< 4))) {
17385 and_radio_reg(pi
, RADIO_2055_CORE1_RXBB_REGULATOR
, 0x7F);
17386 and_radio_reg(pi
, RADIO_2055_CORE2_RXBB_REGULATOR
, 0x7F);
17389 mod_radio_reg(pi
, RADIO_2055_RRCCAL_N_OPT_SEL
, 0x3F, 0x2C);
17390 write_radio_reg(pi
, RADIO_2055_CAL_MISC
, 0x3C);
17392 and_radio_reg(pi
, RADIO_2055_CAL_MISC
,
17393 ~(RADIO_2055_RRCAL_START
| RADIO_2055_RRCAL_RST_N
));
17395 or_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
, RADIO_2055_CAL_LPO_ENABLE
);
17397 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_RST_N
);
17401 or_radio_reg(pi
, RADIO_2055_CAL_MISC
, RADIO_2055_RRCAL_START
);
17403 SPINWAIT(((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17404 RADIO_2055_RCAL_DONE
) != RADIO_2055_RCAL_DONE
), 2000);
17406 ASSERT((read_radio_reg(pi
, RADIO_2055_CAL_COUNTER_OUT2
) &
17407 RADIO_2055_RCAL_DONE
) == RADIO_2055_RCAL_DONE
);
17409 and_radio_reg(pi
, RADIO_2055_CAL_LPO_CNTRL
,
17410 ~(RADIO_2055_CAL_LPO_ENABLE
));
17412 wlc_phy_chanspec_set((wlc_phy_t
*) pi
, pi
->radio_chanspec
);
17414 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_LPF
, 9);
17415 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_LPF
, 9);
17417 write_radio_reg(pi
, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS
, 0x83);
17418 write_radio_reg(pi
, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS
, 0x83);
17420 mod_radio_reg(pi
, RADIO_2055_CORE1_LNA_GAINBST
,
17421 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17422 mod_radio_reg(pi
, RADIO_2055_CORE2_LNA_GAINBST
,
17423 RADIO_2055_GAINBST_VAL_MASK
, RADIO_2055_GAINBST_CODE
);
17424 if (pi
->nphy_gain_boost
) {
17425 and_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17426 ~(RADIO_2055_GAINBST_DISABLE
));
17427 and_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17428 ~(RADIO_2055_GAINBST_DISABLE
));
17430 or_radio_reg(pi
, RADIO_2055_CORE1_RXRF_SPC1
,
17431 RADIO_2055_GAINBST_DISABLE
);
17432 or_radio_reg(pi
, RADIO_2055_CORE2_RXRF_SPC1
,
17433 RADIO_2055_GAINBST_DISABLE
);
17439 static void wlc_phy_radio_preinit_205x(phy_info_t
*pi
)
17442 and_phy_reg(pi
, 0x78, ~RFCC_CHIP0_PU
);
17443 and_phy_reg(pi
, 0x78, RFCC_OE_POR_FORCE
);
17445 or_phy_reg(pi
, 0x78, ~RFCC_OE_POR_FORCE
);
17446 or_phy_reg(pi
, 0x78, RFCC_CHIP0_PU
);
17450 static void wlc_phy_radio_init_2056(phy_info_t
*pi
)
17452 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17453 radio_regs_t
*regs_TX_2056_ptr
= NULL
;
17454 radio_regs_t
*regs_RX_2056_ptr
= NULL
;
17456 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17457 regs_SYN_2056_ptr
= regs_SYN_2056
;
17458 regs_TX_2056_ptr
= regs_TX_2056
;
17459 regs_RX_2056_ptr
= regs_RX_2056
;
17460 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17461 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17462 regs_TX_2056_ptr
= regs_TX_2056_A1
;
17463 regs_RX_2056_ptr
= regs_RX_2056_A1
;
17465 switch (pi
->pubpi
.radiorev
) {
17467 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17468 regs_TX_2056_ptr
= regs_TX_2056_rev5
;
17469 regs_RX_2056_ptr
= regs_RX_2056_rev5
;
17473 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17474 regs_TX_2056_ptr
= regs_TX_2056_rev6
;
17475 regs_RX_2056_ptr
= regs_RX_2056_rev6
;
17480 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17481 regs_TX_2056_ptr
= regs_TX_2056_rev7
;
17482 regs_RX_2056_ptr
= regs_RX_2056_rev7
;
17486 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17487 regs_TX_2056_ptr
= regs_TX_2056_rev8
;
17488 regs_RX_2056_ptr
= regs_RX_2056_rev8
;
17492 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17493 regs_TX_2056_ptr
= regs_TX_2056_rev11
;
17494 regs_RX_2056_ptr
= regs_RX_2056_rev11
;
17502 wlc_phy_init_radio_regs(pi
, regs_SYN_2056_ptr
, (u16
) RADIO_2056_SYN
);
17504 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (u16
) RADIO_2056_TX0
);
17506 wlc_phy_init_radio_regs(pi
, regs_TX_2056_ptr
, (u16
) RADIO_2056_TX1
);
17508 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (u16
) RADIO_2056_RX0
);
17510 wlc_phy_init_radio_regs(pi
, regs_RX_2056_ptr
, (u16
) RADIO_2056_RX1
);
17513 static void wlc_phy_radio_postinit_2056(phy_info_t
*pi
)
17515 mod_radio_reg(pi
, RADIO_2056_SYN_COM_CTRL
, 0xb, 0xb);
17517 mod_radio_reg(pi
, RADIO_2056_SYN_COM_PU
, 0x2, 0x2);
17518 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x2);
17520 mod_radio_reg(pi
, RADIO_2056_SYN_COM_RESET
, 0x2, 0x0);
17522 if ((pi
->sh
->boardflags2
& BFL2_LEGACY
)
17523 || (pi
->sh
->boardflags2
& BFL2_XTALBUFOUTEN
)) {
17525 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xf4, 0x0);
17528 mod_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
, 0xfc, 0x0);
17531 mod_radio_reg(pi
, RADIO_2056_SYN_RCCAL_CTRL0
, 0x1, 0x0);
17533 if (pi
->phy_init_por
) {
17534 wlc_phy_radio205x_rcal(pi
);
17538 static void wlc_phy_radio_init_2057(phy_info_t
*pi
)
17540 radio_20xx_regs_t
*regs_2057_ptr
= NULL
;
17542 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17544 regs_2057_ptr
= regs_2057_rev4
;
17545 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17546 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17547 switch (pi
->pubpi
.radiorev
) {
17550 if (pi
->pubpi
.radiover
== 0x0) {
17552 regs_2057_ptr
= regs_2057_rev5
;
17554 } else if (pi
->pubpi
.radiover
== 0x1) {
17556 regs_2057_ptr
= regs_2057_rev5v1
;
17563 regs_2057_ptr
= regs_2057_rev7
;
17568 regs_2057_ptr
= regs_2057_rev8
;
17576 wlc_phy_init_radio_regs_allbands(pi
, regs_2057_ptr
);
17579 static void wlc_phy_radio_postinit_2057(phy_info_t
*pi
)
17582 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x1, 0x1);
17584 if (pi
->sh
->chip
== !BCM6362_CHIP_ID
) {
17586 mod_radio_reg(pi
, RADIO_2057_XTALPUOVR_PINCTRL
, 0x2, 0x2);
17589 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x78);
17590 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x80);
17592 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x78, 0x0);
17593 mod_radio_reg(pi
, RADIO_2057_XTAL_CONFIG2
, 0x80, 0x0);
17595 if (pi
->phy_init_por
) {
17596 wlc_phy_radio205x_rcal(pi
);
17597 wlc_phy_radio2057_rccal(pi
);
17600 mod_radio_reg(pi
, RADIO_2057_RFPLL_MASTER
, 0x8, 0x0);
17604 wlc_phy_chan2freq_nphy(phy_info_t
*pi
, uint channel
, int *f
,
17605 chan_info_nphy_radio2057_t
**t0
,
17606 chan_info_nphy_radio205x_t
**t1
,
17607 chan_info_nphy_radio2057_rev5_t
**t2
,
17608 chan_info_nphy_2055_t
**t3
)
17611 chan_info_nphy_radio2057_t
*chan_info_tbl_p_0
= NULL
;
17612 chan_info_nphy_radio205x_t
*chan_info_tbl_p_1
= NULL
;
17613 chan_info_nphy_radio2057_rev5_t
*chan_info_tbl_p_2
= NULL
;
17618 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
17620 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
17622 chan_info_tbl_p_0
= chan_info_nphyrev7_2057_rev4
;
17623 tbl_len
= ARRAY_SIZE(chan_info_nphyrev7_2057_rev4
);
17625 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 8)
17626 || NREV_IS(pi
->pubpi
.phy_rev
, 9)) {
17627 switch (pi
->pubpi
.radiorev
) {
17631 if (pi
->pubpi
.radiover
== 0x0) {
17633 chan_info_tbl_p_2
=
17634 chan_info_nphyrev8_2057_rev5
;
17637 (chan_info_nphyrev8_2057_rev5
);
17639 } else if (pi
->pubpi
.radiover
== 0x1) {
17641 chan_info_tbl_p_2
=
17642 chan_info_nphyrev9_2057_rev5v1
;
17645 (chan_info_nphyrev9_2057_rev5v1
);
17651 chan_info_tbl_p_0
=
17652 chan_info_nphyrev8_2057_rev7
;
17654 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7
);
17658 chan_info_tbl_p_0
=
17659 chan_info_nphyrev8_2057_rev8
;
17661 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8
);
17665 if (NORADIO_ENAB(pi
->pubpi
)) {
17670 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 16)) {
17672 chan_info_tbl_p_0
= chan_info_nphyrev8_2057_rev8
;
17673 tbl_len
= ARRAY_SIZE(chan_info_nphyrev8_2057_rev8
);
17678 for (i
= 0; i
< tbl_len
; i
++) {
17679 if (pi
->pubpi
.radiorev
== 5) {
17681 if (chan_info_tbl_p_2
[i
].chan
== channel
)
17685 if (chan_info_tbl_p_0
[i
].chan
== channel
)
17690 if (i
>= tbl_len
) {
17693 if (pi
->pubpi
.radiorev
== 5) {
17694 *t2
= &chan_info_tbl_p_2
[i
];
17695 freq
= chan_info_tbl_p_2
[i
].freq
;
17697 *t0
= &chan_info_tbl_p_0
[i
];
17698 freq
= chan_info_tbl_p_0
[i
].freq
;
17701 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
17702 if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
17703 chan_info_tbl_p_1
= chan_info_nphyrev3_2056
;
17704 tbl_len
= ARRAY_SIZE(chan_info_nphyrev3_2056
);
17705 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 4)) {
17706 chan_info_tbl_p_1
= chan_info_nphyrev4_2056_A1
;
17707 tbl_len
= ARRAY_SIZE(chan_info_nphyrev4_2056_A1
);
17708 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)
17709 || NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
17710 switch (pi
->pubpi
.radiorev
) {
17712 chan_info_tbl_p_1
= chan_info_nphyrev5_2056v5
;
17713 tbl_len
= ARRAY_SIZE(chan_info_nphyrev5_2056v5
);
17716 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v6
;
17717 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v6
);
17721 chan_info_tbl_p_1
= chan_info_nphyrev5n6_2056v7
;
17723 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7
);
17726 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v8
;
17727 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v8
);
17730 chan_info_tbl_p_1
= chan_info_nphyrev6_2056v11
;
17731 tbl_len
= ARRAY_SIZE(chan_info_nphyrev6_2056v11
);
17734 if (NORADIO_ENAB(pi
->pubpi
)) {
17741 for (i
= 0; i
< tbl_len
; i
++) {
17742 if (chan_info_tbl_p_1
[i
].chan
== channel
)
17746 if (i
>= tbl_len
) {
17749 *t1
= &chan_info_tbl_p_1
[i
];
17750 freq
= chan_info_tbl_p_1
[i
].freq
;
17753 for (i
= 0; i
< ARRAY_SIZE(chan_info_nphy_2055
); i
++)
17754 if (chan_info_nphy_2055
[i
].chan
== channel
)
17757 if (i
>= ARRAY_SIZE(chan_info_nphy_2055
)) {
17760 *t3
= &chan_info_nphy_2055
[i
];
17761 freq
= chan_info_nphy_2055
[i
].freq
;
17768 *f
= WL_CHAN_FREQ_RANGE_2G
;
17772 u8
wlc_phy_get_chan_freq_range_nphy(phy_info_t
*pi
, uint channel
)
17775 chan_info_nphy_radio2057_t
*t0
= NULL
;
17776 chan_info_nphy_radio205x_t
*t1
= NULL
;
17777 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
17778 chan_info_nphy_2055_t
*t3
= NULL
;
17780 if (NORADIO_ENAB(pi
->pubpi
))
17781 return WL_CHAN_FREQ_RANGE_2G
;
17784 channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
17786 wlc_phy_chan2freq_nphy(pi
, channel
, &freq
, &t0
, &t1
, &t2
, &t3
);
17788 if (CHSPEC_IS2G(pi
->radio_chanspec
))
17789 return WL_CHAN_FREQ_RANGE_2G
;
17791 if ((freq
>= BASE_LOW_5G_CHAN
) && (freq
< BASE_MID_5G_CHAN
)) {
17792 return WL_CHAN_FREQ_RANGE_5GL
;
17793 } else if ((freq
>= BASE_MID_5G_CHAN
) && (freq
< BASE_HIGH_5G_CHAN
)) {
17794 return WL_CHAN_FREQ_RANGE_5GM
;
17796 return WL_CHAN_FREQ_RANGE_5GH
;
17801 wlc_phy_chanspec_radio2055_setup(phy_info_t
*pi
, chan_info_nphy_2055_t
*ci
)
17804 write_radio_reg(pi
, RADIO_2055_PLL_REF
, ci
->RF_pll_ref
);
17805 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD0
, ci
->RF_rf_pll_mod0
);
17806 write_radio_reg(pi
, RADIO_2055_RF_PLL_MOD1
, ci
->RF_rf_pll_mod1
);
17807 write_radio_reg(pi
, RADIO_2055_VCO_CAP_TAIL
, ci
->RF_vco_cap_tail
);
17809 WLC_PHY_WAR_PR51571(pi
);
17811 write_radio_reg(pi
, RADIO_2055_VCO_CAL1
, ci
->RF_vco_cal1
);
17812 write_radio_reg(pi
, RADIO_2055_VCO_CAL2
, ci
->RF_vco_cal2
);
17813 write_radio_reg(pi
, RADIO_2055_PLL_LF_C1
, ci
->RF_pll_lf_c1
);
17814 write_radio_reg(pi
, RADIO_2055_PLL_LF_R1
, ci
->RF_pll_lf_r1
);
17816 WLC_PHY_WAR_PR51571(pi
);
17818 write_radio_reg(pi
, RADIO_2055_PLL_LF_C2
, ci
->RF_pll_lf_c2
);
17819 write_radio_reg(pi
, RADIO_2055_LGBUF_CEN_BUF
, ci
->RF_lgbuf_cen_buf
);
17820 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE1
, ci
->RF_lgen_tune1
);
17821 write_radio_reg(pi
, RADIO_2055_LGEN_TUNE2
, ci
->RF_lgen_tune2
);
17823 WLC_PHY_WAR_PR51571(pi
);
17825 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_A_TUNE
,
17826 ci
->RF_core1_lgbuf_a_tune
);
17827 write_radio_reg(pi
, RADIO_2055_CORE1_LGBUF_G_TUNE
,
17828 ci
->RF_core1_lgbuf_g_tune
);
17829 write_radio_reg(pi
, RADIO_2055_CORE1_RXRF_REG1
, ci
->RF_core1_rxrf_reg1
);
17830 write_radio_reg(pi
, RADIO_2055_CORE1_TX_PGA_PAD_TN
,
17831 ci
->RF_core1_tx_pga_pad_tn
);
17833 WLC_PHY_WAR_PR51571(pi
);
17835 write_radio_reg(pi
, RADIO_2055_CORE1_TX_MX_BGTRIM
,
17836 ci
->RF_core1_tx_mx_bgtrim
);
17837 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_A_TUNE
,
17838 ci
->RF_core2_lgbuf_a_tune
);
17839 write_radio_reg(pi
, RADIO_2055_CORE2_LGBUF_G_TUNE
,
17840 ci
->RF_core2_lgbuf_g_tune
);
17841 write_radio_reg(pi
, RADIO_2055_CORE2_RXRF_REG1
, ci
->RF_core2_rxrf_reg1
);
17843 WLC_PHY_WAR_PR51571(pi
);
17845 write_radio_reg(pi
, RADIO_2055_CORE2_TX_PGA_PAD_TN
,
17846 ci
->RF_core2_tx_pga_pad_tn
);
17847 write_radio_reg(pi
, RADIO_2055_CORE2_TX_MX_BGTRIM
,
17848 ci
->RF_core2_tx_mx_bgtrim
);
17852 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x05);
17853 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x45);
17855 WLC_PHY_WAR_PR51571(pi
);
17857 write_radio_reg(pi
, RADIO_2055_VCO_CAL10
, 0x65);
17863 wlc_phy_chanspec_radio2056_setup(phy_info_t
*pi
,
17864 const chan_info_nphy_radio205x_t
*ci
)
17866 radio_regs_t
*regs_SYN_2056_ptr
= NULL
;
17868 write_radio_reg(pi
,
17869 RADIO_2056_SYN_PLL_VCOCAL1
| RADIO_2056_SYN
,
17870 ci
->RF_SYN_pll_vcocal1
);
17871 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL2
| RADIO_2056_SYN
,
17872 ci
->RF_SYN_pll_vcocal2
);
17873 write_radio_reg(pi
, RADIO_2056_SYN_PLL_REFDIV
| RADIO_2056_SYN
,
17874 ci
->RF_SYN_pll_refdiv
);
17875 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD2
| RADIO_2056_SYN
,
17876 ci
->RF_SYN_pll_mmd2
);
17877 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MMD1
| RADIO_2056_SYN
,
17878 ci
->RF_SYN_pll_mmd1
);
17879 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
17880 ci
->RF_SYN_pll_loopfilter1
);
17881 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
17882 ci
->RF_SYN_pll_loopfilter2
);
17883 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER3
| RADIO_2056_SYN
,
17884 ci
->RF_SYN_pll_loopfilter3
);
17885 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
17886 ci
->RF_SYN_pll_loopfilter4
);
17887 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER5
| RADIO_2056_SYN
,
17888 ci
->RF_SYN_pll_loopfilter5
);
17889 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR27
| RADIO_2056_SYN
,
17890 ci
->RF_SYN_reserved_addr27
);
17891 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR28
| RADIO_2056_SYN
,
17892 ci
->RF_SYN_reserved_addr28
);
17893 write_radio_reg(pi
, RADIO_2056_SYN_RESERVED_ADDR29
| RADIO_2056_SYN
,
17894 ci
->RF_SYN_reserved_addr29
);
17895 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_VCOBUF1
| RADIO_2056_SYN
,
17896 ci
->RF_SYN_logen_VCOBUF1
);
17897 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_MIXER2
| RADIO_2056_SYN
,
17898 ci
->RF_SYN_logen_MIXER2
);
17899 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF3
| RADIO_2056_SYN
,
17900 ci
->RF_SYN_logen_BUF3
);
17901 write_radio_reg(pi
, RADIO_2056_SYN_LOGEN_BUF4
| RADIO_2056_SYN
,
17902 ci
->RF_SYN_logen_BUF4
);
17904 write_radio_reg(pi
,
17905 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX0
,
17906 ci
->RF_RX0_lnaa_tune
);
17907 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX0
,
17908 ci
->RF_RX0_lnag_tune
);
17909 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX0
,
17910 ci
->RF_TX0_intpaa_boost_tune
);
17911 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX0
,
17912 ci
->RF_TX0_intpag_boost_tune
);
17913 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX0
,
17914 ci
->RF_TX0_pada_boost_tune
);
17915 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX0
,
17916 ci
->RF_TX0_padg_boost_tune
);
17917 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX0
,
17918 ci
->RF_TX0_pgaa_boost_tune
);
17919 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX0
,
17920 ci
->RF_TX0_pgag_boost_tune
);
17921 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX0
,
17922 ci
->RF_TX0_mixa_boost_tune
);
17923 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX0
,
17924 ci
->RF_TX0_mixg_boost_tune
);
17926 write_radio_reg(pi
,
17927 RADIO_2056_RX_LNAA_TUNE
| RADIO_2056_RX1
,
17928 ci
->RF_RX1_lnaa_tune
);
17929 write_radio_reg(pi
, RADIO_2056_RX_LNAG_TUNE
| RADIO_2056_RX1
,
17930 ci
->RF_RX1_lnag_tune
);
17931 write_radio_reg(pi
, RADIO_2056_TX_INTPAA_BOOST_TUNE
| RADIO_2056_TX1
,
17932 ci
->RF_TX1_intpaa_boost_tune
);
17933 write_radio_reg(pi
, RADIO_2056_TX_INTPAG_BOOST_TUNE
| RADIO_2056_TX1
,
17934 ci
->RF_TX1_intpag_boost_tune
);
17935 write_radio_reg(pi
, RADIO_2056_TX_PADA_BOOST_TUNE
| RADIO_2056_TX1
,
17936 ci
->RF_TX1_pada_boost_tune
);
17937 write_radio_reg(pi
, RADIO_2056_TX_PADG_BOOST_TUNE
| RADIO_2056_TX1
,
17938 ci
->RF_TX1_padg_boost_tune
);
17939 write_radio_reg(pi
, RADIO_2056_TX_PGAA_BOOST_TUNE
| RADIO_2056_TX1
,
17940 ci
->RF_TX1_pgaa_boost_tune
);
17941 write_radio_reg(pi
, RADIO_2056_TX_PGAG_BOOST_TUNE
| RADIO_2056_TX1
,
17942 ci
->RF_TX1_pgag_boost_tune
);
17943 write_radio_reg(pi
, RADIO_2056_TX_MIXA_BOOST_TUNE
| RADIO_2056_TX1
,
17944 ci
->RF_TX1_mixa_boost_tune
);
17945 write_radio_reg(pi
, RADIO_2056_TX_MIXG_BOOST_TUNE
| RADIO_2056_TX1
,
17946 ci
->RF_TX1_mixg_boost_tune
);
17948 if (NREV_IS(pi
->pubpi
.phy_rev
, 3))
17949 regs_SYN_2056_ptr
= regs_SYN_2056
;
17950 else if (NREV_IS(pi
->pubpi
.phy_rev
, 4))
17951 regs_SYN_2056_ptr
= regs_SYN_2056_A1
;
17953 switch (pi
->pubpi
.radiorev
) {
17955 regs_SYN_2056_ptr
= regs_SYN_2056_rev5
;
17958 regs_SYN_2056_ptr
= regs_SYN_2056_rev6
;
17962 regs_SYN_2056_ptr
= regs_SYN_2056_rev7
;
17965 regs_SYN_2056_ptr
= regs_SYN_2056_rev8
;
17968 regs_SYN_2056_ptr
= regs_SYN_2056_rev11
;
17972 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
17973 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
17975 (u16
) regs_SYN_2056_ptr
[0x49 - 2].init_g
);
17977 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
17979 (u16
) regs_SYN_2056_ptr
[0x49 - 2].init_a
);
17982 if (pi
->sh
->boardflags2
& BFL2_GPLL_WAR
) {
17983 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
17984 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
17985 RADIO_2056_SYN
, 0x1f);
17986 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
17987 RADIO_2056_SYN
, 0x1f);
17989 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
17990 (pi
->sh
->chip
== BCM47162_CHIP_ID
)) {
17992 write_radio_reg(pi
,
17993 RADIO_2056_SYN_PLL_LOOPFILTER4
|
17994 RADIO_2056_SYN
, 0x14);
17995 write_radio_reg(pi
,
17996 RADIO_2056_SYN_PLL_CP2
|
17997 RADIO_2056_SYN
, 0x00);
17999 write_radio_reg(pi
,
18000 RADIO_2056_SYN_PLL_LOOPFILTER4
|
18001 RADIO_2056_SYN
, 0xb);
18002 write_radio_reg(pi
,
18003 RADIO_2056_SYN_PLL_CP2
|
18004 RADIO_2056_SYN
, 0x14);
18009 if ((pi
->sh
->boardflags2
& BFL2_GPLL_WAR2
) &&
18010 (CHSPEC_IS2G(pi
->radio_chanspec
))) {
18011 write_radio_reg(pi
,
18012 RADIO_2056_SYN_PLL_LOOPFILTER1
| RADIO_2056_SYN
,
18014 write_radio_reg(pi
,
18015 RADIO_2056_SYN_PLL_LOOPFILTER2
| RADIO_2056_SYN
,
18017 write_radio_reg(pi
,
18018 RADIO_2056_SYN_PLL_LOOPFILTER4
| RADIO_2056_SYN
,
18020 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
| RADIO_2056_SYN
,
18024 if (pi
->sh
->boardflags2
& BFL2_APLL_WAR
) {
18025 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
18026 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER1
|
18027 RADIO_2056_SYN
, 0x1f);
18028 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER2
|
18029 RADIO_2056_SYN
, 0x1f);
18030 write_radio_reg(pi
, RADIO_2056_SYN_PLL_LOOPFILTER4
|
18031 RADIO_2056_SYN
, 0x5);
18032 write_radio_reg(pi
, RADIO_2056_SYN_PLL_CP2
|
18033 RADIO_2056_SYN
, 0xc);
18037 if (PHY_IPA(pi
) && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18038 u16 pag_boost_tune
;
18039 u16 padg_boost_tune
;
18040 u16 pgag_boost_tune
;
18041 u16 mixg_boost_tune
;
18042 u16 bias
, cascbias
;
18045 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18047 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
18049 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18052 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
18054 BCM47162_CHIP_ID
)) {
18057 pag_boost_tune
= 0x5;
18058 pgag_boost_tune
= 0x33;
18059 padg_boost_tune
= 0x77;
18060 mixg_boost_tune
= 0x55;
18065 if ((pi
->sh
->chip
==
18067 || (pi
->sh
->chip
==
18069 || (pi
->sh
->chip
==
18070 BCM43421_CHIP_ID
)) {
18071 if (pi
->sh
->chippkg
==
18072 BCM43224_FAB_SMIC
) {
18078 pag_boost_tune
= 0x4;
18079 pgag_boost_tune
= 0x03;
18080 padg_boost_tune
= 0x77;
18081 mixg_boost_tune
= 0x65;
18084 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18085 INTPAG_IMAIN_STAT
, bias
);
18086 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18087 INTPAG_IAUX_STAT
, bias
);
18088 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18089 INTPAG_CASCBIAS
, cascbias
);
18091 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18094 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18097 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18100 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18105 bias
= IS40MHZ(pi
) ? 0x40 : 0x20;
18107 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18108 INTPAG_IMAIN_STAT
, bias
);
18109 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18110 INTPAG_IAUX_STAT
, bias
);
18111 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18112 INTPAG_CASCBIAS
, 0x30);
18114 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, PA_SPARE1
,
18119 if (PHY_IPA(pi
) && NREV_IS(pi
->pubpi
.phy_rev
, 6)
18120 && CHSPEC_IS5G(pi
->radio_chanspec
)) {
18121 u16 paa_boost_tune
;
18122 u16 pada_boost_tune
;
18123 u16 pgaa_boost_tune
;
18124 u16 mixa_boost_tune
;
18125 u16 freq
, pabias
, cascbias
;
18128 freq
= CHAN5G_FREQ(CHSPEC_CHANNEL(pi
->radio_chanspec
));
18132 paa_boost_tune
= 0xa;
18133 pada_boost_tune
= 0x77;
18134 pgaa_boost_tune
= 0xf;
18135 mixa_boost_tune
= 0xf;
18136 } else if (freq
< 5340) {
18138 paa_boost_tune
= 0x8;
18139 pada_boost_tune
= 0x77;
18140 pgaa_boost_tune
= 0xfb;
18141 mixa_boost_tune
= 0xf;
18142 } else if (freq
< 5650) {
18144 paa_boost_tune
= 0x0;
18145 pada_boost_tune
= 0x77;
18146 pgaa_boost_tune
= 0xb;
18147 mixa_boost_tune
= 0xf;
18150 paa_boost_tune
= 0x0;
18151 pada_boost_tune
= 0x77;
18152 if (freq
!= 5825) {
18153 pgaa_boost_tune
= -(int)(freq
- 18) / 36 + 168;
18155 pgaa_boost_tune
= 6;
18157 mixa_boost_tune
= 0xf;
18160 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
18161 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18162 INTPAA_BOOST_TUNE
, paa_boost_tune
);
18163 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18164 PADA_BOOST_TUNE
, pada_boost_tune
);
18165 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18166 PGAA_BOOST_TUNE
, pgaa_boost_tune
);
18167 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18168 MIXA_BOOST_TUNE
, mixa_boost_tune
);
18170 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18172 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18175 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18176 PADA_CASCBIAS
, 0x3);
18180 if ((pi
->sh
->chip
== BCM43224_CHIP_ID
) ||
18181 (pi
->sh
->chip
== BCM43225_CHIP_ID
) ||
18182 (pi
->sh
->chip
== BCM43421_CHIP_ID
)) {
18183 if (pi
->sh
->chippkg
== BCM43224_FAB_SMIC
) {
18188 pabias
= (pi
->phy_pabias
== 0) ? 0x30 : pi
->phy_pabias
;
18190 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18191 INTPAA_IAUX_STAT
, pabias
);
18192 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18193 INTPAA_IMAIN_STAT
, pabias
);
18194 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
18195 INTPAA_CASCBIAS
, cascbias
);
18201 wlc_phy_radio205x_vcocal_nphy(pi
);
18204 void wlc_phy_radio205x_vcocal_nphy(phy_info_t
*pi
)
18206 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18207 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x0);
18208 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04, 0x0);
18209 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_CAL_RESETN
, 0x04,
18211 mod_radio_reg(pi
, RADIO_2057_RFPLL_MISC_EN
, 0x01, 0x01);
18212 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18213 write_radio_reg(pi
, RADIO_2056_SYN_PLL_VCOCAL12
, 0x0);
18214 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18215 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x18);
18216 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x38);
18217 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST3
, 0x39);
18223 #define MAX_205x_RCAL_WAITLOOPS 10000
18225 static u16
wlc_phy_radio205x_rcal(phy_info_t
*pi
)
18230 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
18232 if (pi
->pubpi
.radiorev
== 5) {
18234 and_phy_reg(pi
, 0x342, ~(0x1 << 1));
18238 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x1);
18239 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18242 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x1);
18246 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x3, 0x3);
18248 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18249 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
);
18250 if (rcal_reg
& 0x1) {
18256 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18258 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x2, 0x0);
18260 rcal_reg
= read_radio_reg(pi
, RADIO_2057_RCAL_STATUS
) & 0x3e;
18262 mod_radio_reg(pi
, RADIO_2057_RCAL_CONFIG
, 0x1, 0x0);
18263 if (pi
->pubpi
.radiorev
== 5) {
18265 mod_radio_reg(pi
, RADIO_2057_IQTEST_SEL_PU
, 0x1, 0x0);
18266 mod_radio_reg(pi
, RADIO_2057v7_IQTEST_SEL_PU2
, 0x2,
18270 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18272 mod_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x3c,
18274 mod_radio_reg(pi
, RADIO_2057_BANDGAP_RCAL_TRIM
, 0xf0,
18278 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 3)) {
18283 RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
);
18284 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18288 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18292 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18295 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18296 rcal_reg
= read_radio_reg(pi
,
18297 RADIO_2056_SYN_RCAL_CODE_OUT
|
18299 if (rcal_reg
& 0x80) {
18305 ASSERT(i
< MAX_205x_RCAL_WAITLOOPS
);
18307 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18312 RADIO_2056_SYN_RCAL_CODE_OUT
|
18315 write_radio_reg(pi
, RADIO_2056_SYN_RCAL_MASTER
| RADIO_2056_SYN
,
18318 write_radio_reg(pi
, RADIO_2056_SYN_PLL_MAST2
| RADIO_2056_SYN
,
18321 return rcal_reg
& 0x1f;
18323 return rcal_reg
& 0x3e;
18327 wlc_phy_chanspec_radio2057_setup(phy_info_t
*pi
,
18328 const chan_info_nphy_radio2057_t
*ci
,
18329 const chan_info_nphy_radio2057_rev5_t
*ci2
)
18332 u16 txmix2g_tune_boost_pu
= 0;
18333 u16 pad2g_tune_pus
= 0;
18335 if (pi
->pubpi
.radiorev
== 5) {
18337 write_radio_reg(pi
,
18338 RADIO_2057_VCOCAL_COUNTVAL0
,
18339 ci2
->RF_vcocal_countval0
);
18340 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18341 ci2
->RF_vcocal_countval1
);
18342 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18343 ci2
->RF_rfpll_refmaster_sparextalsize
);
18344 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18345 ci2
->RF_rfpll_loopfilter_r1
);
18346 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18347 ci2
->RF_rfpll_loopfilter_c2
);
18348 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18349 ci2
->RF_rfpll_loopfilter_c1
);
18350 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
,
18351 ci2
->RF_cp_kpd_idac
);
18352 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci2
->RF_rfpll_mmd0
);
18353 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci2
->RF_rfpll_mmd1
);
18354 write_radio_reg(pi
,
18355 RADIO_2057_VCOBUF_TUNE
, ci2
->RF_vcobuf_tune
);
18356 write_radio_reg(pi
,
18357 RADIO_2057_LOGEN_MX2G_TUNE
,
18358 ci2
->RF_logen_mx2g_tune
);
18359 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18360 ci2
->RF_logen_indbuf2g_tune
);
18362 write_radio_reg(pi
,
18363 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18364 ci2
->RF_txmix2g_tune_boost_pu_core0
);
18365 write_radio_reg(pi
,
18366 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18367 ci2
->RF_pad2g_tune_pus_core0
);
18368 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18369 ci2
->RF_lna2g_tune_core0
);
18371 write_radio_reg(pi
,
18372 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18373 ci2
->RF_txmix2g_tune_boost_pu_core1
);
18374 write_radio_reg(pi
,
18375 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18376 ci2
->RF_pad2g_tune_pus_core1
);
18377 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18378 ci2
->RF_lna2g_tune_core1
);
18382 write_radio_reg(pi
,
18383 RADIO_2057_VCOCAL_COUNTVAL0
,
18384 ci
->RF_vcocal_countval0
);
18385 write_radio_reg(pi
, RADIO_2057_VCOCAL_COUNTVAL1
,
18386 ci
->RF_vcocal_countval1
);
18387 write_radio_reg(pi
, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE
,
18388 ci
->RF_rfpll_refmaster_sparextalsize
);
18389 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18390 ci
->RF_rfpll_loopfilter_r1
);
18391 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18392 ci
->RF_rfpll_loopfilter_c2
);
18393 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18394 ci
->RF_rfpll_loopfilter_c1
);
18395 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, ci
->RF_cp_kpd_idac
);
18396 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD0
, ci
->RF_rfpll_mmd0
);
18397 write_radio_reg(pi
, RADIO_2057_RFPLL_MMD1
, ci
->RF_rfpll_mmd1
);
18398 write_radio_reg(pi
, RADIO_2057_VCOBUF_TUNE
, ci
->RF_vcobuf_tune
);
18399 write_radio_reg(pi
,
18400 RADIO_2057_LOGEN_MX2G_TUNE
,
18401 ci
->RF_logen_mx2g_tune
);
18402 write_radio_reg(pi
, RADIO_2057_LOGEN_MX5G_TUNE
,
18403 ci
->RF_logen_mx5g_tune
);
18404 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF2G_TUNE
,
18405 ci
->RF_logen_indbuf2g_tune
);
18406 write_radio_reg(pi
, RADIO_2057_LOGEN_INDBUF5G_TUNE
,
18407 ci
->RF_logen_indbuf5g_tune
);
18409 write_radio_reg(pi
,
18410 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0
,
18411 ci
->RF_txmix2g_tune_boost_pu_core0
);
18412 write_radio_reg(pi
,
18413 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
18414 ci
->RF_pad2g_tune_pus_core0
);
18415 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE0
,
18416 ci
->RF_pga_boost_tune_core0
);
18417 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0
,
18418 ci
->RF_txmix5g_boost_tune_core0
);
18419 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0
,
18420 ci
->RF_pad5g_tune_misc_pus_core0
);
18421 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE0
,
18422 ci
->RF_lna2g_tune_core0
);
18423 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE0
,
18424 ci
->RF_lna5g_tune_core0
);
18426 write_radio_reg(pi
,
18427 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1
,
18428 ci
->RF_txmix2g_tune_boost_pu_core1
);
18429 write_radio_reg(pi
,
18430 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
18431 ci
->RF_pad2g_tune_pus_core1
);
18432 write_radio_reg(pi
, RADIO_2057_PGA_BOOST_TUNE_CORE1
,
18433 ci
->RF_pga_boost_tune_core1
);
18434 write_radio_reg(pi
, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1
,
18435 ci
->RF_txmix5g_boost_tune_core1
);
18436 write_radio_reg(pi
, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1
,
18437 ci
->RF_pad5g_tune_misc_pus_core1
);
18438 write_radio_reg(pi
, RADIO_2057_LNA2G_TUNE_CORE1
,
18439 ci
->RF_lna2g_tune_core1
);
18440 write_radio_reg(pi
, RADIO_2057_LNA5G_TUNE_CORE1
,
18441 ci
->RF_lna5g_tune_core1
);
18444 if ((pi
->pubpi
.radiorev
<= 4) || (pi
->pubpi
.radiorev
== 6)) {
18446 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18447 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18449 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18450 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18452 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18455 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18457 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18458 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18460 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18463 } else if ((pi
->pubpi
.radiorev
== 5) || (pi
->pubpi
.radiorev
== 7) ||
18464 (pi
->pubpi
.radiorev
== 8)) {
18466 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18467 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18469 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x30);
18470 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18472 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18475 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_R1
,
18477 write_radio_reg(pi
, RADIO_2057_CP_KPD_IDAC
, 0x3f);
18478 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C1
,
18480 write_radio_reg(pi
, RADIO_2057_RFPLL_LOOPFILTER_C2
,
18486 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18488 if (pi
->pubpi
.radiorev
== 3) {
18489 txmix2g_tune_boost_pu
= 0x6b;
18492 if (pi
->pubpi
.radiorev
== 5)
18493 pad2g_tune_pus
= 0x73;
18496 if (pi
->pubpi
.radiorev
!= 5) {
18497 pad2g_tune_pus
= 0x3;
18499 txmix2g_tune_boost_pu
= 0x61;
18503 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
18505 if (txmix2g_tune_boost_pu
!= 0)
18506 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18507 TXMIX2G_TUNE_BOOST_PU
,
18508 txmix2g_tune_boost_pu
);
18510 if (pad2g_tune_pus
!= 0)
18511 WRITE_RADIO_REG4(pi
, RADIO_2057
, CORE
, coreNum
,
18519 wlc_phy_radio205x_vcocal_nphy(pi
);
18522 static u16
wlc_phy_radio2057_rccal(phy_info_t
*pi
)
18526 bool chip43226_6362A0
;
18528 chip43226_6362A0
= ((pi
->pubpi
.radiorev
== 3)
18529 || (pi
->pubpi
.radiorev
== 4)
18530 || (pi
->pubpi
.radiorev
== 6));
18533 if (chip43226_6362A0
) {
18534 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x61);
18535 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xc0);
18537 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x61);
18539 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xe9);
18541 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18542 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18544 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18545 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18546 if (rccal_valid
& 0x2) {
18552 ASSERT(rccal_valid
& 0x2);
18554 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18557 if (chip43226_6362A0
) {
18558 write_radio_reg(pi
, RADIO_2057_RCCAL_MASTER
, 0x69);
18559 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18561 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x69);
18563 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xd5);
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
, 0x73);
18584 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x28);
18585 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0xb0);
18587 write_radio_reg(pi
, RADIO_2057v7_RCCAL_MASTER
, 0x73);
18588 write_radio_reg(pi
, RADIO_2057_RCCAL_X1
, 0x6e);
18589 write_radio_reg(pi
, RADIO_2057_RCCAL_TRC0
, 0x99);
18591 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x55);
18593 for (i
= 0; i
< MAX_205x_RCAL_WAITLOOPS
; i
++) {
18594 rccal_valid
= read_radio_reg(pi
, RADIO_2057_RCCAL_DONE_OSCCAP
);
18595 if (rccal_valid
& 0x2) {
18601 ASSERT(rccal_valid
& 0x2);
18603 write_radio_reg(pi
, RADIO_2057_RCCAL_START_R1_Q1_P1
, 0x15);
18605 return rccal_valid
;
18609 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t
*pi
, u16 reduction_factr
)
18611 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18612 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18613 CHSPEC_IS40(pi
->radio_chanspec
)) {
18614 if (!pi
->nphy_anarxlpf_adjusted
) {
18615 write_radio_reg(pi
,
18616 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18618 ((pi
->nphy_rccal_value
+
18619 reduction_factr
) | 0x80));
18621 pi
->nphy_anarxlpf_adjusted
= true;
18624 if (pi
->nphy_anarxlpf_adjusted
) {
18625 write_radio_reg(pi
,
18626 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
18628 (pi
->nphy_rccal_value
| 0x80));
18630 pi
->nphy_anarxlpf_adjusted
= false;
18637 wlc_phy_adjust_min_noisevar_nphy(phy_info_t
*pi
, int ntones
, int *tone_id_buf
,
18638 u32
*noise_var_buf
)
18645 radio_chanspec
) ? NPHY_NOISEVAR_TBLLEN40
:
18646 NPHY_NOISEVAR_TBLLEN20
;
18648 if (pi
->nphy_noisevars_adjusted
) {
18649 for (i
= 0; i
< pi
->nphy_saved_noisevars
.bufcount
; i
++) {
18650 tone_id
= pi
->nphy_saved_noisevars
.tone_id
[i
];
18651 offset
= (tone_id
>= 0) ?
18652 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18653 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18656 nphy_saved_noisevars
.
18657 min_noise_vars
[i
]);
18660 pi
->nphy_saved_noisevars
.bufcount
= 0;
18661 pi
->nphy_noisevars_adjusted
= false;
18664 if ((noise_var_buf
!= NULL
) && (tone_id_buf
!= NULL
)) {
18665 pi
->nphy_saved_noisevars
.bufcount
= 0;
18667 for (i
= 0; i
< ntones
; i
++) {
18668 tone_id
= tone_id_buf
[i
];
18669 offset
= (tone_id
>= 0) ?
18670 ((tone_id
* 2) + 1) : (tbllen
+ (tone_id
* 2) + 1);
18671 pi
->nphy_saved_noisevars
.tone_id
[i
] = tone_id
;
18672 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18674 &pi
->nphy_saved_noisevars
.
18675 min_noise_vars
[i
]);
18676 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_NOISEVAR
, 1,
18678 (void *)&noise_var_buf
[i
]);
18679 pi
->nphy_saved_noisevars
.bufcount
++;
18682 pi
->nphy_noisevars_adjusted
= true;
18686 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t
*pi
, u8 minpwr
)
18690 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18691 if ((CHSPEC_CHANNEL(pi
->radio_chanspec
) == 11) &&
18692 CHSPEC_IS40(pi
->radio_chanspec
)) {
18693 if (!pi
->nphy_crsminpwr_adjusted
) {
18694 regval
= read_phy_reg(pi
, 0x27d);
18695 pi
->nphy_crsminpwr
[0] = regval
& 0xff;
18697 regval
|= (u16
) minpwr
;
18698 write_phy_reg(pi
, 0x27d, regval
);
18700 regval
= read_phy_reg(pi
, 0x280);
18701 pi
->nphy_crsminpwr
[1] = regval
& 0xff;
18703 regval
|= (u16
) minpwr
;
18704 write_phy_reg(pi
, 0x280, regval
);
18706 regval
= read_phy_reg(pi
, 0x283);
18707 pi
->nphy_crsminpwr
[2] = regval
& 0xff;
18709 regval
|= (u16
) minpwr
;
18710 write_phy_reg(pi
, 0x283, regval
);
18712 pi
->nphy_crsminpwr_adjusted
= true;
18715 if (pi
->nphy_crsminpwr_adjusted
) {
18716 regval
= read_phy_reg(pi
, 0x27d);
18718 regval
|= pi
->nphy_crsminpwr
[0];
18719 write_phy_reg(pi
, 0x27d, regval
);
18721 regval
= read_phy_reg(pi
, 0x280);
18723 regval
|= pi
->nphy_crsminpwr
[1];
18724 write_phy_reg(pi
, 0x280, regval
);
18726 regval
= read_phy_reg(pi
, 0x283);
18728 regval
|= pi
->nphy_crsminpwr
[2];
18729 write_phy_reg(pi
, 0x283, regval
);
18731 pi
->nphy_crsminpwr_adjusted
= false;
18737 static void wlc_phy_txlpfbw_nphy(phy_info_t
*pi
)
18741 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
18742 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18749 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18755 write_phy_reg(pi
, 0xe8,
18758 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18762 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18768 write_phy_reg(pi
, 0xe9,
18771 (tx_lpf_bw
<< 6) | (tx_lpf_bw
<< 9));
18776 static void wlc_phy_spurwar_nphy(phy_info_t
*pi
)
18778 u16 cur_channel
= 0;
18779 int nphy_adj_tone_id_buf
[] = { 57, 58 };
18780 u32 nphy_adj_noise_var_buf
[] = { 0x3ff, 0x3ff };
18781 bool isAdjustNoiseVar
= false;
18782 uint numTonesAdjust
= 0;
18785 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
18786 if (pi
->phyhang_avoid
)
18787 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
18789 cur_channel
= CHSPEC_CHANNEL(pi
->radio_chanspec
);
18791 if (pi
->nphy_gband_spurwar_en
) {
18793 wlc_phy_adjust_rx_analpfbw_nphy(pi
,
18794 NPHY_ANARXLPFBW_REDUCTIONFACT
);
18796 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
18797 if ((cur_channel
== 11)
18798 && CHSPEC_IS40(pi
->radio_chanspec
)) {
18800 wlc_phy_adjust_min_noisevar_nphy(pi
, 2,
18801 nphy_adj_tone_id_buf
,
18802 nphy_adj_noise_var_buf
);
18805 wlc_phy_adjust_min_noisevar_nphy(pi
, 0,
18810 wlc_phy_adjust_crsminpwr_nphy(pi
,
18811 NPHY_ADJUSTED_MINCRSPOWER
);
18814 if ((pi
->nphy_gband_spurwar2_en
)
18815 && CHSPEC_IS2G(pi
->radio_chanspec
)) {
18817 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
18818 switch (cur_channel
) {
18820 nphy_adj_tone_id_buf
[0] = 57;
18821 nphy_adj_tone_id_buf
[1] = 58;
18822 nphy_adj_noise_var_buf
[0] = 0x22f;
18823 nphy_adj_noise_var_buf
[1] = 0x25f;
18824 isAdjustNoiseVar
= true;
18827 nphy_adj_tone_id_buf
[0] = 41;
18828 nphy_adj_tone_id_buf
[1] = 42;
18829 nphy_adj_noise_var_buf
[0] = 0x22f;
18830 nphy_adj_noise_var_buf
[1] = 0x25f;
18831 isAdjustNoiseVar
= true;
18834 nphy_adj_tone_id_buf
[0] = 25;
18835 nphy_adj_tone_id_buf
[1] = 26;
18836 nphy_adj_noise_var_buf
[0] = 0x24f;
18837 nphy_adj_noise_var_buf
[1] = 0x25f;
18838 isAdjustNoiseVar
= true;
18841 nphy_adj_tone_id_buf
[0] = 9;
18842 nphy_adj_tone_id_buf
[1] = 10;
18843 nphy_adj_noise_var_buf
[0] = 0x22f;
18844 nphy_adj_noise_var_buf
[1] = 0x24f;
18845 isAdjustNoiseVar
= true;
18848 nphy_adj_tone_id_buf
[0] = 121;
18849 nphy_adj_tone_id_buf
[1] = 122;
18850 nphy_adj_noise_var_buf
[0] = 0x18f;
18851 nphy_adj_noise_var_buf
[1] = 0x24f;
18852 isAdjustNoiseVar
= true;
18855 nphy_adj_tone_id_buf
[0] = 105;
18856 nphy_adj_tone_id_buf
[1] = 106;
18857 nphy_adj_noise_var_buf
[0] = 0x22f;
18858 nphy_adj_noise_var_buf
[1] = 0x25f;
18859 isAdjustNoiseVar
= true;
18862 nphy_adj_tone_id_buf
[0] = 89;
18863 nphy_adj_tone_id_buf
[1] = 90;
18864 nphy_adj_noise_var_buf
[0] = 0x22f;
18865 nphy_adj_noise_var_buf
[1] = 0x24f;
18866 isAdjustNoiseVar
= true;
18869 nphy_adj_tone_id_buf
[0] = 73;
18870 nphy_adj_tone_id_buf
[1] = 74;
18871 nphy_adj_noise_var_buf
[0] = 0x22f;
18872 nphy_adj_noise_var_buf
[1] = 0x24f;
18873 isAdjustNoiseVar
= true;
18876 isAdjustNoiseVar
= false;
18881 if (isAdjustNoiseVar
) {
18882 numTonesAdjust
= sizeof(nphy_adj_tone_id_buf
) /
18883 sizeof(nphy_adj_tone_id_buf
[0]);
18885 wlc_phy_adjust_min_noisevar_nphy(pi
,
18887 nphy_adj_tone_id_buf
,
18888 nphy_adj_noise_var_buf
);
18894 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18899 if ((pi
->nphy_aband_spurwar_en
) &&
18900 (CHSPEC_IS5G(pi
->radio_chanspec
))) {
18901 switch (cur_channel
) {
18903 nphy_adj_tone_id_buf
[0] = 32;
18904 nphy_adj_noise_var_buf
[0] = 0x25f;
18909 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) &&
18910 (pi
->sh
->chippkg
== BCM4717_PKG_ID
)) {
18911 nphy_adj_tone_id_buf
[0] = 32;
18912 nphy_adj_noise_var_buf
[0] = 0x21f;
18914 nphy_adj_tone_id_buf
[0] = 0;
18915 nphy_adj_noise_var_buf
[0] = 0x0;
18919 nphy_adj_tone_id_buf
[0] = 32;
18920 nphy_adj_noise_var_buf
[0] = 0x21f;
18923 nphy_adj_tone_id_buf
[0] = 16;
18924 nphy_adj_noise_var_buf
[0] = 0x23f;
18928 nphy_adj_tone_id_buf
[0] = 48;
18929 nphy_adj_noise_var_buf
[0] = 0x23f;
18932 nphy_adj_tone_id_buf
[0] = 0;
18933 nphy_adj_noise_var_buf
[0] = 0x0;
18937 if (nphy_adj_tone_id_buf
[0]
18938 && nphy_adj_noise_var_buf
[0]) {
18939 wlc_phy_adjust_min_noisevar_nphy(pi
, 1,
18940 nphy_adj_tone_id_buf
,
18941 nphy_adj_noise_var_buf
);
18943 wlc_phy_adjust_min_noisevar_nphy(pi
, 0, NULL
,
18948 if (pi
->phyhang_avoid
)
18949 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
18954 wlc_phy_chanspec_nphy_setup(phy_info_t
*pi
, chanspec_t chanspec
,
18955 const nphy_sfo_cfg_t
*ci
)
18959 val
= read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
;
18960 if (CHSPEC_IS5G(chanspec
) && !val
) {
18962 val
= R_REG(&pi
->regs
->psm_phy_hdr_param
);
18963 W_REG(&pi
->regs
->psm_phy_hdr_param
,
18964 (val
| MAC_PHY_FORCE_CLK
));
18966 or_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
18967 (BBCFG_RESETCCA
| BBCFG_RESETRX
));
18969 W_REG(&pi
->regs
->psm_phy_hdr_param
, val
);
18971 or_phy_reg(pi
, 0x09, NPHY_BandControl_currentBand
);
18972 } else if (!CHSPEC_IS5G(chanspec
) && val
) {
18974 and_phy_reg(pi
, 0x09, ~NPHY_BandControl_currentBand
);
18976 val
= R_REG(&pi
->regs
->psm_phy_hdr_param
);
18977 W_REG(&pi
->regs
->psm_phy_hdr_param
,
18978 (val
| MAC_PHY_FORCE_CLK
));
18980 and_phy_reg(pi
, (NPHY_TO_BPHY_OFF
+ BPHY_BB_CONFIG
),
18981 (u16
) (~(BBCFG_RESETCCA
| BBCFG_RESETRX
)));
18983 W_REG(&pi
->regs
->psm_phy_hdr_param
, val
);
18986 write_phy_reg(pi
, 0x1ce, ci
->PHY_BW1a
);
18987 write_phy_reg(pi
, 0x1cf, ci
->PHY_BW2
);
18988 write_phy_reg(pi
, 0x1d0, ci
->PHY_BW3
);
18990 write_phy_reg(pi
, 0x1d1, ci
->PHY_BW4
);
18991 write_phy_reg(pi
, 0x1d2, ci
->PHY_BW5
);
18992 write_phy_reg(pi
, 0x1d3, ci
->PHY_BW6
);
18994 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
18995 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
, 0);
18997 or_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, 0x800);
18999 wlc_phy_classifier_nphy(pi
, NPHY_ClassifierCtrl_ofdm_en
,
19000 NPHY_ClassifierCtrl_ofdm_en
);
19002 if (CHSPEC_IS2G(chanspec
))
19003 and_phy_reg(pi
, NPHY_TO_BPHY_OFF
+ BPHY_TEST
, ~0x840);
19006 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
19007 wlc_phy_txpwr_fixpower_nphy(pi
);
19010 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
19012 wlc_phy_adjust_lnagaintbl_nphy(pi
);
19015 wlc_phy_txlpfbw_nphy(pi
);
19017 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)
19018 && (pi
->phy_spuravoid
!= SPURAVOID_DISABLE
)) {
19021 val
= CHSPEC_CHANNEL(chanspec
);
19022 if (!CHSPEC_IS40(pi
->radio_chanspec
)) {
19023 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19024 if ((val
== 13) || (val
== 14) || (val
== 153)) {
19029 if (((val
>= 5) && (val
<= 8)) || (val
== 13)
19035 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19041 if (pi
->nphy_aband_spurwar_en
&&
19042 ((val
== 38) || (val
== 102)
19043 || (val
== 118))) {
19044 if ((pi
->sh
->chip
==
19046 && (pi
->sh
->chippkg
==
19056 if (pi
->phy_spuravoid
== SPURAVOID_FORCEON
)
19059 if ((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
19060 (pi
->sh
->chip
== BCM47162_CHIP_ID
)) {
19061 si_pmu_spuravoid(pi
->sh
->sih
, spuravoid
);
19063 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, false);
19064 si_pmu_spuravoid(pi
->sh
->sih
, spuravoid
);
19065 wlapi_bmac_core_phypll_ctl(pi
->sh
->physhim
, true);
19068 if ((pi
->sh
->chip
== BCM43224_CHIP_ID
) ||
19069 (pi
->sh
->chip
== BCM43225_CHIP_ID
) ||
19070 (pi
->sh
->chip
== BCM43421_CHIP_ID
)) {
19072 if (spuravoid
== 1) {
19074 W_REG(&pi
->regs
->tsf_clk_frac_l
,
19076 W_REG(&pi
->regs
->tsf_clk_frac_h
,
19080 W_REG(&pi
->regs
->tsf_clk_frac_l
,
19082 W_REG(&pi
->regs
->tsf_clk_frac_h
,
19087 if (!((pi
->sh
->chip
== BCM4716_CHIP_ID
) ||
19088 (pi
->sh
->chip
== BCM47162_CHIP_ID
))) {
19089 wlapi_bmac_core_phypll_reset(pi
->sh
->physhim
);
19092 mod_phy_reg(pi
, 0x01, (0x1 << 15),
19093 ((spuravoid
> 0) ? (0x1 << 15) : 0));
19095 wlc_phy_resetcca_nphy(pi
);
19097 pi
->phy_isspuravoid
= (spuravoid
> 0);
19100 if (NREV_LT(pi
->pubpi
.phy_rev
, 7))
19101 write_phy_reg(pi
, 0x17e, 0x3830);
19103 wlc_phy_spurwar_nphy(pi
);
19106 void wlc_phy_chanspec_set_nphy(phy_info_t
*pi
, chanspec_t chanspec
)
19109 chan_info_nphy_radio2057_t
*t0
= NULL
;
19110 chan_info_nphy_radio205x_t
*t1
= NULL
;
19111 chan_info_nphy_radio2057_rev5_t
*t2
= NULL
;
19112 chan_info_nphy_2055_t
*t3
= NULL
;
19114 if (NORADIO_ENAB(pi
->pubpi
)) {
19118 if (!wlc_phy_chan2freq_nphy
19119 (pi
, CHSPEC_CHANNEL(chanspec
), &freq
, &t0
, &t1
, &t2
, &t3
))
19122 wlc_phy_chanspec_radio_set((wlc_phy_t
*) pi
, chanspec
);
19124 if (CHSPEC_BW(chanspec
) != pi
->bw
)
19125 wlapi_bmac_bw_set(pi
->sh
->physhim
, CHSPEC_BW(chanspec
));
19127 if (CHSPEC_IS40(chanspec
)) {
19128 if (CHSPEC_SB_UPPER(chanspec
)) {
19129 or_phy_reg(pi
, 0xa0, BPHY_BAND_SEL_UP20
);
19130 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19131 or_phy_reg(pi
, 0x310, PRIM_SEL_UP20
);
19134 and_phy_reg(pi
, 0xa0, ~BPHY_BAND_SEL_UP20
);
19135 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19136 and_phy_reg(pi
, 0x310,
19137 (~PRIM_SEL_UP20
& 0xffff));
19142 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19143 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19145 if ((pi
->pubpi
.radiorev
<= 4)
19146 || (pi
->pubpi
.radiorev
== 6)) {
19147 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE0
,
19149 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19151 mod_radio_reg(pi
, RADIO_2057_TIA_CONFIG_CORE1
,
19153 (CHSPEC_IS5G(chanspec
) ? (1 << 1)
19157 wlc_phy_chanspec_radio2057_setup(pi
, t0
, t2
);
19158 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19159 (pi
->pubpi
.radiorev
==
19160 5) ? (const nphy_sfo_cfg_t
19163 : (const nphy_sfo_cfg_t
*)
19169 RADIO_2056_SYN_COM_CTRL
| RADIO_2056_SYN
,
19171 (CHSPEC_IS5G(chanspec
) ? (0x1 << 2) : 0));
19172 wlc_phy_chanspec_radio2056_setup(pi
, t1
);
19174 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19175 (const nphy_sfo_cfg_t
*)
19181 mod_radio_reg(pi
, RADIO_2055_MASTER_CNTRL1
, 0x70,
19182 (CHSPEC_IS5G(chanspec
) ? (0x02 << 4)
19185 wlc_phy_chanspec_radio2055_setup(pi
, t3
);
19186 wlc_phy_chanspec_nphy_setup(pi
, chanspec
,
19187 (const nphy_sfo_cfg_t
*)&(t3
->
19193 static void wlc_phy_savecal_nphy(phy_info_t
*pi
)
19197 u16
*txcal_radio_regs
= NULL
;
19199 if (pi
->phyhang_avoid
)
19200 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
19202 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19204 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19205 &pi
->calibration_cache
.
19208 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19210 pi
->calibration_cache
.txcal_radio_regs_2G
;
19211 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19213 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19215 RADIO_2056_TX_LOFT_FINE_I
|
19217 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19219 RADIO_2056_TX_LOFT_FINE_Q
|
19221 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19223 RADIO_2056_TX_LOFT_FINE_I
|
19225 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19227 RADIO_2056_TX_LOFT_FINE_Q
|
19230 pi
->calibration_cache
.txcal_radio_regs_2G
[4] =
19232 RADIO_2056_TX_LOFT_COARSE_I
|
19234 pi
->calibration_cache
.txcal_radio_regs_2G
[5] =
19236 RADIO_2056_TX_LOFT_COARSE_Q
|
19238 pi
->calibration_cache
.txcal_radio_regs_2G
[6] =
19240 RADIO_2056_TX_LOFT_COARSE_I
|
19242 pi
->calibration_cache
.txcal_radio_regs_2G
[7] =
19244 RADIO_2056_TX_LOFT_COARSE_Q
|
19247 pi
->calibration_cache
.txcal_radio_regs_2G
[0] =
19248 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19249 pi
->calibration_cache
.txcal_radio_regs_2G
[1] =
19250 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19251 pi
->calibration_cache
.txcal_radio_regs_2G
[2] =
19252 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19253 pi
->calibration_cache
.txcal_radio_regs_2G
[3] =
19254 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19257 pi
->nphy_iqcal_chanspec_2G
= pi
->radio_chanspec
;
19258 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19261 wlc_phy_rx_iq_coeffs_nphy(pi
, 0,
19262 &pi
->calibration_cache
.
19265 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19267 pi
->calibration_cache
.txcal_radio_regs_5G
;
19268 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19270 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19272 RADIO_2056_TX_LOFT_FINE_I
|
19274 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19276 RADIO_2056_TX_LOFT_FINE_Q
|
19278 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19280 RADIO_2056_TX_LOFT_FINE_I
|
19282 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19284 RADIO_2056_TX_LOFT_FINE_Q
|
19287 pi
->calibration_cache
.txcal_radio_regs_5G
[4] =
19289 RADIO_2056_TX_LOFT_COARSE_I
|
19291 pi
->calibration_cache
.txcal_radio_regs_5G
[5] =
19293 RADIO_2056_TX_LOFT_COARSE_Q
|
19295 pi
->calibration_cache
.txcal_radio_regs_5G
[6] =
19297 RADIO_2056_TX_LOFT_COARSE_I
|
19299 pi
->calibration_cache
.txcal_radio_regs_5G
[7] =
19301 RADIO_2056_TX_LOFT_COARSE_Q
|
19304 pi
->calibration_cache
.txcal_radio_regs_5G
[0] =
19305 read_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
);
19306 pi
->calibration_cache
.txcal_radio_regs_5G
[1] =
19307 read_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
);
19308 pi
->calibration_cache
.txcal_radio_regs_5G
[2] =
19309 read_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
);
19310 pi
->calibration_cache
.txcal_radio_regs_5G
[3] =
19311 read_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
);
19314 pi
->nphy_iqcal_chanspec_5G
= pi
->radio_chanspec
;
19315 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19317 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19318 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19320 txcal_radio_regs
[2 * coreNum
] =
19321 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19323 txcal_radio_regs
[2 * coreNum
+ 1] =
19324 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19327 txcal_radio_regs
[2 * coreNum
+ 4] =
19328 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19330 txcal_radio_regs
[2 * coreNum
+ 5] =
19331 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19336 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 8, 80, 16, tbl_ptr
);
19338 if (pi
->phyhang_avoid
)
19339 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
19342 static void wlc_phy_restorecal_nphy(phy_info_t
*pi
)
19345 u16 txcal_coeffs_bphy
[4];
19348 u16
*txcal_radio_regs
= NULL
;
19350 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19351 if (pi
->nphy_iqcal_chanspec_2G
== 0)
19354 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_2G
;
19355 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_2G
[5];
19357 if (pi
->nphy_iqcal_chanspec_5G
== 0)
19360 tbl_ptr
= pi
->calibration_cache
.txcal_coeffs_5G
;
19361 loft_comp
= &pi
->calibration_cache
.txcal_coeffs_5G
[5];
19364 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80, 16,
19367 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19368 txcal_coeffs_bphy
[0] = tbl_ptr
[0];
19369 txcal_coeffs_bphy
[1] = tbl_ptr
[1];
19370 txcal_coeffs_bphy
[2] = tbl_ptr
[2];
19371 txcal_coeffs_bphy
[3] = tbl_ptr
[3];
19373 txcal_coeffs_bphy
[0] = 0;
19374 txcal_coeffs_bphy
[1] = 0;
19375 txcal_coeffs_bphy
[2] = 0;
19376 txcal_coeffs_bphy
[3] = 0;
19379 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88, 16,
19380 txcal_coeffs_bphy
);
19382 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85, 16, loft_comp
);
19384 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93, 16, loft_comp
);
19386 if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
19387 wlc_phy_tx_iq_war_nphy(pi
);
19389 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
19390 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19392 pi
->calibration_cache
.txcal_radio_regs_2G
;
19393 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19395 write_radio_reg(pi
,
19396 RADIO_2056_TX_LOFT_FINE_I
|
19398 pi
->calibration_cache
.
19399 txcal_radio_regs_2G
[0]);
19400 write_radio_reg(pi
,
19401 RADIO_2056_TX_LOFT_FINE_Q
|
19403 pi
->calibration_cache
.
19404 txcal_radio_regs_2G
[1]);
19405 write_radio_reg(pi
,
19406 RADIO_2056_TX_LOFT_FINE_I
|
19408 pi
->calibration_cache
.
19409 txcal_radio_regs_2G
[2]);
19410 write_radio_reg(pi
,
19411 RADIO_2056_TX_LOFT_FINE_Q
|
19413 pi
->calibration_cache
.
19414 txcal_radio_regs_2G
[3]);
19416 write_radio_reg(pi
,
19417 RADIO_2056_TX_LOFT_COARSE_I
|
19419 pi
->calibration_cache
.
19420 txcal_radio_regs_2G
[4]);
19421 write_radio_reg(pi
,
19422 RADIO_2056_TX_LOFT_COARSE_Q
|
19424 pi
->calibration_cache
.
19425 txcal_radio_regs_2G
[5]);
19426 write_radio_reg(pi
,
19427 RADIO_2056_TX_LOFT_COARSE_I
|
19429 pi
->calibration_cache
.
19430 txcal_radio_regs_2G
[6]);
19431 write_radio_reg(pi
,
19432 RADIO_2056_TX_LOFT_COARSE_Q
|
19434 pi
->calibration_cache
.
19435 txcal_radio_regs_2G
[7]);
19437 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19438 pi
->calibration_cache
.
19439 txcal_radio_regs_2G
[0]);
19440 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19441 pi
->calibration_cache
.
19442 txcal_radio_regs_2G
[1]);
19443 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19444 pi
->calibration_cache
.
19445 txcal_radio_regs_2G
[2]);
19446 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19447 pi
->calibration_cache
.
19448 txcal_radio_regs_2G
[3]);
19451 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19452 &pi
->calibration_cache
.
19455 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19457 pi
->calibration_cache
.txcal_radio_regs_5G
;
19458 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19460 write_radio_reg(pi
,
19461 RADIO_2056_TX_LOFT_FINE_I
|
19463 pi
->calibration_cache
.
19464 txcal_radio_regs_5G
[0]);
19465 write_radio_reg(pi
,
19466 RADIO_2056_TX_LOFT_FINE_Q
|
19468 pi
->calibration_cache
.
19469 txcal_radio_regs_5G
[1]);
19470 write_radio_reg(pi
,
19471 RADIO_2056_TX_LOFT_FINE_I
|
19473 pi
->calibration_cache
.
19474 txcal_radio_regs_5G
[2]);
19475 write_radio_reg(pi
,
19476 RADIO_2056_TX_LOFT_FINE_Q
|
19478 pi
->calibration_cache
.
19479 txcal_radio_regs_5G
[3]);
19481 write_radio_reg(pi
,
19482 RADIO_2056_TX_LOFT_COARSE_I
|
19484 pi
->calibration_cache
.
19485 txcal_radio_regs_5G
[4]);
19486 write_radio_reg(pi
,
19487 RADIO_2056_TX_LOFT_COARSE_Q
|
19489 pi
->calibration_cache
.
19490 txcal_radio_regs_5G
[5]);
19491 write_radio_reg(pi
,
19492 RADIO_2056_TX_LOFT_COARSE_I
|
19494 pi
->calibration_cache
.
19495 txcal_radio_regs_5G
[6]);
19496 write_radio_reg(pi
,
19497 RADIO_2056_TX_LOFT_COARSE_Q
|
19499 pi
->calibration_cache
.
19500 txcal_radio_regs_5G
[7]);
19502 write_radio_reg(pi
, RADIO_2055_CORE1_TX_VOS_CNCL
,
19503 pi
->calibration_cache
.
19504 txcal_radio_regs_5G
[0]);
19505 write_radio_reg(pi
, RADIO_2055_CORE2_TX_VOS_CNCL
,
19506 pi
->calibration_cache
.
19507 txcal_radio_regs_5G
[1]);
19508 write_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
,
19509 pi
->calibration_cache
.
19510 txcal_radio_regs_5G
[2]);
19511 write_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
,
19512 pi
->calibration_cache
.
19513 txcal_radio_regs_5G
[3]);
19516 wlc_phy_rx_iq_coeffs_nphy(pi
, 1,
19517 &pi
->calibration_cache
.
19521 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19522 for (coreNum
= 0; coreNum
<= 1; coreNum
++) {
19524 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19526 txcal_radio_regs
[2 * coreNum
]);
19527 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19529 txcal_radio_regs
[2 * coreNum
+ 1]);
19531 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19533 txcal_radio_regs
[2 * coreNum
+ 4]);
19534 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, coreNum
,
19536 txcal_radio_regs
[2 * coreNum
+ 5]);
19541 void wlc_phy_antsel_init(wlc_phy_t
*ppi
, bool lut_init
)
19543 phy_info_t
*pi
= (phy_info_t
*) ppi
;
19547 if (NREV_GE(pi
->pubpi
.phy_rev
, 7))
19550 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
19551 u16 v0
= 0x211, v1
= 0x222, v2
= 0x144, v3
= 0x188;
19553 if (lut_init
== false)
19556 if (pi
->srom_fem2g
.antswctrllut
== 0) {
19557 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19559 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19561 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19563 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19567 if (pi
->srom_fem5g
.antswctrllut
== 0) {
19568 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19570 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19572 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19574 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_ANTSWCTRLLUT
,
19579 write_phy_reg(pi
, 0xc8, 0x0);
19580 write_phy_reg(pi
, 0xc9, 0x0);
19582 si_gpiocontrol(pi
->sh
->sih
, mask
, mask
, GPIO_DRV_PRIORITY
);
19584 mc
= R_REG(&pi
->regs
->maccontrol
);
19585 mc
&= ~MCTL_GPOUT_SEL_MASK
;
19586 W_REG(&pi
->regs
->maccontrol
, mc
);
19588 OR_REG(&pi
->regs
->psm_gpio_oe
, mask
);
19590 AND_REG(&pi
->regs
->psm_gpio_out
, ~mask
);
19593 write_phy_reg(pi
, 0xf8, 0x02d8);
19594 write_phy_reg(pi
, 0xf9, 0x0301);
19595 write_phy_reg(pi
, 0xfa, 0x02d8);
19596 write_phy_reg(pi
, 0xfb, 0x0301);
19601 u16
wlc_phy_classifier_nphy(phy_info_t
*pi
, u16 mask
, u16 val
)
19603 u16 curr_ctl
, new_ctl
;
19604 bool suspended
= false;
19606 if (D11REV_IS(pi
->sh
->corerev
, 16)) {
19608 (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
) ?
19611 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
19614 curr_ctl
= read_phy_reg(pi
, 0xb0) & (0x7 << 0);
19616 new_ctl
= (curr_ctl
& (~mask
)) | (val
& mask
);
19618 mod_phy_reg(pi
, 0xb0, (0x7 << 0), new_ctl
);
19620 if (D11REV_IS(pi
->sh
->corerev
, 16) && !suspended
)
19621 wlapi_enable_mac(pi
->sh
->physhim
);
19626 static void wlc_phy_clip_det_nphy(phy_info_t
*pi
, u8 write
, u16
*vals
)
19630 vals
[0] = read_phy_reg(pi
, 0x2c);
19631 vals
[1] = read_phy_reg(pi
, 0x42);
19633 write_phy_reg(pi
, 0x2c, vals
[0]);
19634 write_phy_reg(pi
, 0x42, vals
[1]);
19638 void wlc_phy_force_rfseq_nphy(phy_info_t
*pi
, u8 cmd
)
19640 u16 trigger_mask
, status_mask
;
19641 u16 orig_RfseqCoreActv
;
19644 case NPHY_RFSEQ_RX2TX
:
19645 trigger_mask
= NPHY_RfseqTrigger_rx2tx
;
19646 status_mask
= NPHY_RfseqStatus_rx2tx
;
19648 case NPHY_RFSEQ_TX2RX
:
19649 trigger_mask
= NPHY_RfseqTrigger_tx2rx
;
19650 status_mask
= NPHY_RfseqStatus_tx2rx
;
19652 case NPHY_RFSEQ_RESET2RX
:
19653 trigger_mask
= NPHY_RfseqTrigger_reset2rx
;
19654 status_mask
= NPHY_RfseqStatus_reset2rx
;
19656 case NPHY_RFSEQ_UPDATEGAINH
:
19657 trigger_mask
= NPHY_RfseqTrigger_updategainh
;
19658 status_mask
= NPHY_RfseqStatus_updategainh
;
19660 case NPHY_RFSEQ_UPDATEGAINL
:
19661 trigger_mask
= NPHY_RfseqTrigger_updategainl
;
19662 status_mask
= NPHY_RfseqStatus_updategainl
;
19664 case NPHY_RFSEQ_UPDATEGAINU
:
19665 trigger_mask
= NPHY_RfseqTrigger_updategainu
;
19666 status_mask
= NPHY_RfseqStatus_updategainu
;
19672 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
19673 or_phy_reg(pi
, 0xa1,
19674 (NPHY_RfseqMode_CoreActv_override
|
19675 NPHY_RfseqMode_Trigger_override
));
19676 or_phy_reg(pi
, 0xa3, trigger_mask
);
19677 SPINWAIT((read_phy_reg(pi
, 0xa4) & status_mask
), 200000);
19678 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
19680 ASSERT((read_phy_reg(pi
, 0xa4) & status_mask
) == 0);
19684 wlc_phy_set_rfseq_nphy(phy_info_t
*pi
, u8 cmd
, u8
*events
, u8
*dlys
,
19687 u32 t1_offset
, t2_offset
;
19690 NREV_GE(pi
->pubpi
.phy_rev
,
19691 3) ? NPHY_REV3_RFSEQ_CMD_END
: NPHY_RFSEQ_CMD_END
;
19694 if (pi
->phyhang_avoid
)
19695 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
19697 t1_offset
= cmd
<< 4;
19698 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t1_offset
, 8,
19700 t2_offset
= t1_offset
+ 0x080;
19701 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, len
, t2_offset
, 8,
19704 for (ctr
= len
; ctr
< 16; ctr
++) {
19705 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19706 t1_offset
+ ctr
, 8, &end_event
);
19707 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19708 t2_offset
+ ctr
, 8, &end_dly
);
19711 if (pi
->phyhang_avoid
)
19712 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
19715 static u16
wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t
*pi
, u16 offset
)
19717 u16 lpf_bw_ctl_val
= 0;
19718 u16 rx2tx_lpf_rc_lut_offset
= 0;
19721 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
19722 rx2tx_lpf_rc_lut_offset
= 0x159;
19724 rx2tx_lpf_rc_lut_offset
= 0x154;
19727 rx2tx_lpf_rc_lut_offset
= offset
;
19729 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 1,
19730 (u32
) rx2tx_lpf_rc_lut_offset
, 16,
19733 lpf_bw_ctl_val
= lpf_bw_ctl_val
& 0x7;
19735 return lpf_bw_ctl_val
;
19739 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t
*pi
, u16 field
, u16 value
,
19740 u8 core_mask
, u8 off
, u8 override_id
)
19743 u16 addr
= 0, en_addr
= 0, val_addr
= 0, en_mask
= 0, val_mask
= 0;
19746 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
19748 for (core_num
= 0; core_num
< 2; core_num
++) {
19749 if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID0
) {
19753 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19754 val_addr
= (core_num
== 0) ? 0x7a :
19756 val_mask
= (0x1 << 1);
19760 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19761 val_addr
= (core_num
== 0) ? 0x7a :
19763 val_mask
= (0x1 << 2);
19767 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19768 val_addr
= (core_num
== 0) ? 0x7a :
19770 val_mask
= (0x1 << 4);
19774 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19775 val_addr
= (core_num
== 0) ? 0x7a :
19777 val_mask
= (0x1 << 5);
19781 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19782 val_addr
= (core_num
== 0) ? 0x7a :
19784 val_mask
= (0x1 << 6);
19788 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19789 val_addr
= (core_num
== 0) ? 0x7a :
19791 val_mask
= (0x1 << 7);
19795 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19796 val_addr
= (core_num
== 0) ? 0xf8 :
19798 val_mask
= (0x7 << 4);
19802 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19803 val_addr
= (core_num
== 0) ? 0x7b :
19805 val_mask
= (0xffff << 0);
19809 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19810 val_addr
= (core_num
== 0) ? 0x7c :
19812 val_mask
= (0xffff << 0);
19816 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19817 val_addr
= (core_num
== 0) ? 0x348 :
19819 val_mask
= (0xff << 0);
19823 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
19824 val_addr
= (core_num
== 0) ? 0x348 :
19826 val_mask
= (0xf << 0);
19833 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID1
) {
19837 en_addr
= (core_num
== 0) ? 0x342 :
19839 val_addr
= (core_num
== 0) ? 0x340 :
19841 val_mask
= (0x1 << 1);
19845 en_addr
= (core_num
== 0) ? 0x342 :
19847 val_addr
= (core_num
== 0) ? 0x340 :
19849 val_mask
= (0x1 << 3);
19853 en_addr
= (core_num
== 0) ? 0x342 :
19855 val_addr
= (core_num
== 0) ? 0x340 :
19857 val_mask
= (0x1 << 5);
19861 en_addr
= (core_num
== 0) ? 0x342 :
19863 val_addr
= (core_num
== 0) ? 0x340 :
19865 val_mask
= (0x1 << 4);
19870 en_addr
= (core_num
== 0) ? 0x342 :
19872 val_addr
= (core_num
== 0) ? 0x340 :
19874 val_mask
= (0x1 << 2);
19879 en_addr
= (core_num
== 0) ? 0x342 :
19881 val_addr
= (core_num
== 0) ? 0x340 :
19883 val_mask
= (0x7 << 8);
19887 en_addr
= (core_num
== 0) ? 0x342 :
19889 val_addr
= (core_num
== 0) ? 0x340 :
19891 val_mask
= (0x1 << 14);
19895 en_addr
= (core_num
== 0) ? 0x342 :
19897 val_addr
= (core_num
== 0) ? 0x340 :
19899 val_mask
= (0x1 << 13);
19903 en_addr
= (core_num
== 0) ? 0x342 :
19905 val_addr
= (core_num
== 0) ? 0x340 :
19907 val_mask
= (0x1 << 12);
19911 en_addr
= (core_num
== 0) ? 0x342 :
19913 val_addr
= (core_num
== 0) ? 0x340 :
19915 val_mask
= (0x1 << 11);
19919 en_addr
= (core_num
== 0) ? 0x342 :
19921 val_addr
= (core_num
== 0) ? 0x340 :
19923 val_mask
= (0x1 << 6);
19927 en_addr
= (core_num
== 0) ? 0x342 :
19929 val_addr
= (core_num
== 0) ? 0x340 :
19931 val_mask
= (0x1 << 0);
19938 } else if (override_id
== NPHY_REV7_RFCTRLOVERRIDE_ID2
) {
19942 en_addr
= (core_num
== 0) ? 0x346 :
19944 val_addr
= (core_num
== 0) ? 0x344 :
19946 val_mask
= (0x1 << 3);
19950 en_addr
= (core_num
== 0) ? 0x346 :
19952 val_addr
= (core_num
== 0) ? 0x344 :
19954 val_mask
= (0x1 << 1);
19958 en_addr
= (core_num
== 0) ? 0x346 :
19960 val_addr
= (core_num
== 0) ? 0x344 :
19962 val_mask
= (0x1 << 0);
19966 en_addr
= (core_num
== 0) ? 0x346 :
19968 val_addr
= (core_num
== 0) ? 0x344 :
19970 val_mask
= (0x1 << 2);
19974 en_addr
= (core_num
== 0) ? 0x346 :
19976 val_addr
= (core_num
== 0) ? 0x344 :
19978 val_mask
= (0x1 << 4);
19988 and_phy_reg(pi
, en_addr
, ~en_mask
);
19989 and_phy_reg(pi
, val_addr
, ~val_mask
);
19992 if ((core_mask
== 0)
19993 || (core_mask
& (1 << core_num
))) {
19994 or_phy_reg(pi
, en_addr
, en_mask
);
19996 if (addr
!= 0xffff) {
19997 mod_phy_reg(pi
, val_addr
,
20009 wlc_phy_rfctrl_override_nphy(phy_info_t
*pi
, u16 field
, u16 value
,
20010 u8 core_mask
, u8 off
)
20013 u16 addr
= 0, mask
= 0, en_addr
= 0, val_addr
= 0, en_mask
=
20015 u8 shift
= 0, val_shift
= 0;
20017 if (NREV_GE(pi
->pubpi
.phy_rev
, 3) && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
20020 for (core_num
= 0; core_num
< 2; core_num
++) {
20024 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20025 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20026 val_mask
= (0x1 << 0);
20030 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20031 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20032 val_mask
= (0x1 << 1);
20036 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20037 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20038 val_mask
= (0x1 << 2);
20042 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20043 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20044 val_mask
= (0x1 << 4);
20048 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20049 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20050 val_mask
= (0x1 << 5);
20054 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20055 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20056 val_mask
= (0x1 << 6);
20060 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20061 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20062 val_mask
= (0x1 << 7);
20066 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20067 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20068 val_mask
= (0x7 << 8);
20072 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20073 val_addr
= (core_num
== 0) ? 0x7a : 0x7d;
20074 val_mask
= (0x7 << 13);
20079 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20080 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20081 val_mask
= (0x7 << 0);
20086 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20087 val_addr
= (core_num
== 0) ? 0xf8 : 0xfa;
20088 val_mask
= (0x7 << 4);
20093 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20094 val_addr
= (core_num
== 0) ? 0x7b : 0x7e;
20095 val_mask
= (0xffff << 0);
20099 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20100 val_addr
= (core_num
== 0) ? 0x7c : 0x7f;
20101 val_mask
= (0xffff << 0);
20105 en_addr
= (core_num
== 0) ? 0xe7 : 0xec;
20106 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20107 val_mask
= (0x3 << 6);
20111 en_addr
= (core_num
== 0) ? 0xe5 : 0xe6;
20112 val_addr
= (core_num
== 0) ? 0xf9 : 0xfb;
20113 val_mask
= (0x1 << 15);
20122 and_phy_reg(pi
, en_addr
, ~en_mask
);
20123 and_phy_reg(pi
, val_addr
, ~val_mask
);
20126 if ((core_mask
== 0)
20127 || (core_mask
& (1 << core_num
))) {
20128 or_phy_reg(pi
, en_addr
, en_mask
);
20130 if (addr
!= 0xffff) {
20131 mod_phy_reg(pi
, val_addr
,
20142 and_phy_reg(pi
, 0xec, ~field
);
20145 or_phy_reg(pi
, 0xec, field
);
20148 for (core_num
= 0; core_num
< 2; core_num
++) {
20167 addr
= (core_num
== 0) ? 0x7a : 0x7d;
20170 addr
= (core_num
== 0) ? 0x7b : 0x7e;
20173 addr
= (core_num
== 0) ? 0x7c : 0x7f;
20197 mask
= (0xf << 12);
20242 if ((addr
!= 0xffff) && (core_mask
& (1 << core_num
))) {
20243 mod_phy_reg(pi
, addr
, mask
, (value
<< shift
));
20247 or_phy_reg(pi
, 0xec, (0x1 << 0));
20248 or_phy_reg(pi
, 0x78, (0x1 << 0));
20250 and_phy_reg(pi
, 0xec, ~(0x1 << 0));
20255 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t
*pi
, u16 cmd
, u16 value
,
20256 u8 core_mask
, u8 off
)
20258 u16 rfmxgain
= 0, lpfgain
= 0;
20261 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20264 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
:
20265 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
20266 value
, core_mask
, off
,
20267 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20268 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), value
,
20270 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20271 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), value
,
20273 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20275 case NPHY_REV7_RfctrlOverride_cmd_rx_pu
:
20276 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20277 value
, core_mask
, off
,
20278 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20279 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20281 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20282 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20284 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20285 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20287 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20288 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0,
20290 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20292 case NPHY_REV7_RfctrlOverride_cmd_tx_pu
:
20293 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
20294 value
, core_mask
, off
,
20295 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20296 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), value
,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), value
,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20302 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), value
,
20304 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20305 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1,
20307 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
20309 case NPHY_REV7_RfctrlOverride_cmd_rxgain
:
20310 rfmxgain
= value
& 0x000ff;
20311 lpfgain
= value
& 0x0ff00;
20312 lpfgain
= lpfgain
>> 8;
20314 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
20315 rfmxgain
, core_mask
,
20317 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20318 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x3 << 13),
20319 lpfgain
, core_mask
,
20321 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20323 case NPHY_REV7_RfctrlOverride_cmd_txgain
:
20324 tgain
= value
& 0x7fff;
20325 lpfgain
= value
& 0x8000;
20326 lpfgain
= lpfgain
>> 14;
20328 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
20329 tgain
, core_mask
, off
,
20330 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20331 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 13),
20332 lpfgain
, core_mask
,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
20341 wlc_phy_scale_offset_rssi_nphy(phy_info_t
*pi
, u16 scale
, s8 offset
,
20342 u8 coresel
, u8 rail
, u8 rssi_type
)
20346 offset
= (offset
> NPHY_RSSICAL_MAXREAD
) ?
20347 NPHY_RSSICAL_MAXREAD
: offset
;
20348 offset
= (offset
< (-NPHY_RSSICAL_MAXREAD
- 1)) ?
20349 -NPHY_RSSICAL_MAXREAD
- 1 : offset
;
20351 valuetostuff
= ((scale
& 0x3f) << 8) | (offset
& 0x3f);
20353 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20354 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20355 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20356 write_phy_reg(pi
, 0x1a6, valuetostuff
);
20358 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20359 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20360 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20361 write_phy_reg(pi
, 0x1ac, valuetostuff
);
20363 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20364 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20365 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20366 write_phy_reg(pi
, 0x1b2, valuetostuff
);
20368 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20369 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20370 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20371 write_phy_reg(pi
, 0x1b8, valuetostuff
);
20374 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20375 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20376 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20377 write_phy_reg(pi
, 0x1a4, valuetostuff
);
20379 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20380 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20381 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20382 write_phy_reg(pi
, 0x1aa, valuetostuff
);
20384 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20385 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20386 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20387 write_phy_reg(pi
, 0x1b0, valuetostuff
);
20389 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20390 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20391 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W1
)) {
20392 write_phy_reg(pi
, 0x1b6, valuetostuff
);
20395 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20396 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20397 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20398 write_phy_reg(pi
, 0x1a5, valuetostuff
);
20400 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20401 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20402 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20403 write_phy_reg(pi
, 0x1ab, valuetostuff
);
20405 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20406 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20407 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20408 write_phy_reg(pi
, 0x1b1, valuetostuff
);
20410 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20411 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20412 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_W2
)) {
20413 write_phy_reg(pi
, 0x1b7, valuetostuff
);
20416 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20417 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20418 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20419 write_phy_reg(pi
, 0x1a7, valuetostuff
);
20421 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20422 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20423 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20424 write_phy_reg(pi
, 0x1ad, valuetostuff
);
20426 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20427 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20428 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20429 write_phy_reg(pi
, 0x1b3, valuetostuff
);
20431 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20432 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20433 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_TBD
)) {
20434 write_phy_reg(pi
, 0x1b9, valuetostuff
);
20437 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20438 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20439 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20440 write_phy_reg(pi
, 0x1a8, valuetostuff
);
20442 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20443 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20444 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20445 write_phy_reg(pi
, 0x1ae, valuetostuff
);
20447 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20448 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20449 (rail
== NPHY_RAIL_I
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20450 write_phy_reg(pi
, 0x1b4, valuetostuff
);
20452 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20453 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20454 (rail
== NPHY_RAIL_Q
) && (rssi_type
== NPHY_RSSI_SEL_IQ
)) {
20455 write_phy_reg(pi
, 0x1ba, valuetostuff
);
20458 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20459 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20460 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20461 write_phy_reg(pi
, 0x1a9, valuetostuff
);
20463 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20464 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20465 (rssi_type
== NPHY_RSSI_SEL_TSSI_2G
)) {
20466 write_phy_reg(pi
, 0x1b5, valuetostuff
);
20469 if (((coresel
== RADIO_MIMO_CORESEL_CORE1
) ||
20470 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20471 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20472 write_phy_reg(pi
, 0x1af, valuetostuff
);
20474 if (((coresel
== RADIO_MIMO_CORESEL_CORE2
) ||
20475 (coresel
== RADIO_MIMO_CORESEL_ALLRX
)) &&
20476 (rssi_type
== NPHY_RSSI_SEL_TSSI_5G
)) {
20477 write_phy_reg(pi
, 0x1bb, valuetostuff
);
20481 void wlc_phy_rssisel_nphy(phy_info_t
*pi
, u8 core_code
, u8 rssi_type
)
20484 u16 afectrlovr_rssi_val
, rfctrlcmd_rxen_val
, rfctrlcmd_coresel_val
,
20486 u16 rfctrlovr_rssi_val
, rfctrlovr_rxen_val
, rfctrlovr_coresel_val
,
20487 rfctrlovr_trigger_val
;
20488 u16 afectrlovr_rssi_mask
, rfctrlcmd_mask
, rfctrlovr_mask
;
20489 u16 rfctrlcmd_val
, rfctrlovr_val
;
20492 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20493 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20494 mod_phy_reg(pi
, 0x8f, (0x1 << 9), 0);
20495 mod_phy_reg(pi
, 0xa5, (0x1 << 9), 0);
20497 mod_phy_reg(pi
, 0xa6, (0x3 << 8), 0);
20498 mod_phy_reg(pi
, 0xa7, (0x3 << 8), 0);
20500 mod_phy_reg(pi
, 0xe5, (0x1 << 5), 0);
20501 mod_phy_reg(pi
, 0xe6, (0x1 << 5), 0);
20503 mask
= (0x1 << 2) |
20504 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20505 mod_phy_reg(pi
, 0xf9, mask
, 0);
20506 mod_phy_reg(pi
, 0xfb, mask
, 0);
20509 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
20510 if (core_code
== RADIO_MIMO_CORESEL_CORE1
20511 && core
== PHY_CORE_1
)
20513 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
20514 && core
== PHY_CORE_0
)
20517 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20518 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20520 if (rssi_type
== NPHY_RSSI_SEL_W1
||
20521 rssi_type
== NPHY_RSSI_SEL_W2
||
20522 rssi_type
== NPHY_RSSI_SEL_NB
) {
20526 PHY_CORE_0
) ? 0xa6 : 0xa7,
20529 mask
= (0x1 << 2) |
20531 (0x1 << 4) | (0x1 << 5);
20534 PHY_CORE_0
) ? 0xf9 : 0xfb,
20537 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20539 (pi
->radio_chanspec
)) {
20546 } else if (rssi_type
==
20547 NPHY_RSSI_SEL_W2
) {
20556 PHY_CORE_0
) ? 0xf9 : 0xfb,
20561 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ?
20562 0xe5 : 0xe6, mask
, val
);
20564 if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20571 : 0xa7, mask
, val
);
20572 mask
= (0x3 << 10);
20577 : 0xa7, mask
, val
);
20578 } else if (rssi_type
==
20579 NPHY_RSSI_SEL_IQ
) {
20586 : 0xa7, mask
, val
);
20587 mask
= (0x3 << 10);
20592 : 0xa7, mask
, val
);
20600 : 0xa7, mask
, val
);
20601 mask
= (0x3 << 10);
20606 : 0xa7, mask
, val
);
20610 (pi
->pubpi
.phy_rev
,
20618 RADIO_2057_TX0_TX_SSI_MUX
20620 RADIO_2057_TX1_TX_SSI_MUX
),
20629 RADIO_2056_TX_TX_SSI_MUX
20646 (pi
->pubpi
.phy_rev
,
20653 RADIO_2057_TX0_TX_SSI_MUX
20655 RADIO_2057_TX1_TX_SSI_MUX
),
20663 RADIO_2057_IQTEST_SEL_PU
,
20669 RADIO_2056_TX_TX_SSI_MUX
20681 afectrlovr_rssi_val
= 1 << 9;
20685 : 0xa5, (0x1 << 9),
20686 afectrlovr_rssi_val
);
20693 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20694 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20695 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20698 } else if (rssi_type
== NPHY_RSSI_SEL_TBD
) {
20701 } else if (rssi_type
== NPHY_RSSI_SEL_IQ
) {
20708 mask
= ((0x3 << 12) | (0x3 << 14));
20709 val
= (val
<< 12) | (val
<< 14);
20710 mod_phy_reg(pi
, 0xa6, mask
, val
);
20711 mod_phy_reg(pi
, 0xa7, mask
, val
);
20713 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20714 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20715 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20716 if (rssi_type
== NPHY_RSSI_SEL_W1
) {
20719 if (rssi_type
== NPHY_RSSI_SEL_W2
) {
20722 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
20727 mod_phy_reg(pi
, 0x7a, mask
, val
);
20728 mod_phy_reg(pi
, 0x7d, mask
, val
);
20731 if (core_code
== RADIO_MIMO_CORESEL_OFF
) {
20732 afectrlovr_rssi_val
= 0;
20733 rfctrlcmd_rxen_val
= 0;
20734 rfctrlcmd_coresel_val
= 0;
20735 rfctrlovr_rssi_val
= 0;
20736 rfctrlovr_rxen_val
= 0;
20737 rfctrlovr_coresel_val
= 0;
20738 rfctrlovr_trigger_val
= 0;
20741 afectrlovr_rssi_val
= 1;
20742 rfctrlcmd_rxen_val
= 1;
20743 rfctrlcmd_coresel_val
= core_code
;
20744 rfctrlovr_rssi_val
= 1;
20745 rfctrlovr_rxen_val
= 1;
20746 rfctrlovr_coresel_val
= 1;
20747 rfctrlovr_trigger_val
= 1;
20751 afectrlovr_rssi_mask
= ((0x1 << 12) | (0x1 << 13));
20752 afectrlovr_rssi_val
= (afectrlovr_rssi_val
<<
20753 12) | (afectrlovr_rssi_val
<< 13);
20754 mod_phy_reg(pi
, 0xa5, afectrlovr_rssi_mask
,
20755 afectrlovr_rssi_val
);
20757 if ((rssi_type
== NPHY_RSSI_SEL_W1
) ||
20758 (rssi_type
== NPHY_RSSI_SEL_W2
) ||
20759 (rssi_type
== NPHY_RSSI_SEL_NB
)) {
20760 rfctrlcmd_mask
= ((0x1 << 8) | (0x7 << 3));
20761 rfctrlcmd_val
= (rfctrlcmd_rxen_val
<< 8) |
20762 (rfctrlcmd_coresel_val
<< 3);
20764 rfctrlovr_mask
= ((0x1 << 5) |
20766 (0x1 << 1) | (0x1 << 0));
20767 rfctrlovr_val
= (rfctrlovr_rssi_val
<<
20769 (rfctrlovr_rxen_val
<< 12) |
20770 (rfctrlovr_coresel_val
<< 1) |
20771 (rfctrlovr_trigger_val
<< 0);
20773 mod_phy_reg(pi
, 0x78, rfctrlcmd_mask
, rfctrlcmd_val
);
20774 mod_phy_reg(pi
, 0xec, rfctrlovr_mask
, rfctrlovr_val
);
20776 mod_phy_reg(pi
, 0x78, (0x1 << 0), (startseq
<< 0));
20779 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
20785 wlc_phy_poll_rssi_nphy(phy_info_t
*pi
, u8 rssi_type
, s32
*rssi_buf
,
20789 u16 afectrlCore1_save
= 0;
20790 u16 afectrlCore2_save
= 0;
20791 u16 afectrlOverride1_save
= 0;
20792 u16 afectrlOverride2_save
= 0;
20793 u16 rfctrlOverrideAux0_save
= 0;
20794 u16 rfctrlOverrideAux1_save
= 0;
20795 u16 rfctrlMiscReg1_save
= 0;
20796 u16 rfctrlMiscReg2_save
= 0;
20797 u16 rfctrlcmd_save
= 0;
20798 u16 rfctrloverride_save
= 0;
20799 u16 rfctrlrssiothers1_save
= 0;
20800 u16 rfctrlrssiothers2_save
= 0;
20802 u8 ctr
= 0, samp
= 0;
20806 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20807 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20808 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20809 rfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
20810 rfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
20811 afectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
20812 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20813 rfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
20814 rfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
20816 afectrlOverride1_save
= read_phy_reg(pi
, 0xa5);
20817 rfctrlcmd_save
= read_phy_reg(pi
, 0x78);
20818 rfctrloverride_save
= read_phy_reg(pi
, 0xec);
20819 rfctrlrssiothers1_save
= read_phy_reg(pi
, 0x7a);
20820 rfctrlrssiothers2_save
= read_phy_reg(pi
, 0x7d);
20823 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
20825 gpiosel_orig
= read_phy_reg(pi
, 0xca);
20826 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20827 write_phy_reg(pi
, 0xca, 5);
20830 for (ctr
= 0; ctr
< 4; ctr
++) {
20834 for (samp
= 0; samp
< nsamps
; samp
++) {
20835 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20836 rssi0
= read_phy_reg(pi
, 0x1c9);
20837 rssi1
= read_phy_reg(pi
, 0x1ca);
20839 rssi0
= read_phy_reg(pi
, 0x219);
20840 rssi1
= read_phy_reg(pi
, 0x21a);
20844 tmp_buf
[ctr
++] = ((s8
) ((rssi0
& 0x3f) << 2)) >> 2;
20845 tmp_buf
[ctr
++] = ((s8
) (((rssi0
>> 8) & 0x3f) << 2)) >> 2;
20846 tmp_buf
[ctr
++] = ((s8
) ((rssi1
& 0x3f) << 2)) >> 2;
20847 tmp_buf
[ctr
++] = ((s8
) (((rssi1
>> 8) & 0x3f) << 2)) >> 2;
20849 for (ctr
= 0; ctr
< 4; ctr
++) {
20850 rssi_buf
[ctr
] += tmp_buf
[ctr
];
20855 rssi_out_val
= rssi_buf
[3] & 0xff;
20856 rssi_out_val
|= (rssi_buf
[2] & 0xff) << 8;
20857 rssi_out_val
|= (rssi_buf
[1] & 0xff) << 16;
20858 rssi_out_val
|= (rssi_buf
[0] & 0xff) << 24;
20860 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
20861 write_phy_reg(pi
, 0xca, gpiosel_orig
);
20864 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
20865 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
20866 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
20867 write_phy_reg(pi
, 0xf9, rfctrlMiscReg1_save
);
20868 write_phy_reg(pi
, 0xfb, rfctrlMiscReg2_save
);
20869 write_phy_reg(pi
, 0x8f, afectrlOverride1_save
);
20870 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
20871 write_phy_reg(pi
, 0xe5, rfctrlOverrideAux0_save
);
20872 write_phy_reg(pi
, 0xe6, rfctrlOverrideAux1_save
);
20874 write_phy_reg(pi
, 0xa5, afectrlOverride1_save
);
20875 write_phy_reg(pi
, 0x78, rfctrlcmd_save
);
20876 write_phy_reg(pi
, 0xec, rfctrloverride_save
);
20877 write_phy_reg(pi
, 0x7a, rfctrlrssiothers1_save
);
20878 write_phy_reg(pi
, 0x7d, rfctrlrssiothers2_save
);
20881 return rssi_out_val
;
20884 s16
wlc_phy_tempsense_nphy(phy_info_t
*pi
)
20886 u16 core1_txrf_iqcal1_save
, core1_txrf_iqcal2_save
;
20887 u16 core2_txrf_iqcal1_save
, core2_txrf_iqcal2_save
;
20888 u16 pwrdet_rxtx_core1_save
;
20889 u16 pwrdet_rxtx_core2_save
;
20890 u16 afectrlCore1_save
;
20891 u16 afectrlCore2_save
;
20892 u16 afectrlOverride_save
;
20893 u16 afectrlOverride2_save
;
20894 u16 pd_pll_ts_save
;
20897 s32 radio_temp2
[4];
20898 u16 syn_tempprocsense_save
;
20901 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
20902 u16 auxADC_Vmid
, auxADC_Av
, auxADC_Vmid_save
, auxADC_Av_save
;
20903 u16 auxADC_rssi_ctrlL_save
, auxADC_rssi_ctrlH_save
;
20904 u16 auxADC_rssi_ctrlL
, auxADC_rssi_ctrlH
;
20906 u16 RfctrlOverride5_save
, RfctrlOverride6_save
;
20907 u16 RfctrlMiscReg5_save
, RfctrlMiscReg6_save
;
20908 u16 RSSIMultCoef0QPowerDet_save
;
20909 u16 tempsense_Rcal
;
20911 syn_tempprocsense_save
=
20912 read_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
);
20914 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
20915 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
20916 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
20917 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
20918 RSSIMultCoef0QPowerDet_save
= read_phy_reg(pi
, 0x1ae);
20919 RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
20920 RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
20921 RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
20922 RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
20924 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
20925 &auxADC_Vmid_save
);
20926 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
20928 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20929 &auxADC_rssi_ctrlL_save
);
20930 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20931 &auxADC_rssi_ctrlH_save
);
20933 write_phy_reg(pi
, 0x1ae, 0x0);
20935 auxADC_rssi_ctrlL
= 0x0;
20936 auxADC_rssi_ctrlH
= 0x20;
20937 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
20938 &auxADC_rssi_ctrlL
);
20939 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
20940 &auxADC_rssi_ctrlH
);
20942 tempsense_Rcal
= syn_tempprocsense_save
& 0x1c;
20944 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
20945 tempsense_Rcal
| 0x01);
20947 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
20949 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
20950 mod_phy_reg(pi
, 0xa6, (0x1 << 7), 0);
20951 mod_phy_reg(pi
, 0xa7, (0x1 << 7), 0);
20952 mod_phy_reg(pi
, 0x8f, (0x1 << 7), (0x1 << 7));
20953 mod_phy_reg(pi
, 0xa5, (0x1 << 7), (0x1 << 7));
20955 mod_phy_reg(pi
, 0xa6, (0x1 << 2), (0x1 << 2));
20956 mod_phy_reg(pi
, 0xa7, (0x1 << 2), (0x1 << 2));
20957 mod_phy_reg(pi
, 0x8f, (0x1 << 2), (0x1 << 2));
20958 mod_phy_reg(pi
, 0xa5, (0x1 << 2), (0x1 << 2));
20960 mod_phy_reg(pi
, 0xa6, (0x1 << 2), 0);
20961 mod_phy_reg(pi
, 0xa7, (0x1 << 2), 0);
20962 mod_phy_reg(pi
, 0xa6, (0x1 << 3), 0);
20963 mod_phy_reg(pi
, 0xa7, (0x1 << 3), 0);
20964 mod_phy_reg(pi
, 0x8f, (0x1 << 3), (0x1 << 3));
20965 mod_phy_reg(pi
, 0xa5, (0x1 << 3), (0x1 << 3));
20966 mod_phy_reg(pi
, 0xa6, (0x1 << 6), 0);
20967 mod_phy_reg(pi
, 0xa7, (0x1 << 6), 0);
20968 mod_phy_reg(pi
, 0x8f, (0x1 << 6), (0x1 << 6));
20969 mod_phy_reg(pi
, 0xa5, (0x1 << 6), (0x1 << 6));
20971 auxADC_Vmid
= 0xA3;
20973 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
20975 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
20980 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
20981 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
20982 tempsense_Rcal
| 0x03);
20985 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
20988 if (radio_temp
[1] + radio_temp2
[1] < -30) {
20989 auxADC_Vmid
= 0x45;
20991 } else if (radio_temp
[1] + radio_temp2
[1] < -9) {
20992 auxADC_Vmid
= 0x200;
20994 } else if (radio_temp
[1] + radio_temp2
[1] < 11) {
20995 auxADC_Vmid
= 0x266;
20998 auxADC_Vmid
= 0x2D5;
21002 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21004 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21009 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21010 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21011 tempsense_Rcal
| 0x01);
21014 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21016 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
,
21017 syn_tempprocsense_save
);
21019 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21020 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21021 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21022 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21023 write_phy_reg(pi
, 0x1ae, RSSIMultCoef0QPowerDet_save
);
21024 write_phy_reg(pi
, 0x346, RfctrlOverride5_save
);
21025 write_phy_reg(pi
, 0x347, RfctrlOverride6_save
);
21026 write_phy_reg(pi
, 0x344, RfctrlMiscReg5_save
);
21027 write_phy_reg(pi
, 0x345, RfctrlMiscReg5_save
);
21029 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0A, 16,
21030 &auxADC_Vmid_save
);
21031 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x0E, 16,
21033 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x02, 16,
21034 &auxADC_rssi_ctrlL_save
);
21035 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 0x03, 16,
21036 &auxADC_rssi_ctrlH_save
);
21038 if (pi
->sh
->chip
== BCM5357_CHIP_ID
) {
21039 radio_temp
[0] = (193 * (radio_temp
[1] + radio_temp2
[1])
21040 + 88 * (auxADC_Vl
) - 27111 +
21042 } else if (pi
->sh
->chip
== BCM43236_CHIP_ID
) {
21043 radio_temp
[0] = (198 * (radio_temp
[1] + radio_temp2
[1])
21044 + 91 * (auxADC_Vl
) - 27243 +
21047 radio_temp
[0] = (179 * (radio_temp
[1] + radio_temp2
[1])
21048 + 82 * (auxADC_Vl
) - 28861 +
21052 offset
= (s16
) pi
->phy_tempsense_offset
;
21054 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21055 syn_tempprocsense_save
=
21056 read_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
);
21058 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21059 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21060 afectrlOverride_save
= read_phy_reg(pi
, 0x8f);
21061 afectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21062 gpioSel_save
= read_phy_reg(pi
, 0xca);
21064 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21066 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21067 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21069 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x05);
21072 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21073 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21074 write_radio_reg(pi
, RADIO_2057_TEMPSENSE_CONFIG
, 0x01);
21076 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
, 0x01);
21080 (126 * (radio_temp
[1] + radio_temp2
[1]) + 3987) / 64;
21082 write_radio_reg(pi
, RADIO_2056_SYN_TEMPPROCSENSE
,
21083 syn_tempprocsense_save
);
21085 write_phy_reg(pi
, 0xca, gpioSel_save
);
21086 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21087 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21088 write_phy_reg(pi
, 0x8f, afectrlOverride_save
);
21089 write_phy_reg(pi
, 0xa5, afectrlOverride2_save
);
21091 offset
= (s16
) pi
->phy_tempsense_offset
;
21094 pwrdet_rxtx_core1_save
=
21095 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
21096 pwrdet_rxtx_core2_save
=
21097 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
21098 core1_txrf_iqcal1_save
=
21099 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
21100 core1_txrf_iqcal2_save
=
21101 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
21102 core2_txrf_iqcal1_save
=
21103 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
21104 core2_txrf_iqcal2_save
=
21105 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
21106 pd_pll_ts_save
= read_radio_reg(pi
, RADIO_2055_PD_PLL_TS
);
21108 afectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21109 afectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21110 afectrlOverride_save
= read_phy_reg(pi
, 0xa5);
21111 gpioSel_save
= read_phy_reg(pi
, 0xca);
21113 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x01);
21114 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x01);
21115 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x08);
21116 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x08);
21117 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
21118 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
21119 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, 0x00);
21121 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21122 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21124 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp
, 1);
21125 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21127 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_IQ
, radio_temp2
, 1);
21128 xor_radio_reg(pi
, RADIO_2055_CAL_TS
, 0x80);
21130 radio_temp
[0] = (radio_temp
[0] + radio_temp2
[0]);
21131 radio_temp
[1] = (radio_temp
[1] + radio_temp2
[1]);
21132 radio_temp
[2] = (radio_temp
[2] + radio_temp2
[2]);
21133 radio_temp
[3] = (radio_temp
[3] + radio_temp2
[3]);
21136 (radio_temp
[0] + radio_temp
[1] + radio_temp
[2] +
21140 (radio_temp
[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21142 radio_temp
[0] = (radio_temp
[0] - (8 * 420)) / 38;
21144 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
21145 pwrdet_rxtx_core1_save
);
21146 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
21147 pwrdet_rxtx_core2_save
);
21148 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
21149 core1_txrf_iqcal1_save
);
21150 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
21151 core2_txrf_iqcal1_save
);
21152 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
21153 core1_txrf_iqcal2_save
);
21154 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
21155 core2_txrf_iqcal2_save
);
21156 write_radio_reg(pi
, RADIO_2055_PD_PLL_TS
, pd_pll_ts_save
);
21158 write_phy_reg(pi
, 0xca, gpioSel_save
);
21159 write_phy_reg(pi
, 0xa6, afectrlCore1_save
);
21160 write_phy_reg(pi
, 0xa7, afectrlCore2_save
);
21161 write_phy_reg(pi
, 0xa5, afectrlOverride_save
);
21164 return (s16
) radio_temp
[0] + offset
;
21168 wlc_phy_set_rssi_2055_vcm(phy_info_t
*pi
, u8 rssi_type
, u8
*vcm_buf
)
21172 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21173 if (rssi_type
== NPHY_RSSI_SEL_NB
) {
21174 if (core
== PHY_CORE_0
) {
21176 RADIO_2055_CORE1_B0_NBRSSI_VCM
,
21177 RADIO_2055_NBRSSI_VCM_I_MASK
,
21180 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21182 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21183 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21186 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21189 RADIO_2055_CORE2_B0_NBRSSI_VCM
,
21190 RADIO_2055_NBRSSI_VCM_I_MASK
,
21193 RADIO_2055_NBRSSI_VCM_I_SHIFT
);
21195 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21196 RADIO_2055_NBRSSI_VCM_Q_MASK
,
21199 RADIO_2055_NBRSSI_VCM_Q_SHIFT
);
21203 if (core
== PHY_CORE_0
) {
21205 RADIO_2055_CORE1_RXBB_RSSI_CTRL5
,
21206 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21209 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21212 RADIO_2055_CORE2_RXBB_RSSI_CTRL5
,
21213 RADIO_2055_WBRSSI_VCM_IQ_MASK
,
21216 RADIO_2055_WBRSSI_VCM_IQ_SHIFT
);
21222 void wlc_phy_rssi_cal_nphy(phy_info_t
*pi
)
21224 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21226 wlc_phy_rssi_cal_nphy_rev3(pi
);
21228 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_NB
);
21229 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W1
);
21230 wlc_phy_rssi_cal_nphy_rev2(pi
, NPHY_RSSI_SEL_W2
);
21234 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t
*pi
, u8 rssi_type
)
21239 u16 rssi_ctrl_state
[2], pd_state
[2];
21240 u16 rfctrlintc_state
[2], rfpdcorerxtx_state
[2];
21241 u16 rfctrlintc_override_val
;
21242 u16 clip_off
[] = { 0xffff, 0xffff };
21243 u16 rf_pd_val
, pd_mask
, rssi_ctrl_mask
;
21244 u8 vcm
, min_vcm
, vcm_tmp
[4];
21245 u8 vcm_final
[4] = { 0, 0, 0, 0 };
21246 u8 result_idx
, ctr
;
21247 s32 poll_results
[4][4] = {
21253 s32 poll_miniq
[4][2] = {
21260 s32 fine_digital_offset
[4];
21261 s32 poll_results_min
[4] = { 0, 0, 0, 0 };
21264 switch (rssi_type
) {
21265 case NPHY_RSSI_SEL_NB
:
21266 target_code
= NPHY_RSSICAL_NB_TARGET
;
21268 case NPHY_RSSI_SEL_W1
:
21269 target_code
= NPHY_RSSICAL_W1_TARGET
;
21271 case NPHY_RSSI_SEL_W2
:
21272 target_code
= NPHY_RSSICAL_W2_TARGET
;
21279 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21280 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21281 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21282 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21284 rf_pd_val
= (rssi_type
== NPHY_RSSI_SEL_NB
) ? 0x6 : 0x4;
21285 rfctrlintc_override_val
=
21286 CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 : 0x110;
21288 rfctrlintc_state
[0] = read_phy_reg(pi
, 0x91);
21289 rfpdcorerxtx_state
[0] = read_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
);
21290 write_phy_reg(pi
, 0x91, rfctrlintc_override_val
);
21291 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rf_pd_val
);
21293 rfctrlintc_state
[1] = read_phy_reg(pi
, 0x92);
21294 rfpdcorerxtx_state
[1] = read_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
);
21295 write_phy_reg(pi
, 0x92, rfctrlintc_override_val
);
21296 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rf_pd_val
);
21298 pd_mask
= RADIO_2055_NBRSSI_PD
| RADIO_2055_WBRSSI_G1_PD
|
21299 RADIO_2055_WBRSSI_G2_PD
;
21301 read_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
) & pd_mask
;
21303 read_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
) & pd_mask
;
21304 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, 0);
21305 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, 0);
21306 rssi_ctrl_mask
= RADIO_2055_NBRSSI_SEL
| RADIO_2055_WBRSSI_G1_SEL
|
21307 RADIO_2055_WBRSSI_G2_SEL
;
21308 rssi_ctrl_state
[0] =
21309 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE1
) & rssi_ctrl_mask
;
21310 rssi_ctrl_state
[1] =
21311 read_radio_reg(pi
, RADIO_2055_SP_RSSI_CORE2
) & rssi_ctrl_mask
;
21312 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_ALLRX
, rssi_type
);
21314 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21315 NPHY_RAIL_I
, rssi_type
);
21316 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX
,
21317 NPHY_RAIL_Q
, rssi_type
);
21319 for (vcm
= 0; vcm
< 4; vcm
++) {
21321 vcm_tmp
[0] = vcm_tmp
[1] = vcm_tmp
[2] = vcm_tmp
[3] = vcm
;
21322 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21323 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_tmp
);
21326 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, &poll_results
[vcm
][0],
21327 NPHY_RSSICAL_NPOLL
);
21329 if ((rssi_type
== NPHY_RSSI_SEL_W1
)
21330 || (rssi_type
== NPHY_RSSI_SEL_W2
)) {
21331 for (ctr
= 0; ctr
< 2; ctr
++) {
21332 poll_miniq
[vcm
][ctr
] =
21333 min(poll_results
[vcm
][ctr
* 2 + 0],
21334 poll_results
[vcm
][ctr
* 2 + 1]);
21339 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21340 min_d
= NPHY_RSSICAL_MAXD
;
21342 min_poll
= NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+ 1;
21343 for (vcm
= 0; vcm
< 4; vcm
++) {
21344 curr_d
= ABS(((rssi_type
== NPHY_RSSI_SEL_NB
) ?
21345 poll_results
[vcm
][result_idx
] :
21346 poll_miniq
[vcm
][result_idx
/ 2]) -
21347 (target_code
* NPHY_RSSICAL_NPOLL
));
21348 if (curr_d
< min_d
) {
21352 if (poll_results
[vcm
][result_idx
] < min_poll
) {
21353 min_poll
= poll_results
[vcm
][result_idx
];
21356 vcm_final
[result_idx
] = min_vcm
;
21357 poll_results_min
[result_idx
] = min_poll
;
21360 if (rssi_type
!= NPHY_RSSI_SEL_W2
) {
21361 wlc_phy_set_rssi_2055_vcm(pi
, rssi_type
, vcm_final
);
21364 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21365 fine_digital_offset
[result_idx
] =
21366 (target_code
* NPHY_RSSICAL_NPOLL
) -
21367 poll_results
[vcm_final
[result_idx
]][result_idx
];
21368 if (fine_digital_offset
[result_idx
] < 0) {
21369 fine_digital_offset
[result_idx
] =
21370 ABS(fine_digital_offset
[result_idx
]);
21371 fine_digital_offset
[result_idx
] +=
21372 (NPHY_RSSICAL_NPOLL
/ 2);
21373 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21374 fine_digital_offset
[result_idx
] =
21375 -fine_digital_offset
[result_idx
];
21377 fine_digital_offset
[result_idx
] +=
21378 (NPHY_RSSICAL_NPOLL
/ 2);
21379 fine_digital_offset
[result_idx
] /= NPHY_RSSICAL_NPOLL
;
21382 if (poll_results_min
[result_idx
] ==
21383 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21384 fine_digital_offset
[result_idx
] =
21385 (target_code
- NPHY_RSSICAL_MAXREAD
- 1);
21388 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
21390 fine_digital_offset
[result_idx
],
21392 0) ? RADIO_MIMO_CORESEL_CORE1
:
21393 RADIO_MIMO_CORESEL_CORE2
,
21395 0) ? NPHY_RAIL_I
: NPHY_RAIL_Q
,
21399 mod_radio_reg(pi
, RADIO_2055_PD_CORE1_RSSI_MISC
, pd_mask
, pd_state
[0]);
21400 mod_radio_reg(pi
, RADIO_2055_PD_CORE2_RSSI_MISC
, pd_mask
, pd_state
[1]);
21401 if (rssi_ctrl_state
[0] == RADIO_2055_NBRSSI_SEL
) {
21402 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21404 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G1_SEL
) {
21405 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21407 } else if (rssi_ctrl_state
[0] == RADIO_2055_WBRSSI_G2_SEL
) {
21408 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21411 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE1
,
21414 if (rssi_ctrl_state
[1] == RADIO_2055_NBRSSI_SEL
) {
21415 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21417 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G1_SEL
) {
21418 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21420 } else if (rssi_ctrl_state
[1] == RADIO_2055_WBRSSI_G2_SEL
) {
21421 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21424 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_CORE2
,
21428 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, rssi_type
);
21430 write_phy_reg(pi
, 0x91, rfctrlintc_state
[0]);
21431 write_radio_reg(pi
, RADIO_2055_PD_CORE1_RXTX
, rfpdcorerxtx_state
[0]);
21432 write_phy_reg(pi
, 0x92, rfctrlintc_state
[1]);
21433 write_radio_reg(pi
, RADIO_2055_PD_CORE2_RXTX
, rfpdcorerxtx_state
[1]);
21435 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
21436 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
21438 wlc_phy_resetcca_nphy(pi
);
21442 wlc_phy_rssi_compute_nphy(phy_info_t
*pi
, wlc_d11rxhdr_t
*wlc_rxh
)
21444 d11rxhdr_t
*rxh
= &wlc_rxh
->rxhdr
;
21445 s16 rxpwr
, rxpwr0
, rxpwr1
;
21446 s16 phyRx0_l
, phyRx2_l
;
21449 rxpwr0
= le16_to_cpu(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR0_MASK
;
21450 rxpwr1
= (le16_to_cpu(rxh
->PhyRxStatus_1
) & PRXS1_nphy_PWR1_MASK
) >> 8;
21457 phyRx0_l
= le16_to_cpu(rxh
->PhyRxStatus_0
) & 0x00ff;
21458 phyRx2_l
= le16_to_cpu(rxh
->PhyRxStatus_2
) & 0x00ff;
21459 if (phyRx2_l
> 127)
21462 if (((rxpwr0
== 16) || (rxpwr0
== 32))) {
21467 wlc_rxh
->rxpwr
[0] = (s8
) rxpwr0
;
21468 wlc_rxh
->rxpwr
[1] = (s8
) rxpwr1
;
21469 wlc_rxh
->do_rssi_ma
= 0;
21471 if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MAX
)
21472 rxpwr
= (rxpwr0
> rxpwr1
) ? rxpwr0
: rxpwr1
;
21473 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_MIN
)
21474 rxpwr
= (rxpwr0
< rxpwr1
) ? rxpwr0
: rxpwr1
;
21475 else if (pi
->sh
->rssi_mode
== RSSI_ANT_MERGE_AVG
)
21476 rxpwr
= (rxpwr0
+ rxpwr1
) >> 1;
21482 wlc_phy_rfctrlintc_override_nphy(phy_info_t
*pi
, u8 field
, u16 value
,
21489 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
21490 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21491 if (core_code
== RADIO_MIMO_CORESEL_CORE1
21492 && core
== PHY_CORE_1
)
21494 else if (core_code
== RADIO_MIMO_CORESEL_CORE2
21495 && core
== PHY_CORE_0
)
21498 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
21500 mask
= (0x1 << 10);
21502 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21506 if (field
== NPHY_RfctrlIntc_override_OFF
) {
21508 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x91 :
21511 wlc_phy_force_rfseq_nphy(pi
,
21512 NPHY_RFSEQ_RESET2RX
);
21513 } else if (field
== NPHY_RfctrlIntc_override_TRSW
) {
21515 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21517 mask
= (0x1 << 6) | (0x1 << 7);
21522 PHY_CORE_0
) ? 0x91 : 0x92,
21527 PHY_CORE_0
) ? 0x91 : 0x92,
21530 and_phy_reg(pi
, 0x2ff, (u16
)
21532 or_phy_reg(pi
, 0x2ff, (0x1 << 13));
21533 or_phy_reg(pi
, 0x2ff, (0x1 << 0));
21536 mask
= (0x1 << 6) |
21538 (0x1 << 8) | (0x1 << 9);
21542 PHY_CORE_0
) ? 0x91 : 0x92,
21549 PHY_CORE_0
) ? 0xe7 : 0xec,
21552 mask
= (core
== PHY_CORE_0
) ? (0x1 << 0)
21554 val
= 1 << ((core
== PHY_CORE_0
) ?
21556 mod_phy_reg(pi
, 0x78, mask
, val
);
21558 SPINWAIT(((read_phy_reg(pi
, 0x78) & val
)
21560 ASSERT((read_phy_reg(pi
, 0x78) & val
) ==
21567 PHY_CORE_0
) ? 0xe7 : 0xec,
21570 } else if (field
== NPHY_RfctrlIntc_override_PA
) {
21571 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21573 mask
= (0x1 << 4) | (0x1 << 5);
21575 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21583 PHY_CORE_0
) ? 0x91 : 0x92,
21588 PHY_CORE_0
) ? 0x91 : 0x92,
21592 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21601 PHY_CORE_0
) ? 0x91 : 0x92,
21604 } else if (field
== NPHY_RfctrlIntc_override_EXT_LNA_PU
) {
21605 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21606 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21613 : 0x92, mask
, val
);
21627 : 0x92, mask
, val
);
21636 mask
= (0x1 << 11);
21640 PHY_CORE_0
) ? 0x91 : 0x92,
21644 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21653 PHY_CORE_0
) ? 0x91 : 0x92,
21656 } else if (field
==
21657 NPHY_RfctrlIntc_override_EXT_LNA_GAIN
) {
21658 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21659 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21666 : 0x92, mask
, val
);
21680 : 0x92, mask
, val
);
21689 mask
= (0x1 << 11);
21693 PHY_CORE_0
) ? 0x91 : 0x92,
21697 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21706 PHY_CORE_0
) ? 0x91 : 0x92,
21716 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t
*pi
)
21720 u16 clip_off
[] = { 0xffff, 0xffff };
21725 s32 poll_results
[8][4] = {
21735 s32 poll_result_core
[4] = { 0, 0, 0, 0 };
21736 s32 min_d
= NPHY_RSSICAL_MAXD
, curr_d
;
21737 s32 fine_digital_offset
[4];
21738 s32 poll_results_min
[4] = { 0, 0, 0, 0 };
21744 u16 NPHY_Rfctrlintc1_save
, NPHY_Rfctrlintc2_save
;
21745 u16 NPHY_AfectrlOverride1_save
, NPHY_AfectrlOverride2_save
;
21746 u16 NPHY_AfectrlCore1_save
, NPHY_AfectrlCore2_save
;
21747 u16 NPHY_RfctrlOverride0_save
, NPHY_RfctrlOverride1_save
;
21748 u16 NPHY_RfctrlOverrideAux0_save
, NPHY_RfctrlOverrideAux1_save
;
21749 u16 NPHY_RfctrlCmd_save
;
21750 u16 NPHY_RfctrlMiscReg1_save
, NPHY_RfctrlMiscReg2_save
;
21751 u16 NPHY_RfctrlRSSIOTHERS1_save
, NPHY_RfctrlRSSIOTHERS2_save
;
21753 u16 NPHY_REV7_RfctrlOverride3_save
, NPHY_REV7_RfctrlOverride4_save
;
21754 u16 NPHY_REV7_RfctrlOverride5_save
, NPHY_REV7_RfctrlOverride6_save
;
21755 u16 NPHY_REV7_RfctrlMiscReg3_save
, NPHY_REV7_RfctrlMiscReg4_save
;
21756 u16 NPHY_REV7_RfctrlMiscReg5_save
, NPHY_REV7_RfctrlMiscReg6_save
;
21758 NPHY_REV7_RfctrlOverride3_save
= NPHY_REV7_RfctrlOverride4_save
=
21759 NPHY_REV7_RfctrlOverride5_save
= NPHY_REV7_RfctrlOverride6_save
=
21760 NPHY_REV7_RfctrlMiscReg3_save
= NPHY_REV7_RfctrlMiscReg4_save
=
21761 NPHY_REV7_RfctrlMiscReg5_save
= NPHY_REV7_RfctrlMiscReg6_save
= 0;
21763 classif_state
= wlc_phy_classifier_nphy(pi
, 0, 0);
21764 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
21765 wlc_phy_clip_det_nphy(pi
, 0, clip_state
);
21766 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
21768 NPHY_Rfctrlintc1_save
= read_phy_reg(pi
, 0x91);
21769 NPHY_Rfctrlintc2_save
= read_phy_reg(pi
, 0x92);
21770 NPHY_AfectrlOverride1_save
= read_phy_reg(pi
, 0x8f);
21771 NPHY_AfectrlOverride2_save
= read_phy_reg(pi
, 0xa5);
21772 NPHY_AfectrlCore1_save
= read_phy_reg(pi
, 0xa6);
21773 NPHY_AfectrlCore2_save
= read_phy_reg(pi
, 0xa7);
21774 NPHY_RfctrlOverride0_save
= read_phy_reg(pi
, 0xe7);
21775 NPHY_RfctrlOverride1_save
= read_phy_reg(pi
, 0xec);
21776 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21777 NPHY_REV7_RfctrlOverride3_save
= read_phy_reg(pi
, 0x342);
21778 NPHY_REV7_RfctrlOverride4_save
= read_phy_reg(pi
, 0x343);
21779 NPHY_REV7_RfctrlOverride5_save
= read_phy_reg(pi
, 0x346);
21780 NPHY_REV7_RfctrlOverride6_save
= read_phy_reg(pi
, 0x347);
21782 NPHY_RfctrlOverrideAux0_save
= read_phy_reg(pi
, 0xe5);
21783 NPHY_RfctrlOverrideAux1_save
= read_phy_reg(pi
, 0xe6);
21784 NPHY_RfctrlCmd_save
= read_phy_reg(pi
, 0x78);
21785 NPHY_RfctrlMiscReg1_save
= read_phy_reg(pi
, 0xf9);
21786 NPHY_RfctrlMiscReg2_save
= read_phy_reg(pi
, 0xfb);
21787 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21788 NPHY_REV7_RfctrlMiscReg3_save
= read_phy_reg(pi
, 0x340);
21789 NPHY_REV7_RfctrlMiscReg4_save
= read_phy_reg(pi
, 0x341);
21790 NPHY_REV7_RfctrlMiscReg5_save
= read_phy_reg(pi
, 0x344);
21791 NPHY_REV7_RfctrlMiscReg6_save
= read_phy_reg(pi
, 0x345);
21793 NPHY_RfctrlRSSIOTHERS1_save
= read_phy_reg(pi
, 0x7a);
21794 NPHY_RfctrlRSSIOTHERS2_save
= read_phy_reg(pi
, 0x7d);
21796 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_OFF
, 0,
21797 RADIO_MIMO_CORESEL_ALLRXTX
);
21798 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_TRSW
, 1,
21799 RADIO_MIMO_CORESEL_ALLRXTX
);
21801 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21802 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21803 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu
,
21806 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0, 0);
21809 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21810 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
21811 NPHY_REV7_RfctrlOverride_cmd_rx_pu
,
21814 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0, 0);
21817 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21818 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
21820 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21821 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 6), 1, 0, 0,
21822 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21824 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 7), 1, 0, 0);
21825 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 6), 1, 0, 0);
21828 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
21829 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21830 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
21832 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21833 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 1, 0,
21835 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21837 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 0, 0, 0);
21838 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 1, 0, 0);
21842 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21843 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4),
21845 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21846 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 1, 0,
21848 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
21850 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 4), 0, 0, 0);
21851 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 5), 1, 0, 0);
21855 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
21859 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21861 if ((rxcore_state
& (1 << core
)) == 0)
21864 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21867 RADIO_MIMO_CORESEL_CORE1
:
21868 RADIO_MIMO_CORESEL_CORE2
,
21869 NPHY_RAIL_I
, NPHY_RSSI_SEL_NB
);
21870 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
21873 RADIO_MIMO_CORESEL_CORE1
:
21874 RADIO_MIMO_CORESEL_CORE2
,
21875 NPHY_RAIL_Q
, NPHY_RSSI_SEL_NB
);
21877 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21878 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21880 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21881 RADIO_2057_NB_MASTER_CORE0
:
21882 RADIO_2057_NB_MASTER_CORE1
,
21883 RADIO_2057_VCM_MASK
, vcm
);
21886 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21888 PHY_CORE_0
) ? RADIO_2056_RX0
:
21890 RADIO_2056_VCM_MASK
,
21891 vcm
<< RADIO_2056_RSSI_VCM_SHIFT
);
21894 wlc_phy_poll_rssi_nphy(pi
, NPHY_RSSI_SEL_NB
,
21895 &poll_results
[vcm
][0],
21896 NPHY_RSSICAL_NPOLL
);
21899 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21900 if ((core
== result_idx
/ 2) && (result_idx
% 2 == 0)) {
21902 min_d
= NPHY_RSSICAL_MAXD
;
21905 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
+
21907 for (vcm
= 0; vcm
< vcm_level_max
; vcm
++) {
21908 curr_d
= poll_results
[vcm
][result_idx
] *
21909 poll_results
[vcm
][result_idx
] +
21910 poll_results
[vcm
][result_idx
+ 1] *
21911 poll_results
[vcm
][result_idx
+ 1];
21912 if (curr_d
< min_d
) {
21916 if (poll_results
[vcm
][result_idx
] <
21923 vcm_final
= min_vcm
;
21924 poll_results_min
[result_idx
] = min_poll
;
21928 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
21929 mod_radio_reg(pi
, (core
== PHY_CORE_0
) ?
21930 RADIO_2057_NB_MASTER_CORE0
:
21931 RADIO_2057_NB_MASTER_CORE1
,
21932 RADIO_2057_VCM_MASK
, vcm_final
);
21934 mod_radio_reg(pi
, RADIO_2056_RX_RSSI_MISC
|
21936 PHY_CORE_0
) ? RADIO_2056_RX0
:
21937 RADIO_2056_RX1
), RADIO_2056_VCM_MASK
,
21938 vcm_final
<< RADIO_2056_RSSI_VCM_SHIFT
);
21941 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
21942 if (core
== result_idx
/ 2) {
21943 fine_digital_offset
[result_idx
] =
21944 (NPHY_RSSICAL_NB_TARGET
*
21945 NPHY_RSSICAL_NPOLL
) -
21946 poll_results
[vcm_final
][result_idx
];
21947 if (fine_digital_offset
[result_idx
] < 0) {
21948 fine_digital_offset
[result_idx
] =
21949 ABS(fine_digital_offset
21951 fine_digital_offset
[result_idx
] +=
21952 (NPHY_RSSICAL_NPOLL
/ 2);
21953 fine_digital_offset
[result_idx
] /=
21954 NPHY_RSSICAL_NPOLL
;
21955 fine_digital_offset
[result_idx
] =
21956 -fine_digital_offset
[result_idx
];
21958 fine_digital_offset
[result_idx
] +=
21959 (NPHY_RSSICAL_NPOLL
/ 2);
21960 fine_digital_offset
[result_idx
] /=
21961 NPHY_RSSICAL_NPOLL
;
21964 if (poll_results_min
[result_idx
] ==
21965 NPHY_RSSICAL_MAXREAD
* NPHY_RSSICAL_NPOLL
) {
21966 fine_digital_offset
[result_idx
] =
21967 (NPHY_RSSICAL_NB_TARGET
-
21968 NPHY_RSSICAL_MAXREAD
- 1);
21971 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
21973 fine_digital_offset
21978 RADIO_MIMO_CORESEL_CORE1
21980 RADIO_MIMO_CORESEL_CORE2
,
21991 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
21993 if ((rxcore_state
& (1 << core
)) == 0)
21996 for (wb_cnt
= 0; wb_cnt
< 2; wb_cnt
++) {
21998 rssi_type
= NPHY_RSSI_SEL_W1
;
21999 target_code
= NPHY_RSSICAL_W1_TARGET_REV3
;
22001 rssi_type
= NPHY_RSSI_SEL_W2
;
22002 target_code
= NPHY_RSSICAL_W2_TARGET_REV3
;
22005 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22008 RADIO_MIMO_CORESEL_CORE1
22010 RADIO_MIMO_CORESEL_CORE2
,
22011 NPHY_RAIL_I
, rssi_type
);
22012 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0, 0x0,
22015 RADIO_MIMO_CORESEL_CORE1
22017 RADIO_MIMO_CORESEL_CORE2
,
22018 NPHY_RAIL_Q
, rssi_type
);
22020 wlc_phy_poll_rssi_nphy(pi
, rssi_type
, poll_result_core
,
22021 NPHY_RSSICAL_NPOLL
);
22023 for (result_idx
= 0; result_idx
< 4; result_idx
++) {
22024 if (core
== result_idx
/ 2) {
22025 fine_digital_offset
[result_idx
] =
22026 (target_code
* NPHY_RSSICAL_NPOLL
) -
22027 poll_result_core
[result_idx
];
22028 if (fine_digital_offset
[result_idx
] < 0) {
22029 fine_digital_offset
[result_idx
]
22031 ABS(fine_digital_offset
22033 fine_digital_offset
[result_idx
]
22034 += (NPHY_RSSICAL_NPOLL
/ 2);
22035 fine_digital_offset
[result_idx
]
22036 /= NPHY_RSSICAL_NPOLL
;
22037 fine_digital_offset
[result_idx
]
22039 -fine_digital_offset
22042 fine_digital_offset
[result_idx
]
22043 += (NPHY_RSSICAL_NPOLL
/ 2);
22044 fine_digital_offset
[result_idx
]
22045 /= NPHY_RSSICAL_NPOLL
;
22048 wlc_phy_scale_offset_rssi_nphy(pi
, 0x0,
22050 fine_digital_offset
22056 RADIO_MIMO_CORESEL_CORE1
22058 RADIO_MIMO_CORESEL_CORE2
,
22072 write_phy_reg(pi
, 0x91, NPHY_Rfctrlintc1_save
);
22073 write_phy_reg(pi
, 0x92, NPHY_Rfctrlintc2_save
);
22075 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
22077 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 1 << 0);
22078 mod_phy_reg(pi
, 0x78, (0x1 << 0), 1 << 0);
22079 mod_phy_reg(pi
, 0xe7, (0x1 << 0), 0);
22081 mod_phy_reg(pi
, 0xec, (0x1 << 0), 1 << 0);
22082 mod_phy_reg(pi
, 0x78, (0x1 << 1), 1 << 1);
22083 mod_phy_reg(pi
, 0xec, (0x1 << 0), 0);
22085 write_phy_reg(pi
, 0x8f, NPHY_AfectrlOverride1_save
);
22086 write_phy_reg(pi
, 0xa5, NPHY_AfectrlOverride2_save
);
22087 write_phy_reg(pi
, 0xa6, NPHY_AfectrlCore1_save
);
22088 write_phy_reg(pi
, 0xa7, NPHY_AfectrlCore2_save
);
22089 write_phy_reg(pi
, 0xe7, NPHY_RfctrlOverride0_save
);
22090 write_phy_reg(pi
, 0xec, NPHY_RfctrlOverride1_save
);
22091 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22092 write_phy_reg(pi
, 0x342, NPHY_REV7_RfctrlOverride3_save
);
22093 write_phy_reg(pi
, 0x343, NPHY_REV7_RfctrlOverride4_save
);
22094 write_phy_reg(pi
, 0x346, NPHY_REV7_RfctrlOverride5_save
);
22095 write_phy_reg(pi
, 0x347, NPHY_REV7_RfctrlOverride6_save
);
22097 write_phy_reg(pi
, 0xe5, NPHY_RfctrlOverrideAux0_save
);
22098 write_phy_reg(pi
, 0xe6, NPHY_RfctrlOverrideAux1_save
);
22099 write_phy_reg(pi
, 0x78, NPHY_RfctrlCmd_save
);
22100 write_phy_reg(pi
, 0xf9, NPHY_RfctrlMiscReg1_save
);
22101 write_phy_reg(pi
, 0xfb, NPHY_RfctrlMiscReg2_save
);
22102 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22103 write_phy_reg(pi
, 0x340, NPHY_REV7_RfctrlMiscReg3_save
);
22104 write_phy_reg(pi
, 0x341, NPHY_REV7_RfctrlMiscReg4_save
);
22105 write_phy_reg(pi
, 0x344, NPHY_REV7_RfctrlMiscReg5_save
);
22106 write_phy_reg(pi
, 0x345, NPHY_REV7_RfctrlMiscReg6_save
);
22108 write_phy_reg(pi
, 0x7a, NPHY_RfctrlRSSIOTHERS1_save
);
22109 write_phy_reg(pi
, 0x7d, NPHY_RfctrlRSSIOTHERS2_save
);
22111 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22112 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22113 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22114 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22115 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22116 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22118 pi
->rssical_cache
.rssical_radio_regs_2G
[0] =
22120 RADIO_2056_RX_RSSI_MISC
|
22122 pi
->rssical_cache
.rssical_radio_regs_2G
[1] =
22124 RADIO_2056_RX_RSSI_MISC
|
22128 pi
->rssical_cache
.rssical_phyregs_2G
[0] =
22129 read_phy_reg(pi
, 0x1a6);
22130 pi
->rssical_cache
.rssical_phyregs_2G
[1] =
22131 read_phy_reg(pi
, 0x1ac);
22132 pi
->rssical_cache
.rssical_phyregs_2G
[2] =
22133 read_phy_reg(pi
, 0x1b2);
22134 pi
->rssical_cache
.rssical_phyregs_2G
[3] =
22135 read_phy_reg(pi
, 0x1b8);
22136 pi
->rssical_cache
.rssical_phyregs_2G
[4] =
22137 read_phy_reg(pi
, 0x1a4);
22138 pi
->rssical_cache
.rssical_phyregs_2G
[5] =
22139 read_phy_reg(pi
, 0x1aa);
22140 pi
->rssical_cache
.rssical_phyregs_2G
[6] =
22141 read_phy_reg(pi
, 0x1b0);
22142 pi
->rssical_cache
.rssical_phyregs_2G
[7] =
22143 read_phy_reg(pi
, 0x1b6);
22144 pi
->rssical_cache
.rssical_phyregs_2G
[8] =
22145 read_phy_reg(pi
, 0x1a5);
22146 pi
->rssical_cache
.rssical_phyregs_2G
[9] =
22147 read_phy_reg(pi
, 0x1ab);
22148 pi
->rssical_cache
.rssical_phyregs_2G
[10] =
22149 read_phy_reg(pi
, 0x1b1);
22150 pi
->rssical_cache
.rssical_phyregs_2G
[11] =
22151 read_phy_reg(pi
, 0x1b7);
22153 pi
->nphy_rssical_chanspec_2G
= pi
->radio_chanspec
;
22155 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22156 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22157 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
);
22158 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22159 read_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
);
22161 pi
->rssical_cache
.rssical_radio_regs_5G
[0] =
22163 RADIO_2056_RX_RSSI_MISC
|
22165 pi
->rssical_cache
.rssical_radio_regs_5G
[1] =
22167 RADIO_2056_RX_RSSI_MISC
|
22171 pi
->rssical_cache
.rssical_phyregs_5G
[0] =
22172 read_phy_reg(pi
, 0x1a6);
22173 pi
->rssical_cache
.rssical_phyregs_5G
[1] =
22174 read_phy_reg(pi
, 0x1ac);
22175 pi
->rssical_cache
.rssical_phyregs_5G
[2] =
22176 read_phy_reg(pi
, 0x1b2);
22177 pi
->rssical_cache
.rssical_phyregs_5G
[3] =
22178 read_phy_reg(pi
, 0x1b8);
22179 pi
->rssical_cache
.rssical_phyregs_5G
[4] =
22180 read_phy_reg(pi
, 0x1a4);
22181 pi
->rssical_cache
.rssical_phyregs_5G
[5] =
22182 read_phy_reg(pi
, 0x1aa);
22183 pi
->rssical_cache
.rssical_phyregs_5G
[6] =
22184 read_phy_reg(pi
, 0x1b0);
22185 pi
->rssical_cache
.rssical_phyregs_5G
[7] =
22186 read_phy_reg(pi
, 0x1b6);
22187 pi
->rssical_cache
.rssical_phyregs_5G
[8] =
22188 read_phy_reg(pi
, 0x1a5);
22189 pi
->rssical_cache
.rssical_phyregs_5G
[9] =
22190 read_phy_reg(pi
, 0x1ab);
22191 pi
->rssical_cache
.rssical_phyregs_5G
[10] =
22192 read_phy_reg(pi
, 0x1b1);
22193 pi
->rssical_cache
.rssical_phyregs_5G
[11] =
22194 read_phy_reg(pi
, 0x1b7);
22196 pi
->nphy_rssical_chanspec_5G
= pi
->radio_chanspec
;
22199 wlc_phy_classifier_nphy(pi
, (0x7 << 0), classif_state
);
22200 wlc_phy_clip_det_nphy(pi
, 1, clip_state
);
22203 static void wlc_phy_restore_rssical_nphy(phy_info_t
*pi
)
22205 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
22206 if (pi
->nphy_rssical_chanspec_2G
== 0)
22209 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22210 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22211 RADIO_2057_VCM_MASK
,
22213 rssical_radio_regs_2G
[0]);
22214 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22215 RADIO_2057_VCM_MASK
,
22217 rssical_radio_regs_2G
[1]);
22220 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22221 RADIO_2056_VCM_MASK
,
22223 rssical_radio_regs_2G
[0]);
22225 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22226 RADIO_2056_VCM_MASK
,
22228 rssical_radio_regs_2G
[1]);
22231 write_phy_reg(pi
, 0x1a6,
22232 pi
->rssical_cache
.rssical_phyregs_2G
[0]);
22233 write_phy_reg(pi
, 0x1ac,
22234 pi
->rssical_cache
.rssical_phyregs_2G
[1]);
22235 write_phy_reg(pi
, 0x1b2,
22236 pi
->rssical_cache
.rssical_phyregs_2G
[2]);
22237 write_phy_reg(pi
, 0x1b8,
22238 pi
->rssical_cache
.rssical_phyregs_2G
[3]);
22239 write_phy_reg(pi
, 0x1a4,
22240 pi
->rssical_cache
.rssical_phyregs_2G
[4]);
22241 write_phy_reg(pi
, 0x1aa,
22242 pi
->rssical_cache
.rssical_phyregs_2G
[5]);
22243 write_phy_reg(pi
, 0x1b0,
22244 pi
->rssical_cache
.rssical_phyregs_2G
[6]);
22245 write_phy_reg(pi
, 0x1b6,
22246 pi
->rssical_cache
.rssical_phyregs_2G
[7]);
22247 write_phy_reg(pi
, 0x1a5,
22248 pi
->rssical_cache
.rssical_phyregs_2G
[8]);
22249 write_phy_reg(pi
, 0x1ab,
22250 pi
->rssical_cache
.rssical_phyregs_2G
[9]);
22251 write_phy_reg(pi
, 0x1b1,
22252 pi
->rssical_cache
.rssical_phyregs_2G
[10]);
22253 write_phy_reg(pi
, 0x1b7,
22254 pi
->rssical_cache
.rssical_phyregs_2G
[11]);
22257 if (pi
->nphy_rssical_chanspec_5G
== 0)
22260 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22261 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE0
,
22262 RADIO_2057_VCM_MASK
,
22264 rssical_radio_regs_5G
[0]);
22265 mod_radio_reg(pi
, RADIO_2057_NB_MASTER_CORE1
,
22266 RADIO_2057_VCM_MASK
,
22268 rssical_radio_regs_5G
[1]);
22271 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX0
,
22272 RADIO_2056_VCM_MASK
,
22274 rssical_radio_regs_5G
[0]);
22276 RADIO_2056_RX_RSSI_MISC
| RADIO_2056_RX1
,
22277 RADIO_2056_VCM_MASK
,
22279 rssical_radio_regs_5G
[1]);
22282 write_phy_reg(pi
, 0x1a6,
22283 pi
->rssical_cache
.rssical_phyregs_5G
[0]);
22284 write_phy_reg(pi
, 0x1ac,
22285 pi
->rssical_cache
.rssical_phyregs_5G
[1]);
22286 write_phy_reg(pi
, 0x1b2,
22287 pi
->rssical_cache
.rssical_phyregs_5G
[2]);
22288 write_phy_reg(pi
, 0x1b8,
22289 pi
->rssical_cache
.rssical_phyregs_5G
[3]);
22290 write_phy_reg(pi
, 0x1a4,
22291 pi
->rssical_cache
.rssical_phyregs_5G
[4]);
22292 write_phy_reg(pi
, 0x1aa,
22293 pi
->rssical_cache
.rssical_phyregs_5G
[5]);
22294 write_phy_reg(pi
, 0x1b0,
22295 pi
->rssical_cache
.rssical_phyregs_5G
[6]);
22296 write_phy_reg(pi
, 0x1b6,
22297 pi
->rssical_cache
.rssical_phyregs_5G
[7]);
22298 write_phy_reg(pi
, 0x1a5,
22299 pi
->rssical_cache
.rssical_phyregs_5G
[8]);
22300 write_phy_reg(pi
, 0x1ab,
22301 pi
->rssical_cache
.rssical_phyregs_5G
[9]);
22302 write_phy_reg(pi
, 0x1b1,
22303 pi
->rssical_cache
.rssical_phyregs_5G
[10]);
22304 write_phy_reg(pi
, 0x1b7,
22305 pi
->rssical_cache
.rssical_phyregs_5G
[11]);
22310 wlc_phy_gen_load_samples_nphy(phy_info_t
*pi
, u32 f_kHz
, u16 max_val
,
22313 u8 phy_bw
, is_phybw40
;
22314 u16 num_samps
, t
, spur
;
22315 fixed theta
= 0, rot
= 0;
22317 cs32
*tone_buf
= NULL
;
22319 is_phybw40
= CHSPEC_IS40(pi
->radio_chanspec
);
22320 phy_bw
= (is_phybw40
== 1) ? 40 : 20;
22321 tbl_len
= (phy_bw
<< 3);
22323 if (dac_test_mode
== 1) {
22324 spur
= read_phy_reg(pi
, 0x01);
22325 spur
= (spur
>> 15) & 1;
22326 phy_bw
= (spur
== 1) ? 82 : 80;
22327 phy_bw
= (is_phybw40
== 1) ? (phy_bw
<< 1) : phy_bw
;
22329 tbl_len
= (phy_bw
<< 1);
22332 tone_buf
= kmalloc(sizeof(cs32
) * tbl_len
, GFP_ATOMIC
);
22333 if (tone_buf
== NULL
) {
22337 num_samps
= (u16
) tbl_len
;
22338 rot
= FIXED((f_kHz
* 36) / phy_bw
) / 100;
22341 for (t
= 0; t
< num_samps
; t
++) {
22343 wlc_phy_cordic(theta
, &tone_buf
[t
]);
22347 tone_buf
[t
].q
= (s32
) FLOAT(tone_buf
[t
].q
* max_val
);
22348 tone_buf
[t
].i
= (s32
) FLOAT(tone_buf
[t
].i
* max_val
);
22351 wlc_phy_loadsampletable_nphy(pi
, tone_buf
, num_samps
);
22359 wlc_phy_tx_tone_nphy(phy_info_t
*pi
, u32 f_kHz
, u16 max_val
,
22360 u8 iqmode
, u8 dac_test_mode
, bool modify_bbmult
)
22363 u16 loops
= 0xffff;
22367 wlc_phy_gen_load_samples_nphy(pi
, f_kHz
, max_val
, dac_test_mode
);
22368 if (num_samps
== 0) {
22372 wlc_phy_runsamples_nphy(pi
, num_samps
, loops
, wait
, iqmode
,
22373 dac_test_mode
, modify_bbmult
);
22379 wlc_phy_loadsampletable_nphy(phy_info_t
*pi
, cs32
*tone_buf
,
22383 u32
*data_buf
= NULL
;
22385 data_buf
= kmalloc(sizeof(u32
) * num_samps
, GFP_ATOMIC
);
22386 if (data_buf
== NULL
) {
22390 if (pi
->phyhang_avoid
)
22391 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22393 for (t
= 0; t
< num_samps
; t
++) {
22394 data_buf
[t
] = ((((unsigned int)tone_buf
[t
].i
) & 0x3ff) << 10) |
22395 (((unsigned int)tone_buf
[t
].q
) & 0x3ff);
22397 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SAMPLEPLAY
, num_samps
, 0, 32,
22402 if (pi
->phyhang_avoid
)
22403 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22407 wlc_phy_runsamples_nphy(phy_info_t
*pi
, u16 num_samps
, u16 loops
,
22408 u16 wait
, u8 iqmode
, u8 dac_test_mode
,
22409 bool modify_bbmult
)
22412 u8 phy_bw
, sample_cmd
;
22413 u16 orig_RfseqCoreActv
;
22414 u16 lpf_bw_ctl_override3
, lpf_bw_ctl_override4
, lpf_bw_ctl_miscreg3
,
22415 lpf_bw_ctl_miscreg4
;
22417 if (pi
->phyhang_avoid
)
22418 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22421 if (CHSPEC_IS40(pi
->radio_chanspec
))
22424 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22426 lpf_bw_ctl_override3
= read_phy_reg(pi
, 0x342) & (0x1 << 7);
22427 lpf_bw_ctl_override4
= read_phy_reg(pi
, 0x343) & (0x1 << 7);
22428 if (lpf_bw_ctl_override3
| lpf_bw_ctl_override4
) {
22429 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22431 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22434 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22436 wlc_phy_read_lpf_bw_ctl_nphy
22438 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22440 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= true;
22442 lpf_bw_ctl_miscreg3
= read_phy_reg(pi
, 0x340) &
22444 lpf_bw_ctl_miscreg4
= read_phy_reg(pi
, 0x341) &
22449 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) == 0) {
22451 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22453 pi
->nphy_bb_mult_save
=
22454 BB_MULT_VALID_MASK
| (bb_mult
& BB_MULT_MASK
);
22457 if (modify_bbmult
) {
22458 bb_mult
= (phy_bw
== 20) ? 100 : 71;
22459 bb_mult
= (bb_mult
<< 8) + bb_mult
;
22460 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22464 if (pi
->phyhang_avoid
)
22465 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22467 write_phy_reg(pi
, 0xc6, num_samps
- 1);
22469 if (loops
!= 0xffff) {
22470 write_phy_reg(pi
, 0xc4, loops
- 1);
22472 write_phy_reg(pi
, 0xc4, loops
);
22474 write_phy_reg(pi
, 0xc5, wait
);
22476 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa1);
22477 or_phy_reg(pi
, 0xa1, NPHY_RfseqMode_CoreActv_override
);
22480 and_phy_reg(pi
, 0xc2, 0x7FFF);
22482 or_phy_reg(pi
, 0xc2, 0x8000);
22485 sample_cmd
= (dac_test_mode
== 1) ? 0x5 : 0x1;
22486 write_phy_reg(pi
, 0xc3, sample_cmd
);
22489 SPINWAIT(((read_phy_reg(pi
, 0xa4) & 0x1) == 1), 1000);
22491 write_phy_reg(pi
, 0xa1, orig_RfseqCoreActv
);
22494 void wlc_phy_stopplayback_nphy(phy_info_t
*pi
)
22496 u16 playback_status
;
22499 if (pi
->phyhang_avoid
)
22500 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22502 playback_status
= read_phy_reg(pi
, 0xc7);
22503 if (playback_status
& 0x1) {
22504 or_phy_reg(pi
, 0xc3, NPHY_sampleCmd_STOP
);
22505 } else if (playback_status
& 0x2) {
22507 and_phy_reg(pi
, 0xc2,
22508 (u16
) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN
);
22511 and_phy_reg(pi
, 0xc3, (u16
) ~(0x1 << 2));
22513 if ((pi
->nphy_bb_mult_save
& BB_MULT_VALID_MASK
) != 0) {
22515 bb_mult
= pi
->nphy_bb_mult_save
& BB_MULT_MASK
;
22516 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, 87, 16,
22519 pi
->nphy_bb_mult_save
= 0;
22522 if (NREV_IS(pi
->pubpi
.phy_rev
, 7) || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
22523 if (pi
->nphy_sample_play_lpf_bw_ctl_ovr
) {
22524 wlc_phy_rfctrl_override_nphy_rev7(pi
,
22527 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
22528 pi
->nphy_sample_play_lpf_bw_ctl_ovr
= false;
22532 if (pi
->phyhang_avoid
)
22533 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22536 nphy_txgains_t
wlc_phy_get_tx_gain_nphy(phy_info_t
*pi
)
22538 u16 base_idx
[2], curr_gain
[2];
22540 nphy_txgains_t target_gain
;
22541 u32
*tx_pwrctrl_tbl
= NULL
;
22543 if (pi
->nphy_txpwrctrl
== PHY_TPC_HW_OFF
) {
22544 if (pi
->phyhang_avoid
)
22545 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
22547 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
22550 if (pi
->phyhang_avoid
)
22551 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
22553 for (core_no
= 0; core_no
< 2; core_no
++) {
22554 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22555 target_gain
.ipa
[core_no
] =
22556 curr_gain
[core_no
] & 0x0007;
22557 target_gain
.pad
[core_no
] =
22558 ((curr_gain
[core_no
] & 0x00F8) >> 3);
22559 target_gain
.pga
[core_no
] =
22560 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22561 target_gain
.txgm
[core_no
] =
22562 ((curr_gain
[core_no
] & 0x7000) >> 12);
22563 target_gain
.txlpf
[core_no
] =
22564 ((curr_gain
[core_no
] & 0x8000) >> 15);
22565 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22566 target_gain
.ipa
[core_no
] =
22567 curr_gain
[core_no
] & 0x000F;
22568 target_gain
.pad
[core_no
] =
22569 ((curr_gain
[core_no
] & 0x00F0) >> 4);
22570 target_gain
.pga
[core_no
] =
22571 ((curr_gain
[core_no
] & 0x0F00) >> 8);
22572 target_gain
.txgm
[core_no
] =
22573 ((curr_gain
[core_no
] & 0x7000) >> 12);
22575 target_gain
.ipa
[core_no
] =
22576 curr_gain
[core_no
] & 0x0003;
22577 target_gain
.pad
[core_no
] =
22578 ((curr_gain
[core_no
] & 0x000C) >> 2);
22579 target_gain
.pga
[core_no
] =
22580 ((curr_gain
[core_no
] & 0x0070) >> 4);
22581 target_gain
.txgm
[core_no
] =
22582 ((curr_gain
[core_no
] & 0x0380) >> 7);
22586 base_idx
[0] = (read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f;
22587 base_idx
[1] = (read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f;
22588 for (core_no
= 0; core_no
< 2; core_no
++) {
22589 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22592 wlc_phy_get_ipa_gaintbl_nphy(pi
);
22594 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22596 (pi
->pubpi
.phy_rev
, 3) {
22598 nphy_tpc_5GHz_txgain_rev3
;
22600 (pi
->pubpi
.phy_rev
, 4) {
22605 nphy_tpc_5GHz_txgain_HiPwrEPA
22607 nphy_tpc_5GHz_txgain_rev4
;
22610 nphy_tpc_5GHz_txgain_rev5
;
22614 (pi
->pubpi
.phy_rev
, 7)) {
22618 nphy_tpc_txgain_epa_2057rev3
;
22619 } else if (pi
->pubpi
.
22623 nphy_tpc_txgain_epa_2057rev5
;
22628 (pi
->pubpi
.phy_rev
,
22630 && (pi
->srom_fem2g
.
22634 nphy_tpc_txgain_HiPwrEPA
;
22637 nphy_tpc_txgain_rev3
;
22643 (pi
->pubpi
.phy_rev
, 7) {
22644 target_gain
.ipa
[core_no
] =
22645 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22647 target_gain
.pad
[core_no
] =
22648 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22650 target_gain
.pga
[core_no
] =
22651 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22653 target_gain
.txgm
[core_no
] =
22654 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22656 target_gain
.txlpf
[core_no
] =
22657 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22660 target_gain
.ipa
[core_no
] =
22661 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22663 target_gain
.pad
[core_no
] =
22664 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22666 target_gain
.pga
[core_no
] =
22667 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22669 target_gain
.txgm
[core_no
] =
22670 (tx_pwrctrl_tbl
[base_idx
[core_no
]]
22674 target_gain
.ipa
[core_no
] =
22675 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 16) &
22677 target_gain
.pad
[core_no
] =
22678 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 18) &
22680 target_gain
.pga
[core_no
] =
22681 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 20) &
22683 target_gain
.txgm
[core_no
] =
22684 (nphy_tpc_txgain
[base_idx
[core_no
]] >> 23) &
22690 return target_gain
;
22694 wlc_phy_iqcal_gainparams_nphy(phy_info_t
*pi
, u16 core_no
,
22695 nphy_txgains_t target_gain
,
22696 nphy_iqcal_params_t
*params
)
22701 u8 band_idx
= (CHSPEC_IS5G(pi
->radio_chanspec
) ? 1 : 0);
22703 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22704 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22705 params
->txlpf
= target_gain
.txlpf
[core_no
];
22707 params
->txgm
= target_gain
.txgm
[core_no
];
22708 params
->pga
= target_gain
.pga
[core_no
];
22709 params
->pad
= target_gain
.pad
[core_no
];
22710 params
->ipa
= target_gain
.ipa
[core_no
];
22711 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22713 ((params
->txlpf
<< 15) | (params
->
22714 txgm
<< 12) | (params
->
22716 (params
->pad
<< 3) | (params
->ipa
));
22719 ((params
->txgm
<< 12) | (params
->
22720 pga
<< 8) | (params
->
22724 params
->ncorr
[0] = 0x79;
22725 params
->ncorr
[1] = 0x79;
22726 params
->ncorr
[2] = 0x79;
22727 params
->ncorr
[3] = 0x79;
22728 params
->ncorr
[4] = 0x79;
22731 gain_index
= ((target_gain
.pad
[core_no
] << 0) |
22732 (target_gain
.pga
[core_no
] << 4) | (target_gain
.
22737 for (k
= 0; k
< NPHY_IQCAL_NUMGAINS
; k
++) {
22738 if (tbl_iqcal_gainparams_nphy
[band_idx
][k
][0] ==
22745 params
->txgm
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][1];
22746 params
->pga
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][2];
22747 params
->pad
= tbl_iqcal_gainparams_nphy
[band_idx
][k
][3];
22748 params
->cal_gain
= ((params
->txgm
<< 7) | (params
->pga
<< 4) |
22749 (params
->pad
<< 2));
22750 params
->ncorr
[0] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][4];
22751 params
->ncorr
[1] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][5];
22752 params
->ncorr
[2] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][6];
22753 params
->ncorr
[3] = tbl_iqcal_gainparams_nphy
[band_idx
][k
][7];
22757 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t
*pi
)
22759 u16 jtag_core
, core
;
22761 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
22763 for (core
= 0; core
<= 1; core
++) {
22765 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22766 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22769 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22770 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22773 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22774 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22777 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22778 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
);
22780 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] = 0;
22782 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22783 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22786 if (pi
->pubpi
.radiorev
!= 5)
22787 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22788 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22791 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22792 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
);
22794 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22795 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22798 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22799 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22800 TX_SSI_MASTER
, 0x0a);
22801 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22802 IQCAL_VCM_HG
, 0x43);
22803 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22805 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22807 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22809 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22810 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22811 core
, TX_SSI_MUX
, 0x4);
22814 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22816 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22821 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22826 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22829 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22830 TX_SSI_MASTER
, 0x06);
22831 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22832 IQCAL_VCM_HG
, 0x43);
22833 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22835 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22838 if (pi
->pubpi
.radiorev
!= 5)
22839 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22840 core
, TSSIA
, 0x00);
22841 if (pi
->use_int_tx_iqlo_cal_nphy
) {
22842 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
22847 internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
22849 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22854 WRITE_RADIO_REG3(pi
, RADIO_2057
,
22859 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
22863 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
22865 for (core
= 0; core
<= 1; core
++) {
22868 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
22870 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 0] =
22872 RADIO_2056_TX_TX_SSI_MASTER
|
22875 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 1] =
22877 RADIO_2056_TX_IQCAL_VCM_HG
|
22880 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 2] =
22882 RADIO_2056_TX_IQCAL_IDAC
|
22885 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 3] =
22887 RADIO_2056_TX_TSSI_VCM
| jtag_core
);
22889 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 4] =
22891 RADIO_2056_TX_TX_AMP_DET
|
22894 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 5] =
22896 RADIO_2056_TX_TX_SSI_MUX
|
22899 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 6] =
22900 read_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
);
22902 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 7] =
22903 read_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
);
22905 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 8] =
22907 RADIO_2056_TX_TSSI_MISC1
|
22910 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 9] =
22912 RADIO_2056_TX_TSSI_MISC2
|
22915 pi
->tx_rx_cal_radio_saveregs
[(core
* 11) + 10] =
22917 RADIO_2056_TX_TSSI_MISC3
|
22920 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
22921 write_radio_reg(pi
,
22922 RADIO_2056_TX_TX_SSI_MASTER
|
22924 write_radio_reg(pi
,
22925 RADIO_2056_TX_IQCAL_VCM_HG
|
22927 write_radio_reg(pi
,
22928 RADIO_2056_TX_IQCAL_IDAC
|
22930 write_radio_reg(pi
,
22931 RADIO_2056_TX_TSSI_VCM
|
22933 write_radio_reg(pi
,
22934 RADIO_2056_TX_TX_AMP_DET
|
22938 write_radio_reg(pi
,
22939 RADIO_2056_TX_TX_SSI_MUX
22941 write_radio_reg(pi
,
22942 RADIO_2056_TX_TSSIA
|
22945 write_radio_reg(pi
,
22946 RADIO_2056_TX_TX_SSI_MUX
22947 | jtag_core
, 0x00);
22948 write_radio_reg(pi
,
22949 RADIO_2056_TX_TSSIA
|
22952 write_radio_reg(pi
,
22953 RADIO_2056_TX_TSSIG
| jtag_core
,
22955 write_radio_reg(pi
,
22956 RADIO_2056_TX_TSSI_MISC1
|
22959 write_radio_reg(pi
,
22960 RADIO_2056_TX_TSSI_MISC2
|
22962 write_radio_reg(pi
,
22963 RADIO_2056_TX_TSSI_MISC3
|
22966 write_radio_reg(pi
,
22967 RADIO_2056_TX_TX_SSI_MASTER
|
22969 write_radio_reg(pi
,
22970 RADIO_2056_TX_IQCAL_VCM_HG
|
22972 write_radio_reg(pi
,
22973 RADIO_2056_TX_IQCAL_IDAC
|
22975 write_radio_reg(pi
,
22976 RADIO_2056_TX_TSSI_VCM
|
22978 write_radio_reg(pi
,
22979 RADIO_2056_TX_TX_AMP_DET
|
22981 write_radio_reg(pi
,
22982 RADIO_2056_TX_TSSIA
| jtag_core
,
22987 write_radio_reg(pi
,
22988 RADIO_2056_TX_TX_SSI_MUX
22989 | jtag_core
, 0x06);
22990 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
22992 write_radio_reg(pi
,
22993 RADIO_2056_TX_TSSIG
22998 write_radio_reg(pi
,
22999 RADIO_2056_TX_TSSIG
23004 write_radio_reg(pi
,
23005 RADIO_2056_TX_TX_SSI_MUX
23006 | jtag_core
, 0x00);
23007 write_radio_reg(pi
,
23008 RADIO_2056_TX_TSSIG
|
23012 write_radio_reg(pi
,
23013 RADIO_2056_TX_TSSI_MISC1
|
23015 write_radio_reg(pi
,
23016 RADIO_2056_TX_TSSI_MISC2
|
23018 write_radio_reg(pi
,
23019 RADIO_2056_TX_TSSI_MISC3
|
23025 pi
->tx_rx_cal_radio_saveregs
[0] =
23026 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
);
23027 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
, 0x29);
23028 pi
->tx_rx_cal_radio_saveregs
[1] =
23029 read_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
);
23030 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
, 0x54);
23032 pi
->tx_rx_cal_radio_saveregs
[2] =
23033 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
);
23034 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
, 0x29);
23035 pi
->tx_rx_cal_radio_saveregs
[3] =
23036 read_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
);
23037 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
, 0x54);
23039 pi
->tx_rx_cal_radio_saveregs
[4] =
23040 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
);
23041 pi
->tx_rx_cal_radio_saveregs
[5] =
23042 read_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
);
23044 if ((read_phy_reg(pi
, 0x09) & NPHY_BandControl_currentBand
) ==
23047 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x04);
23048 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x04);
23051 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
, 0x20);
23052 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
, 0x20);
23055 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
23057 or_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0x20);
23058 or_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0x20);
23061 and_radio_reg(pi
, RADIO_2055_CORE1_TX_BB_MXGM
, 0xdf);
23062 and_radio_reg(pi
, RADIO_2055_CORE2_TX_BB_MXGM
, 0xdf);
23067 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t
*pi
)
23069 u16 jtag_core
, core
;
23071 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23072 for (core
= 0; core
<= 1; core
++) {
23074 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23077 tx_rx_cal_radio_saveregs
[(core
* 11) +
23080 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
23082 tx_rx_cal_radio_saveregs
[(core
* 11) +
23085 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
23087 tx_rx_cal_radio_saveregs
[(core
* 11) +
23090 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
23092 tx_rx_cal_radio_saveregs
[(core
* 11) +
23095 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TX_SSI_MUX
,
23097 tx_rx_cal_radio_saveregs
[(core
* 11) +
23100 if (pi
->pubpi
.radiorev
!= 5)
23101 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
23104 tx_rx_cal_radio_saveregs
[(core
23109 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSIG
,
23111 tx_rx_cal_radio_saveregs
[(core
* 11) +
23114 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
23116 tx_rx_cal_radio_saveregs
[(core
* 11) +
23119 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23120 for (core
= 0; core
<= 1; core
++) {
23123 PHY_CORE_0
) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
23125 write_radio_reg(pi
,
23126 RADIO_2056_TX_TX_SSI_MASTER
| jtag_core
,
23128 tx_rx_cal_radio_saveregs
[(core
* 11) +
23131 write_radio_reg(pi
,
23132 RADIO_2056_TX_IQCAL_VCM_HG
| jtag_core
,
23134 tx_rx_cal_radio_saveregs
[(core
* 11) +
23137 write_radio_reg(pi
,
23138 RADIO_2056_TX_IQCAL_IDAC
| jtag_core
,
23140 tx_rx_cal_radio_saveregs
[(core
* 11) +
23143 write_radio_reg(pi
, RADIO_2056_TX_TSSI_VCM
| jtag_core
,
23145 tx_rx_cal_radio_saveregs
[(core
* 11) +
23148 write_radio_reg(pi
,
23149 RADIO_2056_TX_TX_AMP_DET
| jtag_core
,
23151 tx_rx_cal_radio_saveregs
[(core
* 11) +
23154 write_radio_reg(pi
,
23155 RADIO_2056_TX_TX_SSI_MUX
| jtag_core
,
23157 tx_rx_cal_radio_saveregs
[(core
* 11) +
23160 write_radio_reg(pi
, RADIO_2056_TX_TSSIA
| jtag_core
,
23162 tx_rx_cal_radio_saveregs
[(core
* 11) +
23165 write_radio_reg(pi
, RADIO_2056_TX_TSSIG
| jtag_core
,
23167 tx_rx_cal_radio_saveregs
[(core
* 11) +
23170 write_radio_reg(pi
,
23171 RADIO_2056_TX_TSSI_MISC1
| jtag_core
,
23173 tx_rx_cal_radio_saveregs
[(core
* 11) +
23176 write_radio_reg(pi
,
23177 RADIO_2056_TX_TSSI_MISC2
| jtag_core
,
23179 tx_rx_cal_radio_saveregs
[(core
* 11) +
23182 write_radio_reg(pi
,
23183 RADIO_2056_TX_TSSI_MISC3
| jtag_core
,
23185 tx_rx_cal_radio_saveregs
[(core
* 11) +
23190 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL1
,
23191 pi
->tx_rx_cal_radio_saveregs
[0]);
23192 write_radio_reg(pi
, RADIO_2055_CORE1_TXRF_IQCAL2
,
23193 pi
->tx_rx_cal_radio_saveregs
[1]);
23194 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL1
,
23195 pi
->tx_rx_cal_radio_saveregs
[2]);
23196 write_radio_reg(pi
, RADIO_2055_CORE2_TXRF_IQCAL2
,
23197 pi
->tx_rx_cal_radio_saveregs
[3]);
23198 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE1
,
23199 pi
->tx_rx_cal_radio_saveregs
[4]);
23200 write_radio_reg(pi
, RADIO_2055_PWRDET_RXTX_CORE2
,
23201 pi
->tx_rx_cal_radio_saveregs
[5]);
23205 static void wlc_phy_txcal_physetup_nphy(phy_info_t
*pi
)
23209 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23210 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23211 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23213 mask
= ((0x3 << 8) | (0x3 << 10));
23215 val
|= (0x2 << 10);
23216 mod_phy_reg(pi
, 0xa6, mask
, val
);
23217 mod_phy_reg(pi
, 0xa7, mask
, val
);
23219 val
= read_phy_reg(pi
, 0x8f);
23220 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23221 val
|= ((0x1 << 9) | (0x1 << 10));
23222 write_phy_reg(pi
, 0x8f, val
);
23224 val
= read_phy_reg(pi
, 0xa5);
23225 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23226 val
|= ((0x1 << 9) | (0x1 << 10));
23227 write_phy_reg(pi
, 0xa5, val
);
23229 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x01);
23230 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23232 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23234 pi
->tx_rx_cal_phy_saveregs
[5] = val
;
23236 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23239 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23241 pi
->tx_rx_cal_phy_saveregs
[6] = val
;
23243 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23246 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0x91);
23247 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0x92);
23249 if (!(pi
->use_int_tx_iqlo_cal_nphy
)) {
23251 wlc_phy_rfctrlintc_override_nphy(pi
,
23252 NPHY_RfctrlIntc_override_PA
,
23254 RADIO_MIMO_CORESEL_CORE1
23256 RADIO_MIMO_CORESEL_CORE2
);
23259 wlc_phy_rfctrlintc_override_nphy(pi
,
23260 NPHY_RfctrlIntc_override_PA
,
23262 RADIO_MIMO_CORESEL_CORE1
23264 RADIO_MIMO_CORESEL_CORE2
);
23267 wlc_phy_rfctrlintc_override_nphy(pi
,
23268 NPHY_RfctrlIntc_override_TRSW
,
23269 0x2, RADIO_MIMO_CORESEL_CORE1
);
23270 wlc_phy_rfctrlintc_override_nphy(pi
,
23271 NPHY_RfctrlIntc_override_TRSW
,
23272 0x8, RADIO_MIMO_CORESEL_CORE2
);
23274 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
23275 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
23276 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
23277 0x29b, (0x1 << 0), (0) << 0);
23279 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
23280 0x29b, (0x1 << 0), (0) << 0);
23282 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23283 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23284 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
23285 wlc_phy_read_lpf_bw_ctl_nphy
23287 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23290 if (pi
->use_int_tx_iqlo_cal_nphy
23291 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23293 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23295 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23298 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23300 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23303 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23307 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23310 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23313 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23314 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23317 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23321 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa6);
23322 pi
->tx_rx_cal_phy_saveregs
[1] = read_phy_reg(pi
, 0xa7);
23324 mask
= ((0x3 << 12) | (0x3 << 14));
23326 val
|= (0x2 << 14);
23327 mod_phy_reg(pi
, 0xa6, mask
, val
);
23328 mod_phy_reg(pi
, 0xa7, mask
, val
);
23330 val
= read_phy_reg(pi
, 0xa5);
23331 pi
->tx_rx_cal_phy_saveregs
[2] = val
;
23332 val
|= ((0x1 << 12) | (0x1 << 13));
23333 write_phy_reg(pi
, 0xa5, val
);
23335 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23337 pi
->tx_rx_cal_phy_saveregs
[3] = val
;
23339 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23342 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23344 pi
->tx_rx_cal_phy_saveregs
[4] = val
;
23346 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23349 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x91);
23350 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x92);
23351 val
= CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 : 0x120;
23352 write_phy_reg(pi
, 0x91, val
);
23353 write_phy_reg(pi
, 0x92, val
);
23357 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t
*pi
)
23361 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23362 write_phy_reg(pi
, 0xa6, pi
->tx_rx_cal_phy_saveregs
[0]);
23363 write_phy_reg(pi
, 0xa7, pi
->tx_rx_cal_phy_saveregs
[1]);
23364 write_phy_reg(pi
, 0x8f, pi
->tx_rx_cal_phy_saveregs
[2]);
23365 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[3]);
23366 write_phy_reg(pi
, 0x01, pi
->tx_rx_cal_phy_saveregs
[4]);
23368 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 3, 16,
23369 &pi
->tx_rx_cal_phy_saveregs
[5]);
23370 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 19, 16,
23371 &pi
->tx_rx_cal_phy_saveregs
[6]);
23373 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[7]);
23374 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[8]);
23376 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
23377 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
23379 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
23380 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23381 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
23383 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
23386 wlc_phy_resetcca_nphy(pi
);
23388 if (pi
->use_int_tx_iqlo_cal_nphy
23389 && !(pi
->internal_tx_iqlo_cal_tapoff_intpa_nphy
)) {
23391 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
23392 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23394 RADIO_2057_PAD2G_TUNE_PUS_CORE0
,
23397 RADIO_2057_PAD2G_TUNE_PUS_CORE1
,
23401 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0
,
23404 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1
,
23408 mod_radio_reg(pi
, RADIO_2057_OVR_REG0
, 1 << 4,
23410 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
23411 wlc_phy_rfctrl_override_nphy_rev7(pi
,
23414 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
23418 mask
= ((0x3 << 12) | (0x3 << 14));
23419 mod_phy_reg(pi
, 0xa6, mask
, pi
->tx_rx_cal_phy_saveregs
[0]);
23420 mod_phy_reg(pi
, 0xa7, mask
, pi
->tx_rx_cal_phy_saveregs
[1]);
23421 write_phy_reg(pi
, 0xa5, pi
->tx_rx_cal_phy_saveregs
[2]);
23423 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 2, 16,
23424 &pi
->tx_rx_cal_phy_saveregs
[3]);
23426 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_AFECTRL
, 1, 18, 16,
23427 &pi
->tx_rx_cal_phy_saveregs
[4]);
23429 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[5]);
23430 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[6]);
23434 #define NPHY_CAL_TSSISAMPS 64
23435 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23436 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23439 wlc_phy_est_tonepwr_nphy(phy_info_t
*pi
, s32
*qdBm_pwrbuf
, u8 num_samps
)
23442 s32 temp
, pwrindex
[2];
23448 tssi_reg
= read_phy_reg(pi
, 0x1e9);
23450 temp
= (s32
) (tssi_reg
& 0x3f);
23451 idle_tssi
[0] = (temp
<= 31) ? temp
: (temp
- 64);
23453 temp
= (s32
) ((tssi_reg
>> 8) & 0x3f);
23454 idle_tssi
[1] = (temp
<= 31) ? temp
: (temp
- 64);
23457 CHSPEC_IS5G(pi
->radio_chanspec
) ?
23458 (u8
)NPHY_RSSI_SEL_TSSI_5G
:(u8
)NPHY_RSSI_SEL_TSSI_2G
;
23460 wlc_phy_poll_rssi_nphy(pi
, tssi_type
, rssi_buf
, num_samps
);
23462 tssival
[0] = rssi_buf
[0] / ((s32
) num_samps
);
23463 tssival
[1] = rssi_buf
[2] / ((s32
) num_samps
);
23465 pwrindex
[0] = idle_tssi
[0] - tssival
[0] + 64;
23466 pwrindex
[1] = idle_tssi
[1] - tssival
[1] + 64;
23468 if (pwrindex
[0] < 0) {
23470 } else if (pwrindex
[0] > 63) {
23474 if (pwrindex
[1] < 0) {
23476 } else if (pwrindex
[1] > 63) {
23480 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 1,
23481 (u32
) pwrindex
[0], 32, &qdBm_pwrbuf
[0]);
23482 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 1,
23483 (u32
) pwrindex
[1], 32, &qdBm_pwrbuf
[1]);
23486 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t
*pi
)
23490 pi
->nphy_txcal_pwr_idx
[0] = pi
->nphy_cal_orig_pwr_idx
[0];
23491 pi
->nphy_txcal_pwr_idx
[1] = pi
->nphy_cal_orig_pwr_idx
[0];
23492 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], true);
23493 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], true);
23495 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23498 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23499 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F40;
23500 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F40;
23502 txcal_gain
[0] = (txcal_gain
[0] & 0xF000) | 0x0F60;
23503 txcal_gain
[1] = (txcal_gain
[1] & 0xF000) | 0x0F60;
23506 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
23510 static void wlc_phy_precal_txgain_nphy(phy_info_t
*pi
)
23512 bool save_bbmult
= false;
23513 u8 txcal_index_2057_rev5n7
= 0;
23514 u8 txcal_index_2057_rev3n4n6
= 10;
23516 if (pi
->use_int_tx_iqlo_cal_nphy
) {
23517 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23518 if ((pi
->pubpi
.radiorev
== 3) ||
23519 (pi
->pubpi
.radiorev
== 4) ||
23520 (pi
->pubpi
.radiorev
== 6)) {
23522 pi
->nphy_txcal_pwr_idx
[0] =
23523 txcal_index_2057_rev3n4n6
;
23524 pi
->nphy_txcal_pwr_idx
[1] =
23525 txcal_index_2057_rev3n4n6
;
23526 wlc_phy_txpwr_index_nphy(pi
, 3,
23527 txcal_index_2057_rev3n4n6
,
23531 pi
->nphy_txcal_pwr_idx
[0] =
23532 txcal_index_2057_rev5n7
;
23533 pi
->nphy_txcal_pwr_idx
[1] =
23534 txcal_index_2057_rev5n7
;
23535 wlc_phy_txpwr_index_nphy(pi
, 3,
23536 txcal_index_2057_rev5n7
,
23539 save_bbmult
= true;
23541 } else if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
23542 wlc_phy_cal_txgainctrl_nphy(pi
, 11, false);
23543 if (pi
->sh
->hw_phytxchain
!= 3) {
23544 pi
->nphy_txcal_pwr_idx
[1] =
23545 pi
->nphy_txcal_pwr_idx
[0];
23546 wlc_phy_txpwr_index_nphy(pi
, 3,
23548 nphy_txcal_pwr_idx
[0],
23550 save_bbmult
= true;
23553 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
23555 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23556 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23559 pi
->nphy_txcal_pwr_idx
[0] = 80;
23560 pi
->nphy_txcal_pwr_idx
[1] = 80;
23561 wlc_phy_txpwr_index_nphy(pi
, 3, 80,
23563 save_bbmult
= true;
23567 wlc_phy_internal_cal_txgain_nphy(pi
);
23568 save_bbmult
= true;
23571 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
23573 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
23574 wlc_phy_cal_txgainctrl_nphy(pi
, 12,
23577 wlc_phy_cal_txgainctrl_nphy(pi
, 14,
23582 wlc_phy_internal_cal_txgain_nphy(pi
);
23583 save_bbmult
= true;
23588 wlc_phy_cal_txgainctrl_nphy(pi
, 10, false);
23592 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
23593 &pi
->nphy_txcal_bbmult
);
23598 wlc_phy_cal_txgainctrl_nphy(phy_info_t
*pi
, s32 dBm_targetpower
, bool debug
)
23600 int gainctrl_loopidx
;
23602 u16 m0m1
, curr_m0m1
;
23607 u16 phy_saveregs
[4];
23609 u16 ampl_test
= 250;
23611 bool phyhang_avoid_state
= false;
23613 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
23621 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
23627 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_cal_orig_pwr_idx
[0], true);
23628 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_cal_orig_pwr_idx
[1], true);
23630 if (pi
->phyhang_avoid
)
23631 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
23633 phyhang_avoid_state
= pi
->phyhang_avoid
;
23634 pi
->phyhang_avoid
= false;
23636 phy_saveregs
[0] = read_phy_reg(pi
, 0x91);
23637 phy_saveregs
[1] = read_phy_reg(pi
, 0x92);
23638 phy_saveregs
[2] = read_phy_reg(pi
, 0xe7);
23639 phy_saveregs
[3] = read_phy_reg(pi
, 0xec);
23640 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 1,
23641 RADIO_MIMO_CORESEL_CORE1
|
23642 RADIO_MIMO_CORESEL_CORE2
);
23645 wlc_phy_rfctrlintc_override_nphy(pi
,
23646 NPHY_RfctrlIntc_override_TRSW
,
23647 0x2, RADIO_MIMO_CORESEL_CORE1
);
23648 wlc_phy_rfctrlintc_override_nphy(pi
,
23649 NPHY_RfctrlIntc_override_TRSW
,
23650 0x8, RADIO_MIMO_CORESEL_CORE2
);
23652 wlc_phy_rfctrlintc_override_nphy(pi
,
23653 NPHY_RfctrlIntc_override_TRSW
,
23654 0x1, RADIO_MIMO_CORESEL_CORE1
);
23655 wlc_phy_rfctrlintc_override_nphy(pi
,
23656 NPHY_RfctrlIntc_override_TRSW
,
23657 0x7, RADIO_MIMO_CORESEL_CORE2
);
23660 orig_BBConfig
= read_phy_reg(pi
, 0x01);
23661 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
23663 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
23665 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
23666 txpwrindex
= (s32
) pi
->nphy_cal_orig_pwr_idx
[core
];
23668 for (gainctrl_loopidx
= 0; gainctrl_loopidx
< 2;
23669 gainctrl_loopidx
++) {
23670 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23673 if (core
== PHY_CORE_0
) {
23674 curr_m0m1
= m0m1
& 0xff00;
23676 curr_m0m1
= m0m1
& 0x00ff;
23679 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &curr_m0m1
);
23680 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &curr_m0m1
);
23684 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23685 NPHY_CAL_TSSISAMPS
);
23687 pi
->nphy_bb_mult_save
= 0;
23688 wlc_phy_stopplayback_nphy(pi
);
23690 delta_power
= (dBm_targetpower
* 4) - qdBm_power
[core
];
23692 txpwrindex
-= stepsize
* delta_power
;
23693 if (txpwrindex
< 0) {
23695 } else if (txpwrindex
> 127) {
23699 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
23700 if (NREV_IS(pi
->pubpi
.phy_rev
, 4) &&
23701 (pi
->srom_fem5g
.extpagain
== 3)) {
23702 if (txpwrindex
< 30) {
23707 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
23708 (pi
->srom_fem2g
.extpagain
== 3)) {
23709 if (txpwrindex
< 50) {
23715 wlc_phy_txpwr_index_nphy(pi
, (1 << core
),
23716 (u8
) txpwrindex
, true);
23719 pi
->nphy_txcal_pwr_idx
[core
] = (u8
) txpwrindex
;
23725 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23727 wlc_phy_tx_tone_nphy(pi
, freq_test
, ampl_test
, 0, 0,
23730 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &dbg_m0m1
);
23731 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &dbg_m0m1
);
23735 wlc_phy_est_tonepwr_nphy(pi
, qdBm_power
,
23736 NPHY_CAL_TSSISAMPS
);
23738 wlc_phy_table_read_nphy(pi
, 7, 1, (0x110 + core
), 16,
23742 pi
->nphy_bb_mult_save
= 0;
23743 wlc_phy_stopplayback_nphy(pi
);
23747 wlc_phy_txpwr_index_nphy(pi
, 1, pi
->nphy_txcal_pwr_idx
[0], true);
23748 wlc_phy_txpwr_index_nphy(pi
, 2, pi
->nphy_txcal_pwr_idx
[1], true);
23750 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &pi
->nphy_txcal_bbmult
);
23752 write_phy_reg(pi
, 0x01, orig_BBConfig
);
23754 write_phy_reg(pi
, 0x91, phy_saveregs
[0]);
23755 write_phy_reg(pi
, 0x92, phy_saveregs
[1]);
23756 write_phy_reg(pi
, 0xe7, phy_saveregs
[2]);
23757 write_phy_reg(pi
, 0xec, phy_saveregs
[3]);
23759 pi
->phyhang_avoid
= phyhang_avoid_state
;
23761 if (pi
->phyhang_avoid
)
23762 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
23765 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t
*pi
, u16 core
)
23772 nphy_txiqcal_ladder_t ladder_lo
[] = {
23773 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23774 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23775 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23778 nphy_txiqcal_ladder_t ladder_iq
[] = {
23779 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23780 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23781 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23784 bbmult
= (core
== PHY_CORE_0
) ?
23785 ((pi
->nphy_txcal_bbmult
>> 8) & 0xff) : (pi
->
23786 nphy_txcal_bbmult
& 0xff);
23788 for (index
= 0; index
< 18; index
++) {
23789 bbmult_scale
= ladder_lo
[index
].percent
* bbmult
;
23790 bbmult_scale
/= 100;
23793 ((bbmult_scale
& 0xff) << 8) | ladder_lo
[index
].g_env
;
23794 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
, 16,
23797 bbmult_scale
= ladder_iq
[index
].percent
* bbmult
;
23798 bbmult_scale
/= 100;
23801 ((bbmult_scale
& 0xff) << 8) | ladder_iq
[index
].g_env
;
23802 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 1, index
+ 32,
23807 void wlc_phy_cal_perical_nphy_run(phy_info_t
*pi
, u8 caltype
)
23809 nphy_txgains_t target_gain
;
23810 u8 tx_pwr_ctrl_state
;
23811 bool fullcal
= true;
23812 bool restore_tx_gain
= false;
23815 if (NORADIO_ENAB(pi
->pubpi
)) {
23816 wlc_phy_cal_perical_mphase_reset(pi
);
23823 if (caltype
== PHY_PERICAL_AUTO
)
23824 fullcal
= (pi
->radio_chanspec
!= pi
->nphy_txiqlocal_chanspec
);
23825 else if (caltype
== PHY_PERICAL_PARTIAL
)
23828 if (pi
->cal_type_override
!= PHY_PERICAL_AUTO
) {
23830 (pi
->cal_type_override
== PHY_PERICAL_FULL
) ? true : false;
23833 if ((pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_INIT
)) {
23834 if (pi
->nphy_txiqlocal_chanspec
!= pi
->radio_chanspec
)
23835 wlc_phy_cal_perical_mphase_restart(pi
);
23838 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_RXCAL
)) {
23839 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
, 10000);
23842 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23844 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23846 if ((pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_IDLE
) ||
23847 (pi
->mphase_cal_phase_id
== MPHASE_CAL_STATE_INIT
)) {
23848 pi
->nphy_cal_orig_pwr_idx
[0] =
23849 (u8
) ((read_phy_reg(pi
, 0x1ed) >> 8) & 0x7f);
23850 pi
->nphy_cal_orig_pwr_idx
[1] =
23851 (u8
) ((read_phy_reg(pi
, 0x1ee) >> 8) & 0x7f);
23853 if (pi
->nphy_txpwrctrl
!= PHY_TPC_HW_OFF
) {
23854 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2,
23856 pi
->nphy_cal_orig_tx_gain
);
23858 pi
->nphy_cal_orig_tx_gain
[0] = 0;
23859 pi
->nphy_cal_orig_tx_gain
[1] = 0;
23862 target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23863 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
23864 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
23866 if (pi
->antsel_type
== ANTSEL_2x3
)
23867 wlc_phy_antsel_init((wlc_phy_t
*) pi
, true);
23869 mphase
= (pi
->mphase_cal_phase_id
!= MPHASE_CAL_STATE_IDLE
);
23872 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23873 wlc_phy_precal_txgain_nphy(pi
);
23874 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23875 restore_tx_gain
= true;
23877 target_gain
= pi
->nphy_cal_target_gain
;
23880 wlc_phy_cal_txiqlo_nphy(pi
, target_gain
, fullcal
, mphase
)) {
23882 wlc_phy_a4(pi
, true);
23884 wlc_phyreg_exit((wlc_phy_t
*) pi
);
23885 wlapi_enable_mac(pi
->sh
->physhim
);
23886 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CTS_DURATION
,
23888 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
23889 wlc_phyreg_enter((wlc_phy_t
*) pi
);
23891 if (0 == wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
23893 first_cal_after_assoc
23899 wlc_phy_savecal_nphy(pi
);
23901 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
23903 pi
->nphy_perical_last
= pi
->sh
->now
;
23906 if (caltype
!= PHY_PERICAL_AUTO
) {
23907 wlc_phy_rssi_cal_nphy(pi
);
23910 if (pi
->first_cal_after_assoc
23911 || (pi
->cal_type_override
== PHY_PERICAL_FULL
)) {
23912 pi
->first_cal_after_assoc
= false;
23913 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
23914 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
23917 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23918 wlc_phy_radio205x_vcocal_nphy(pi
);
23921 switch (pi
->mphase_cal_phase_id
) {
23922 case MPHASE_CAL_STATE_INIT
:
23923 pi
->nphy_perical_last
= pi
->sh
->now
;
23924 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
23926 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23927 wlc_phy_precal_txgain_nphy(pi
);
23929 pi
->nphy_cal_target_gain
= wlc_phy_get_tx_gain_nphy(pi
);
23930 pi
->mphase_cal_phase_id
++;
23933 case MPHASE_CAL_STATE_TXPHASE0
:
23934 case MPHASE_CAL_STATE_TXPHASE1
:
23935 case MPHASE_CAL_STATE_TXPHASE2
:
23936 case MPHASE_CAL_STATE_TXPHASE3
:
23937 case MPHASE_CAL_STATE_TXPHASE4
:
23938 case MPHASE_CAL_STATE_TXPHASE5
:
23939 if ((pi
->radar_percal_mask
& 0x10) != 0)
23940 pi
->nphy_rxcal_active
= true;
23942 if (wlc_phy_cal_txiqlo_nphy
23943 (pi
, pi
->nphy_cal_target_gain
, fullcal
,
23946 wlc_phy_cal_perical_mphase_reset(pi
);
23950 if (NREV_LE(pi
->pubpi
.phy_rev
, 2) &&
23951 (pi
->mphase_cal_phase_id
==
23952 MPHASE_CAL_STATE_TXPHASE4
)) {
23953 pi
->mphase_cal_phase_id
+= 2;
23955 pi
->mphase_cal_phase_id
++;
23959 case MPHASE_CAL_STATE_PAPDCAL
:
23960 if ((pi
->radar_percal_mask
& 0x2) != 0)
23961 pi
->nphy_rxcal_active
= true;
23964 wlc_phy_a4(pi
, true);
23966 pi
->mphase_cal_phase_id
++;
23969 case MPHASE_CAL_STATE_RXCAL
:
23970 if ((pi
->radar_percal_mask
& 0x1) != 0)
23971 pi
->nphy_rxcal_active
= true;
23972 if (wlc_phy_cal_rxiq_nphy(pi
, target_gain
,
23973 (pi
->first_cal_after_assoc
||
23974 (pi
->cal_type_override
==
23975 PHY_PERICAL_FULL
)) ? 2 : 0,
23977 wlc_phy_savecal_nphy(pi
);
23980 pi
->mphase_cal_phase_id
++;
23983 case MPHASE_CAL_STATE_RSSICAL
:
23984 if ((pi
->radar_percal_mask
& 0x4) != 0)
23985 pi
->nphy_rxcal_active
= true;
23986 wlc_phy_txpwrctrl_coeff_setup_nphy(pi
);
23987 wlc_phy_rssi_cal_nphy(pi
);
23989 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
23990 wlc_phy_radio205x_vcocal_nphy(pi
);
23992 restore_tx_gain
= true;
23994 if (pi
->first_cal_after_assoc
) {
23995 pi
->mphase_cal_phase_id
++;
23997 wlc_phy_cal_perical_mphase_reset(pi
);
24002 case MPHASE_CAL_STATE_IDLETSSI
:
24003 if ((pi
->radar_percal_mask
& 0x8) != 0)
24004 pi
->nphy_rxcal_active
= true;
24006 if (pi
->first_cal_after_assoc
) {
24007 pi
->first_cal_after_assoc
= false;
24008 wlc_phy_txpwrctrl_idle_tssi_nphy(pi
);
24009 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
24012 wlc_phy_cal_perical_mphase_reset(pi
);
24016 wlc_phy_cal_perical_mphase_reset(pi
);
24021 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24022 if (restore_tx_gain
) {
24023 if (tx_pwr_ctrl_state
!= PHY_TPC_HW_OFF
) {
24025 wlc_phy_txpwr_index_nphy(pi
, 1,
24027 nphy_cal_orig_pwr_idx
24029 wlc_phy_txpwr_index_nphy(pi
, 2,
24031 nphy_cal_orig_pwr_idx
24034 pi
->nphy_txpwrindex
[0].index
= -1;
24035 pi
->nphy_txpwrindex
[1].index
= -1;
24037 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
24043 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
24053 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
24054 wlc_phyreg_exit((wlc_phy_t
*) pi
);
24055 wlapi_enable_mac(pi
->sh
->physhim
);
24059 wlc_phy_cal_txiqlo_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
24060 bool fullcal
, bool mphase
)
24066 u8 num_cals
, max_cal_cmds
;
24067 u16 core_no
, cal_type
;
24074 nphy_iqcal_params_t cal_params
[2];
24077 bool ladder_updated
[2];
24078 u8 mphase_cal_lastphase
= 0;
24080 bool phyhang_avoid_state
= false;
24082 u16 tbl_tx_iqlo_cal_loft_ladder_20
[] = {
24083 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24085 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24089 u16 tbl_tx_iqlo_cal_iqimb_ladder_20
[] = {
24090 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24092 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24096 u16 tbl_tx_iqlo_cal_loft_ladder_40
[] = {
24097 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24099 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24103 u16 tbl_tx_iqlo_cal_iqimb_ladder_40
[] = {
24104 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24106 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24110 u16 tbl_tx_iqlo_cal_startcoefs
[] = {
24111 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24115 u16 tbl_tx_iqlo_cal_cmds_fullcal
[] = {
24116 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24117 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24120 u16 tbl_tx_iqlo_cal_cmds_recal
[] = {
24121 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24122 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24125 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3
[] = {
24126 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24127 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24131 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
[] = {
24132 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24133 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24136 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[] = {
24137 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24138 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24141 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
24143 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24144 phyhang_avoid_state
= pi
->phyhang_avoid
;
24145 pi
->phyhang_avoid
= false;
24148 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
24154 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
24156 for (core_no
= 0; core_no
<= 1; core_no
++) {
24157 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
24158 &cal_params
[core_no
]);
24159 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
24162 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
24164 wlc_phy_txcal_radio_setup_nphy(pi
);
24166 wlc_phy_txcal_physetup_nphy(pi
);
24168 ladder_updated
[0] = ladder_updated
[1] = false;
24169 if (!(NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24170 (NREV_IS(pi
->pubpi
.phy_rev
, 5) && PHY_IPA(pi
)
24171 && (CHSPEC_IS2G(pi
->radio_chanspec
))))) {
24173 if (phy_bw
== 40) {
24174 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_40
;
24175 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40
);
24177 tbl_ptr
= tbl_tx_iqlo_cal_loft_ladder_20
;
24178 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20
);
24180 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 0,
24183 if (phy_bw
== 40) {
24184 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_40
;
24185 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40
);
24187 tbl_ptr
= tbl_tx_iqlo_cal_iqimb_ladder_20
;
24188 tbl_len
= ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20
);
24190 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 32,
24194 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24195 write_phy_reg(pi
, 0xc2, 0x8ad9);
24197 write_phy_reg(pi
, 0xc2, 0x8aa9);
24201 tone_freq
= (phy_bw
== 20) ? 2500 : 5000;
24203 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24204 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff, 0, 1, 0, false);
24208 wlc_phy_tx_tone_nphy(pi
, tone_freq
, max_val
, 1, 0, false);
24211 if (bcmerror
== 0) {
24213 if (pi
->mphase_cal_phase_id
> MPHASE_CAL_STATE_TXPHASE0
) {
24214 tbl_ptr
= pi
->mphase_txcal_bestcoeffs
;
24215 tbl_len
= ARRAY_SIZE(pi
->mphase_txcal_bestcoeffs
);
24216 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24221 if ((!fullcal
) && (pi
->nphy_txiqlocal_coeffsvalid
)) {
24223 tbl_ptr
= pi
->nphy_txiqlocal_bestc
;
24224 tbl_len
= ARRAY_SIZE(pi
->nphy_txiqlocal_bestc
);
24225 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24233 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24235 tbl_tx_iqlo_cal_startcoefs_nphyrev3
;
24238 (tbl_tx_iqlo_cal_startcoefs_nphyrev3
);
24240 tbl_ptr
= tbl_tx_iqlo_cal_startcoefs
;
24243 (tbl_tx_iqlo_cal_startcoefs
);
24247 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, tbl_len
, 64,
24251 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24252 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
) :
24253 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal
);
24255 max_cal_cmds
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24256 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3
) :
24257 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal
);
24261 cal_cnt
= pi
->mphase_txcal_cmdidx
;
24262 if ((cal_cnt
+ pi
->mphase_txcal_numcmds
) < max_cal_cmds
) {
24263 num_cals
= cal_cnt
+ pi
->mphase_txcal_numcmds
;
24265 num_cals
= max_cal_cmds
;
24269 num_cals
= max_cal_cmds
;
24272 for (; cal_cnt
< num_cals
; cal_cnt
++) {
24275 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24276 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24278 tbl_tx_iqlo_cal_cmds_fullcal
[cal_cnt
];
24280 cal_cmd
= (NREV_GE(pi
->pubpi
.phy_rev
, 3)) ?
24281 tbl_tx_iqlo_cal_cmds_recal_nphyrev3
[cal_cnt
]
24282 : tbl_tx_iqlo_cal_cmds_recal
[cal_cnt
];
24285 core_no
= ((cal_cmd
& 0x3000) >> 12);
24286 cal_type
= ((cal_cmd
& 0x0F00) >> 8);
24288 if (NREV_GE(pi
->pubpi
.phy_rev
, 6) ||
24289 (NREV_IS(pi
->pubpi
.phy_rev
, 5) &&
24291 && (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
24292 if (!ladder_updated
[core_no
]) {
24293 wlc_phy_update_txcal_ladder_nphy(pi
,
24295 ladder_updated
[core_no
] = true;
24300 (cal_params
[core_no
].
24301 ncorr
[cal_type
] << 8) | NPHY_N_GCTL
;
24302 write_phy_reg(pi
, 0xc1, val
);
24304 if ((cal_type
== 1) || (cal_type
== 3)
24305 || (cal_type
== 4)) {
24307 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24308 1, 69 + core_no
, 16,
24311 diq_start
= tbl_buf
[0];
24314 wlc_phy_table_write_nphy(pi
,
24315 NPHY_TBL_ID_IQLOCAL
, 1,
24320 write_phy_reg(pi
, 0xc0, cal_cmd
);
24322 SPINWAIT(((read_phy_reg(pi
, 0xc0) & 0xc000) != 0),
24324 ASSERT((read_phy_reg(pi
, 0xc0) & 0xc000) == 0);
24326 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24327 tbl_len
, 96, 16, tbl_buf
);
24328 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24329 tbl_len
, 64, 16, tbl_buf
);
24331 if ((cal_type
== 1) || (cal_type
== 3)
24332 || (cal_type
== 4)) {
24334 tbl_buf
[0] = diq_start
;
24341 pi
->mphase_txcal_cmdidx
= num_cals
;
24342 if (pi
->mphase_txcal_cmdidx
>= max_cal_cmds
)
24343 pi
->mphase_txcal_cmdidx
= 0;
24346 mphase_cal_lastphase
=
24347 (NREV_LE(pi
->pubpi
.phy_rev
, 2)) ?
24348 MPHASE_CAL_STATE_TXPHASE4
: MPHASE_CAL_STATE_TXPHASE5
;
24351 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
)) {
24353 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 96,
24355 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24358 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24366 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24369 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 101,
24371 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24374 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24377 tbl_len
= ARRAY_SIZE(pi
->nphy_txiqlocal_bestc
);
24378 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24382 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24384 pi
->nphy_txiqlocal_bestc
);
24386 pi
->nphy_txiqlocal_coeffsvalid
= true;
24387 pi
->nphy_txiqlocal_chanspec
= pi
->radio_chanspec
;
24389 tbl_len
= ARRAY_SIZE(pi
->mphase_txcal_bestcoeffs
);
24390 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
24394 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24396 pi
->mphase_txcal_bestcoeffs
);
24399 wlc_phy_stopplayback_nphy(pi
);
24401 write_phy_reg(pi
, 0xc2, 0x0000);
24405 wlc_phy_txcal_phycleanup_nphy(pi
);
24407 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
24410 wlc_phy_txcal_radio_cleanup_nphy(pi
);
24412 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
24414 || (pi
->mphase_cal_phase_id
== mphase_cal_lastphase
))
24415 wlc_phy_tx_iq_war_nphy(pi
);
24418 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
24419 pi
->phyhang_avoid
= phyhang_avoid_state
;
24422 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
24427 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t
*pi
)
24431 if ((pi
->nphy_txiqlocal_chanspec
== pi
->radio_chanspec
) &&
24432 (pi
->nphy_txiqlocal_coeffsvalid
)) {
24433 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_IQLOCAL
,
24434 ARRAY_SIZE(tbl_buf
), 80, 16, tbl_buf
);
24436 if ((pi
->nphy_txiqlocal_bestc
[0] != tbl_buf
[0]) ||
24437 (pi
->nphy_txiqlocal_bestc
[1] != tbl_buf
[1]) ||
24438 (pi
->nphy_txiqlocal_bestc
[2] != tbl_buf
[2]) ||
24439 (pi
->nphy_txiqlocal_bestc
[3] != tbl_buf
[3])) {
24441 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 80,
24442 16, pi
->nphy_txiqlocal_bestc
);
24448 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 4, 88,
24451 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 85,
24453 &pi
->nphy_txiqlocal_bestc
[5]);
24455 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_IQLOCAL
, 2, 93,
24457 &pi
->nphy_txiqlocal_bestc
[5]);
24462 static void wlc_phy_tx_iq_war_nphy(phy_info_t
*pi
)
24464 nphy_iq_comp_t tx_comp
;
24466 wlc_phy_table_read_nphy(pi
, 15, 4, 0x50, 16, (void *)&tx_comp
);
24468 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
, tx_comp
.a0
);
24469 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 2, tx_comp
.b0
);
24470 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 4, tx_comp
.a1
);
24471 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_20IN40_IQ
+ 6, tx_comp
.b1
);
24475 wlc_phy_rx_iq_coeffs_nphy(phy_info_t
*pi
, u8 write
, nphy_iq_comp_t
*pcomp
)
24478 write_phy_reg(pi
, 0x9a, pcomp
->a0
);
24479 write_phy_reg(pi
, 0x9b, pcomp
->b0
);
24480 write_phy_reg(pi
, 0x9c, pcomp
->a1
);
24481 write_phy_reg(pi
, 0x9d, pcomp
->b1
);
24483 pcomp
->a0
= read_phy_reg(pi
, 0x9a);
24484 pcomp
->b0
= read_phy_reg(pi
, 0x9b);
24485 pcomp
->a1
= read_phy_reg(pi
, 0x9c);
24486 pcomp
->b1
= read_phy_reg(pi
, 0x9d);
24491 wlc_phy_rx_iq_est_nphy(phy_info_t
*pi
, phy_iq_est_t
*est
, u16 num_samps
,
24492 u8 wait_time
, u8 wait_for_crs
)
24496 write_phy_reg(pi
, 0x12b, num_samps
);
24497 mod_phy_reg(pi
, 0x12a, (0xff << 0), (wait_time
<< 0));
24498 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqMode
,
24499 (wait_for_crs
) ? NPHY_IqestCmd_iqMode
: 0);
24501 mod_phy_reg(pi
, 0x129, NPHY_IqestCmd_iqstart
, NPHY_IqestCmd_iqstart
);
24503 SPINWAIT(((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) != 0),
24505 ASSERT((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0);
24507 if ((read_phy_reg(pi
, 0x129) & NPHY_IqestCmd_iqstart
) == 0) {
24508 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
24510 (read_phy_reg(pi
, NPHY_IqestipwrAccHi(core
)) << 16)
24511 | read_phy_reg(pi
, NPHY_IqestipwrAccLo(core
));
24513 (read_phy_reg(pi
, NPHY_IqestqpwrAccHi(core
)) << 16)
24514 | read_phy_reg(pi
, NPHY_IqestqpwrAccLo(core
));
24515 est
[core
].iq_prod
=
24516 (read_phy_reg(pi
, NPHY_IqestIqAccHi(core
)) << 16) |
24517 read_phy_reg(pi
, NPHY_IqestIqAccLo(core
));
24522 #define CAL_RETRY_CNT 2
24523 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t
*pi
, u8 core_mask
)
24526 phy_iq_est_t est
[PHY_CORE_MAX
];
24527 nphy_iq_comp_t old_comp
, new_comp
;
24529 u32 ii
= 0, qq
= 0;
24530 s16 iq_nbits
, qq_nbits
, brsh
, arsh
;
24533 uint cal_retry
= 0;
24535 if (core_mask
== 0x0)
24538 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &old_comp
);
24539 new_comp
.a0
= new_comp
.b0
= new_comp
.a1
= new_comp
.b1
= 0x0;
24540 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24543 wlc_phy_rx_iq_est_nphy(pi
, est
, 0x4000, 32, 0);
24545 new_comp
= old_comp
;
24547 for (curr_core
= 0; curr_core
< pi
->pubpi
.phy_corenum
; curr_core
++) {
24549 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24550 iq
= est
[curr_core
].iq_prod
;
24551 ii
= est
[curr_core
].i_pwr
;
24552 qq
= est
[curr_core
].q_pwr
;
24553 } else if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24554 iq
= est
[curr_core
].iq_prod
;
24555 ii
= est
[curr_core
].i_pwr
;
24556 qq
= est
[curr_core
].q_pwr
;
24561 if ((ii
+ qq
) < NPHY_MIN_RXIQ_PWR
) {
24562 bcmerror
= BCME_ERROR
;
24566 iq_nbits
= wlc_phy_nbits(iq
);
24567 qq_nbits
= wlc_phy_nbits(qq
);
24569 arsh
= 10 - (30 - iq_nbits
);
24571 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
>> (1 + arsh
)));
24572 temp
= (s32
) (ii
>> arsh
);
24574 bcmerror
= BCME_ERROR
;
24578 a
= (-(iq
<< (30 - iq_nbits
)) + (ii
<< (-1 - arsh
)));
24579 temp
= (s32
) (ii
<< -arsh
);
24581 bcmerror
= BCME_ERROR
;
24588 brsh
= qq_nbits
- 31 + 20;
24590 b
= (qq
<< (31 - qq_nbits
));
24591 temp
= (s32
) (ii
>> brsh
);
24593 bcmerror
= BCME_ERROR
;
24597 b
= (qq
<< (31 - qq_nbits
));
24598 temp
= (s32
) (ii
<< -brsh
);
24600 bcmerror
= BCME_ERROR
;
24606 b
= (s32
) wlc_phy_sqrt_int((u32
) b
);
24609 if ((curr_core
== PHY_CORE_0
) && (core_mask
& 0x1)) {
24610 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24611 new_comp
.a0
= (s16
) a
& 0x3ff;
24612 new_comp
.b0
= (s16
) b
& 0x3ff;
24615 new_comp
.a0
= (s16
) b
& 0x3ff;
24616 new_comp
.b0
= (s16
) a
& 0x3ff;
24619 if ((curr_core
== PHY_CORE_1
) && (core_mask
& 0x2)) {
24620 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
24621 new_comp
.a1
= (s16
) a
& 0x3ff;
24622 new_comp
.b1
= (s16
) b
& 0x3ff;
24625 new_comp
.a1
= (s16
) b
& 0x3ff;
24626 new_comp
.b1
= (s16
) a
& 0x3ff;
24631 if (bcmerror
!= 0) {
24632 printk("%s: Failed, cnt = %d\n", __func__
, cal_retry
);
24634 if (cal_retry
< CAL_RETRY_CNT
) {
24639 new_comp
= old_comp
;
24640 } else if (cal_retry
> 0) {
24643 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &new_comp
);
24646 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t
*pi
, u8 rx_core
)
24652 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24653 if (rx_core
== PHY_CORE_0
) {
24654 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24655 pi
->tx_rx_cal_radio_saveregs
[0] =
24657 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
);
24658 pi
->tx_rx_cal_radio_saveregs
[1] =
24660 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
);
24662 write_radio_reg(pi
,
24663 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24665 write_radio_reg(pi
,
24666 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
24670 pi
->tx_rx_cal_radio_saveregs
[0] =
24672 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
);
24673 pi
->tx_rx_cal_radio_saveregs
[1] =
24675 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
);
24677 write_radio_reg(pi
,
24678 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
24680 write_radio_reg(pi
,
24681 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
24686 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24687 pi
->tx_rx_cal_radio_saveregs
[0] =
24689 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
);
24690 pi
->tx_rx_cal_radio_saveregs
[1] =
24692 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
);
24694 write_radio_reg(pi
,
24695 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
24697 write_radio_reg(pi
,
24698 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
24702 pi
->tx_rx_cal_radio_saveregs
[0] =
24704 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
);
24705 pi
->tx_rx_cal_radio_saveregs
[1] =
24707 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
);
24709 write_radio_reg(pi
,
24710 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
24712 write_radio_reg(pi
,
24713 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
24719 if (rx_core
== PHY_CORE_0
) {
24720 pi
->tx_rx_cal_radio_saveregs
[0] =
24722 RADIO_2056_TX_RXIQCAL_TXMUX
|
24724 pi
->tx_rx_cal_radio_saveregs
[1] =
24726 RADIO_2056_RX_RXIQCAL_RXMUX
|
24729 if (pi
->pubpi
.radiorev
>= 5) {
24730 pi
->tx_rx_cal_radio_saveregs
[2] =
24732 RADIO_2056_RX_RXSPARE2
|
24734 pi
->tx_rx_cal_radio_saveregs
[3] =
24736 RADIO_2056_TX_TXSPARE2
|
24740 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24742 if (pi
->pubpi
.radiorev
>= 5) {
24743 pi
->tx_rx_cal_radio_saveregs
[4] =
24745 RADIO_2056_RX_LNAA_MASTER
24748 write_radio_reg(pi
,
24749 RADIO_2056_RX_LNAA_MASTER
24750 | RADIO_2056_RX0
, 0x40);
24752 write_radio_reg(pi
,
24753 RADIO_2056_TX_TXSPARE2
|
24754 RADIO_2056_TX1
, bias_a
);
24756 write_radio_reg(pi
,
24757 RADIO_2056_RX_RXSPARE2
|
24758 RADIO_2056_RX0
, bias_a
);
24760 pi
->tx_rx_cal_radio_saveregs
[4] =
24762 RADIO_2056_RX_LNAA_TUNE
24767 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24770 (offtune_val
<= 0x7) ? 0xF : 0;
24773 RADIO_2056_RX_LNAA_TUNE
|
24774 RADIO_2056_RX0
, 0xF0,
24775 (offtune_val
<< 8));
24778 write_radio_reg(pi
,
24779 RADIO_2056_TX_RXIQCAL_TXMUX
|
24780 RADIO_2056_TX1
, 0x9);
24781 write_radio_reg(pi
,
24782 RADIO_2056_RX_RXIQCAL_RXMUX
|
24783 RADIO_2056_RX0
, 0x9);
24785 if (pi
->pubpi
.radiorev
>= 5) {
24786 pi
->tx_rx_cal_radio_saveregs
[4] =
24788 RADIO_2056_RX_LNAG_MASTER
24791 write_radio_reg(pi
,
24792 RADIO_2056_RX_LNAG_MASTER
24793 | RADIO_2056_RX0
, 0x40);
24795 write_radio_reg(pi
,
24796 RADIO_2056_TX_TXSPARE2
|
24797 RADIO_2056_TX1
, bias_g
);
24799 write_radio_reg(pi
,
24800 RADIO_2056_RX_RXSPARE2
|
24801 RADIO_2056_RX0
, bias_g
);
24804 pi
->tx_rx_cal_radio_saveregs
[4] =
24806 RADIO_2056_RX_LNAG_TUNE
24811 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24814 (offtune_val
<= 0x7) ? 0xF : 0;
24817 RADIO_2056_RX_LNAG_TUNE
|
24818 RADIO_2056_RX0
, 0xF0,
24819 (offtune_val
<< 8));
24822 write_radio_reg(pi
,
24823 RADIO_2056_TX_RXIQCAL_TXMUX
|
24824 RADIO_2056_TX1
, 0x6);
24825 write_radio_reg(pi
,
24826 RADIO_2056_RX_RXIQCAL_RXMUX
|
24827 RADIO_2056_RX0
, 0x6);
24831 pi
->tx_rx_cal_radio_saveregs
[0] =
24833 RADIO_2056_TX_RXIQCAL_TXMUX
|
24835 pi
->tx_rx_cal_radio_saveregs
[1] =
24837 RADIO_2056_RX_RXIQCAL_RXMUX
|
24840 if (pi
->pubpi
.radiorev
>= 5) {
24841 pi
->tx_rx_cal_radio_saveregs
[2] =
24843 RADIO_2056_RX_RXSPARE2
|
24845 pi
->tx_rx_cal_radio_saveregs
[3] =
24847 RADIO_2056_TX_TXSPARE2
|
24851 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24853 if (pi
->pubpi
.radiorev
>= 5) {
24854 pi
->tx_rx_cal_radio_saveregs
[4] =
24856 RADIO_2056_RX_LNAA_MASTER
24859 write_radio_reg(pi
,
24860 RADIO_2056_RX_LNAA_MASTER
24861 | RADIO_2056_RX1
, 0x40);
24863 write_radio_reg(pi
,
24864 RADIO_2056_TX_TXSPARE2
|
24865 RADIO_2056_TX0
, bias_a
);
24867 write_radio_reg(pi
,
24868 RADIO_2056_RX_RXSPARE2
|
24869 RADIO_2056_RX1
, bias_a
);
24871 pi
->tx_rx_cal_radio_saveregs
[4] =
24873 RADIO_2056_RX_LNAA_TUNE
24878 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24881 (offtune_val
<= 0x7) ? 0xF : 0;
24884 RADIO_2056_RX_LNAA_TUNE
|
24885 RADIO_2056_RX1
, 0xF0,
24886 (offtune_val
<< 8));
24889 write_radio_reg(pi
,
24890 RADIO_2056_TX_RXIQCAL_TXMUX
|
24891 RADIO_2056_TX0
, 0x9);
24892 write_radio_reg(pi
,
24893 RADIO_2056_RX_RXIQCAL_RXMUX
|
24894 RADIO_2056_RX1
, 0x9);
24896 if (pi
->pubpi
.radiorev
>= 5) {
24897 pi
->tx_rx_cal_radio_saveregs
[4] =
24899 RADIO_2056_RX_LNAG_MASTER
24902 write_radio_reg(pi
,
24903 RADIO_2056_RX_LNAG_MASTER
24904 | RADIO_2056_RX1
, 0x40);
24906 write_radio_reg(pi
,
24907 RADIO_2056_TX_TXSPARE2
|
24908 RADIO_2056_TX0
, bias_g
);
24910 write_radio_reg(pi
,
24911 RADIO_2056_RX_RXSPARE2
|
24912 RADIO_2056_RX1
, bias_g
);
24914 pi
->tx_rx_cal_radio_saveregs
[4] =
24916 RADIO_2056_RX_LNAG_TUNE
24921 tx_rx_cal_radio_saveregs
[2] & 0xF0)
24924 (offtune_val
<= 0x7) ? 0xF : 0;
24927 RADIO_2056_RX_LNAG_TUNE
|
24928 RADIO_2056_RX1
, 0xF0,
24929 (offtune_val
<< 8));
24932 write_radio_reg(pi
,
24933 RADIO_2056_TX_RXIQCAL_TXMUX
|
24934 RADIO_2056_TX0
, 0x6);
24935 write_radio_reg(pi
,
24936 RADIO_2056_RX_RXIQCAL_RXMUX
|
24937 RADIO_2056_RX1
, 0x6);
24943 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
24945 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
24946 if (rx_core
== PHY_CORE_0
) {
24947 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24948 write_radio_reg(pi
,
24949 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP
,
24951 tx_rx_cal_radio_saveregs
[0]);
24952 write_radio_reg(pi
,
24953 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN
,
24955 tx_rx_cal_radio_saveregs
[1]);
24958 write_radio_reg(pi
,
24959 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP
,
24961 tx_rx_cal_radio_saveregs
[0]);
24962 write_radio_reg(pi
,
24963 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN
,
24965 tx_rx_cal_radio_saveregs
[1]);
24969 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
24970 write_radio_reg(pi
,
24971 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP
,
24973 tx_rx_cal_radio_saveregs
[0]);
24974 write_radio_reg(pi
,
24975 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN
,
24977 tx_rx_cal_radio_saveregs
[1]);
24980 write_radio_reg(pi
,
24981 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP
,
24983 tx_rx_cal_radio_saveregs
[0]);
24984 write_radio_reg(pi
,
24985 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN
,
24987 tx_rx_cal_radio_saveregs
[1]);
24992 if (rx_core
== PHY_CORE_0
) {
24993 write_radio_reg(pi
,
24994 RADIO_2056_TX_RXIQCAL_TXMUX
|
24996 pi
->tx_rx_cal_radio_saveregs
[0]);
24998 write_radio_reg(pi
,
24999 RADIO_2056_RX_RXIQCAL_RXMUX
|
25001 pi
->tx_rx_cal_radio_saveregs
[1]);
25003 if (pi
->pubpi
.radiorev
>= 5) {
25004 write_radio_reg(pi
,
25005 RADIO_2056_RX_RXSPARE2
|
25008 tx_rx_cal_radio_saveregs
[2]);
25010 write_radio_reg(pi
,
25011 RADIO_2056_TX_TXSPARE2
|
25014 tx_rx_cal_radio_saveregs
[3]);
25017 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25018 if (pi
->pubpi
.radiorev
>= 5) {
25019 write_radio_reg(pi
,
25020 RADIO_2056_RX_LNAA_MASTER
25023 tx_rx_cal_radio_saveregs
25026 write_radio_reg(pi
,
25027 RADIO_2056_RX_LNAA_TUNE
25030 tx_rx_cal_radio_saveregs
25034 if (pi
->pubpi
.radiorev
>= 5) {
25035 write_radio_reg(pi
,
25036 RADIO_2056_RX_LNAG_MASTER
25039 tx_rx_cal_radio_saveregs
25042 write_radio_reg(pi
,
25043 RADIO_2056_RX_LNAG_TUNE
25046 tx_rx_cal_radio_saveregs
25052 write_radio_reg(pi
,
25053 RADIO_2056_TX_RXIQCAL_TXMUX
|
25055 pi
->tx_rx_cal_radio_saveregs
[0]);
25057 write_radio_reg(pi
,
25058 RADIO_2056_RX_RXIQCAL_RXMUX
|
25060 pi
->tx_rx_cal_radio_saveregs
[1]);
25062 if (pi
->pubpi
.radiorev
>= 5) {
25063 write_radio_reg(pi
,
25064 RADIO_2056_RX_RXSPARE2
|
25067 tx_rx_cal_radio_saveregs
[2]);
25069 write_radio_reg(pi
,
25070 RADIO_2056_TX_TXSPARE2
|
25073 tx_rx_cal_radio_saveregs
[3]);
25076 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25077 if (pi
->pubpi
.radiorev
>= 5) {
25078 write_radio_reg(pi
,
25079 RADIO_2056_RX_LNAA_MASTER
25082 tx_rx_cal_radio_saveregs
25085 write_radio_reg(pi
,
25086 RADIO_2056_RX_LNAA_TUNE
25089 tx_rx_cal_radio_saveregs
25093 if (pi
->pubpi
.radiorev
>= 5) {
25094 write_radio_reg(pi
,
25095 RADIO_2056_RX_LNAG_MASTER
25098 tx_rx_cal_radio_saveregs
25101 write_radio_reg(pi
,
25102 RADIO_2056_RX_LNAG_TUNE
25105 tx_rx_cal_radio_saveregs
25113 static void wlc_phy_rxcal_physetup_nphy(phy_info_t
*pi
, u8 rx_core
)
25116 u16 rx_antval
, tx_antval
;
25118 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25122 tx_core
= (rx_core
== PHY_CORE_0
) ? 1 : 0;
25125 pi
->tx_rx_cal_phy_saveregs
[0] = read_phy_reg(pi
, 0xa2);
25126 pi
->tx_rx_cal_phy_saveregs
[1] =
25127 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7);
25128 pi
->tx_rx_cal_phy_saveregs
[2] =
25129 read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5);
25130 pi
->tx_rx_cal_phy_saveregs
[3] = read_phy_reg(pi
, 0x91);
25131 pi
->tx_rx_cal_phy_saveregs
[4] = read_phy_reg(pi
, 0x92);
25132 pi
->tx_rx_cal_phy_saveregs
[5] = read_phy_reg(pi
, 0x7a);
25133 pi
->tx_rx_cal_phy_saveregs
[6] = read_phy_reg(pi
, 0x7d);
25134 pi
->tx_rx_cal_phy_saveregs
[7] = read_phy_reg(pi
, 0xe7);
25135 pi
->tx_rx_cal_phy_saveregs
[8] = read_phy_reg(pi
, 0xec);
25136 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25137 pi
->tx_rx_cal_phy_saveregs
[11] = read_phy_reg(pi
, 0x342);
25138 pi
->tx_rx_cal_phy_saveregs
[12] = read_phy_reg(pi
, 0x343);
25139 pi
->tx_rx_cal_phy_saveregs
[13] = read_phy_reg(pi
, 0x346);
25140 pi
->tx_rx_cal_phy_saveregs
[14] = read_phy_reg(pi
, 0x347);
25143 pi
->tx_rx_cal_phy_saveregs
[9] = read_phy_reg(pi
, 0x297);
25144 pi
->tx_rx_cal_phy_saveregs
[10] = read_phy_reg(pi
, 0x29b);
25145 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
25146 0x29b, (0x1 << 0), (0) << 0);
25148 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
25149 0x29b, (0x1 << 0), (0) << 0);
25151 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25153 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25155 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << (1 - rx_core
)) << 12);
25159 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25160 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25161 mod_phy_reg(pi
, 0xa2, (0xf << 4), (1 << rx_core
) << 4);
25162 mod_phy_reg(pi
, 0xa2, (0xf << 8), (1 << rx_core
) << 8);
25165 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25166 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25167 (0x1 << 2), (0x1 << 2));
25168 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25169 mod_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25170 (0x1 << 0) | (0x1 << 1), 0);
25171 mod_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25173 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25176 wlc_phy_rfctrlintc_override_nphy(pi
, NPHY_RfctrlIntc_override_PA
, 0,
25177 RADIO_MIMO_CORESEL_CORE1
|
25178 RADIO_MIMO_CORESEL_CORE2
);
25180 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25181 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
25183 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
25184 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 0, 0, 0,
25185 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25186 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 1, 0, 0,
25187 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25188 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 1, 0, 0,
25189 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25190 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0, 0,
25191 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
25192 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0, 0,
25193 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25194 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25195 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25198 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25200 wlc_phy_rfctrl_override_nphy_rev7(pi
,
25203 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25205 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
25207 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25208 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0, 0,
25209 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
25211 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 3, 0);
25214 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RX2TX
);
25216 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25218 wlc_phy_rfctrlintc_override_nphy(pi
,
25219 NPHY_RfctrlIntc_override_TRSW
,
25223 if (rx_core
== PHY_CORE_0
) {
25231 wlc_phy_rfctrlintc_override_nphy(pi
,
25232 NPHY_RfctrlIntc_override_TRSW
,
25233 rx_antval
, rx_core
+ 1);
25234 wlc_phy_rfctrlintc_override_nphy(pi
,
25235 NPHY_RfctrlIntc_override_TRSW
,
25236 tx_antval
, tx_core
+ 1);
25240 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t
*pi
, u8 rx_core
)
25243 write_phy_reg(pi
, 0xa2, pi
->tx_rx_cal_phy_saveregs
[0]);
25244 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7,
25245 pi
->tx_rx_cal_phy_saveregs
[1]);
25246 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x8f : 0xa5,
25247 pi
->tx_rx_cal_phy_saveregs
[2]);
25248 write_phy_reg(pi
, 0x91, pi
->tx_rx_cal_phy_saveregs
[3]);
25249 write_phy_reg(pi
, 0x92, pi
->tx_rx_cal_phy_saveregs
[4]);
25251 write_phy_reg(pi
, 0x7a, pi
->tx_rx_cal_phy_saveregs
[5]);
25252 write_phy_reg(pi
, 0x7d, pi
->tx_rx_cal_phy_saveregs
[6]);
25253 write_phy_reg(pi
, 0xe7, pi
->tx_rx_cal_phy_saveregs
[7]);
25254 write_phy_reg(pi
, 0xec, pi
->tx_rx_cal_phy_saveregs
[8]);
25255 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25256 write_phy_reg(pi
, 0x342, pi
->tx_rx_cal_phy_saveregs
[11]);
25257 write_phy_reg(pi
, 0x343, pi
->tx_rx_cal_phy_saveregs
[12]);
25258 write_phy_reg(pi
, 0x346, pi
->tx_rx_cal_phy_saveregs
[13]);
25259 write_phy_reg(pi
, 0x347, pi
->tx_rx_cal_phy_saveregs
[14]);
25262 write_phy_reg(pi
, 0x297, pi
->tx_rx_cal_phy_saveregs
[9]);
25263 write_phy_reg(pi
, 0x29b, pi
->tx_rx_cal_phy_saveregs
[10]);
25267 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t
*pi
, u8 rx_core
,
25268 u16
*rxgain
, u8 cal_type
)
25272 phy_iq_est_t est
[PHY_CORE_MAX
];
25274 nphy_iq_comp_t save_comp
, zero_comp
;
25275 u32 i_pwr
, q_pwr
, curr_pwr
, optim_pwr
= 0, prev_pwr
= 0, thresh_pwr
=
25277 s16 desired_log2_pwr
, actual_log2_pwr
, delta_pwr
;
25278 bool gainctrl_done
= false;
25279 u8 mix_tia_gain
= 3;
25280 s8 optim_gaintbl_index
= 0, prev_gaintbl_index
= 0;
25281 s8 curr_gaintbl_index
= 3;
25282 u8 gainctrl_dirn
= NPHY_RXCAL_GAIN_INIT
;
25283 nphy_ipa_txrxgain_t
*nphy_rxcal_gaintbl
;
25284 u16 hpvga
, lpf_biq1
, lpf_biq0
, lna2
, lna1
;
25287 u16 nphy_rxcal_txgain
[2];
25289 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25293 tx_core
= 1 - rx_core
;
25297 desired_log2_pwr
= (cal_type
== 0) ? 13 : 13;
25299 wlc_phy_rx_iq_coeffs_nphy(pi
, 0, &save_comp
);
25300 zero_comp
.a0
= zero_comp
.b0
= zero_comp
.a1
= zero_comp
.b1
= 0x0;
25301 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &zero_comp
);
25303 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
25304 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25306 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25311 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25312 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz_rev7
;
25314 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_5GHz
;
25317 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25318 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz_rev7
;
25320 nphy_rxcal_gaintbl
= nphy_ipa_rxcal_gaintbl_2GHz
;
25326 hpvga
= (NREV_GE(pi
->pubpi
.phy_rev
, 7)) ?
25327 0 : nphy_rxcal_gaintbl
[curr_gaintbl_index
].hpvga
;
25328 lpf_biq1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq1
;
25329 lpf_biq0
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lpf_biq0
;
25330 lna2
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna2
;
25331 lna1
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].lna1
;
25332 txpwrindex
= nphy_rxcal_gaintbl
[curr_gaintbl_index
].txpwrindex
;
25334 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25335 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25336 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25337 ((lpf_biq1
<< 12) |
25343 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25347 (mix_tia_gain
<< 4) |
25348 (lna2
<< 2) | lna1
), 0x3,
25352 pi
->nphy_rxcal_pwr_idx
[tx_core
] = txpwrindex
;
25354 if (txpwrindex
== -1) {
25355 nphy_rxcal_txgain
[0] = 0x8ff0 | pi
->nphy_gmval
;
25356 nphy_rxcal_txgain
[1] = 0x8ff0 | pi
->nphy_gmval
;
25357 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
,
25359 nphy_rxcal_txgain
);
25361 wlc_phy_txpwr_index_nphy(pi
, tx_core
+ 1, txpwrindex
,
25365 wlc_phy_tx_tone_nphy(pi
, (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25366 NPHY_RXCAL_TONEFREQ_40MHz
:
25367 NPHY_RXCAL_TONEFREQ_20MHz
,
25368 NPHY_RXCAL_TONEAMP
, 0, cal_type
, false);
25370 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25371 i_pwr
= (est
[rx_core
].i_pwr
+ num_samps
/ 2) / num_samps
;
25372 q_pwr
= (est
[rx_core
].q_pwr
+ num_samps
/ 2) / num_samps
;
25373 curr_pwr
= i_pwr
+ q_pwr
;
25375 switch (gainctrl_dirn
) {
25376 case NPHY_RXCAL_GAIN_INIT
:
25377 if (curr_pwr
> thresh_pwr
) {
25378 gainctrl_dirn
= NPHY_RXCAL_GAIN_DOWN
;
25379 prev_gaintbl_index
= curr_gaintbl_index
;
25380 curr_gaintbl_index
--;
25382 gainctrl_dirn
= NPHY_RXCAL_GAIN_UP
;
25383 prev_gaintbl_index
= curr_gaintbl_index
;
25384 curr_gaintbl_index
++;
25388 case NPHY_RXCAL_GAIN_UP
:
25389 if (curr_pwr
> thresh_pwr
) {
25390 gainctrl_done
= true;
25391 optim_pwr
= prev_pwr
;
25392 optim_gaintbl_index
= prev_gaintbl_index
;
25394 prev_gaintbl_index
= curr_gaintbl_index
;
25395 curr_gaintbl_index
++;
25399 case NPHY_RXCAL_GAIN_DOWN
:
25400 if (curr_pwr
> thresh_pwr
) {
25401 prev_gaintbl_index
= curr_gaintbl_index
;
25402 curr_gaintbl_index
--;
25404 gainctrl_done
= true;
25405 optim_pwr
= curr_pwr
;
25406 optim_gaintbl_index
= curr_gaintbl_index
;
25414 if ((curr_gaintbl_index
< 0) ||
25415 (curr_gaintbl_index
> NPHY_IPA_RXCAL_MAXGAININDEX
)) {
25416 gainctrl_done
= true;
25417 optim_pwr
= curr_pwr
;
25418 optim_gaintbl_index
= prev_gaintbl_index
;
25420 prev_pwr
= curr_pwr
;
25423 wlc_phy_stopplayback_nphy(pi
);
25424 } while (!gainctrl_done
);
25426 hpvga
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].hpvga
;
25427 lpf_biq1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq1
;
25428 lpf_biq0
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lpf_biq0
;
25429 lna2
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna2
;
25430 lna1
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].lna1
;
25431 txpwrindex
= nphy_rxcal_gaintbl
[optim_gaintbl_index
].txpwrindex
;
25433 actual_log2_pwr
= wlc_phy_nbits(optim_pwr
);
25434 delta_pwr
= desired_log2_pwr
- actual_log2_pwr
;
25436 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25437 fine_gain_idx
= (int)lpf_biq1
+ delta_pwr
;
25439 if (fine_gain_idx
+ (int)lpf_biq0
> 10) {
25440 lpf_biq1
= 10 - lpf_biq0
;
25442 lpf_biq1
= (u16
) max(fine_gain_idx
, 0);
25444 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25445 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25446 ((lpf_biq1
<< 12) |
25448 (mix_tia_gain
<< 4) |
25449 (lna2
<< 2) | lna1
), 0x3,
25452 hpvga
= (u16
) max(min(((int)hpvga
) + delta_pwr
, 10), 0);
25453 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12),
25454 ((hpvga
<< 12) | (lpf_biq1
<< 10) |
25455 (lpf_biq0
<< 8) | (mix_tia_gain
<<
25462 if (rxgain
!= NULL
) {
25465 *rxgain
++ = mix_tia_gain
;
25466 *rxgain
++ = lpf_biq0
;
25467 *rxgain
++ = lpf_biq1
;
25471 wlc_phy_rx_iq_coeffs_nphy(pi
, 1, &save_comp
);
25475 wlc_phy_rxcal_gainctrl_nphy(phy_info_t
*pi
, u8 rx_core
, u16
*rxgain
,
25478 wlc_phy_rxcal_gainctrl_nphy_rev5(pi
, rx_core
, rxgain
, cal_type
);
25482 wlc_phy_rc_sweep_nphy(phy_info_t
*pi
, u8 core_idx
, u8 loopback_type
)
25484 u32 target_bws
[2] = { 9500, 21000 };
25485 u32 ref_tones
[2] = { 3000, 6000 };
25486 u32 target_bw
, ref_tone
;
25488 u32 target_pwr_ratios
[2] = { 28606, 18468 };
25489 u32 target_pwr_ratio
, pwr_ratio
, last_pwr_ratio
= 0;
25491 u16 start_rccal_ovr_val
= 128;
25492 u16 txlpf_rccal_lpc_ovr_val
= 128;
25493 u16 rxlpf_rccal_hpc_ovr_val
= 159;
25495 u16 orig_txlpf_rccal_lpc_ovr_val
;
25496 u16 orig_rxlpf_rccal_hpc_ovr_val
;
25497 u16 radio_addr_offset_rx
;
25498 u16 radio_addr_offset_tx
;
25500 u16 orig_RxStrnFilt40Num
[6];
25501 u16 orig_RxStrnFilt40Den
[4];
25502 u16 orig_rfctrloverride
[2];
25503 u16 orig_rfctrlauxreg
[2];
25504 u16 orig_rfctrlrssiothers
;
25507 u16 rx_lpf_bw
, rx_lpf_bws
[2] = { 2, 4 };
25508 u16 lpf_hpc
= 7, hpvga_hpc
= 7;
25511 u16 rccal_val
, last_rccal_val
= 0, best_rccal_val
= 0;
25512 u32 ref_iq_vals
= 0, target_iq_vals
= 0;
25513 u16 num_samps
, log_num_samps
= 10;
25514 phy_iq_est_t est
[PHY_CORE_MAX
];
25516 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25520 num_samps
= (1 << log_num_samps
);
25522 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25523 target_bw
= target_bws
[1];
25524 target_pwr_ratio
= target_pwr_ratios
[1];
25525 ref_tone
= ref_tones
[1];
25526 rx_lpf_bw
= rx_lpf_bws
[1];
25528 target_bw
= target_bws
[0];
25529 target_pwr_ratio
= target_pwr_ratios
[0];
25530 ref_tone
= ref_tones
[0];
25531 rx_lpf_bw
= rx_lpf_bws
[0];
25534 if (core_idx
== 0) {
25535 radio_addr_offset_rx
= RADIO_2056_RX0
;
25536 radio_addr_offset_tx
=
25537 (loopback_type
== 0) ? RADIO_2056_TX0
: RADIO_2056_TX1
;
25539 radio_addr_offset_rx
= RADIO_2056_RX1
;
25540 radio_addr_offset_tx
=
25541 (loopback_type
== 0) ? RADIO_2056_TX1
: RADIO_2056_TX0
;
25544 orig_txlpf_rccal_lpc_ovr_val
=
25546 (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
));
25547 orig_rxlpf_rccal_hpc_ovr_val
=
25549 (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25550 radio_addr_offset_rx
));
25552 orig_dcBypass
= ((read_phy_reg(pi
, 0x48) >> 8) & 1);
25554 orig_RxStrnFilt40Num
[0] = read_phy_reg(pi
, 0x267);
25555 orig_RxStrnFilt40Num
[1] = read_phy_reg(pi
, 0x268);
25556 orig_RxStrnFilt40Num
[2] = read_phy_reg(pi
, 0x269);
25557 orig_RxStrnFilt40Den
[0] = read_phy_reg(pi
, 0x26a);
25558 orig_RxStrnFilt40Den
[1] = read_phy_reg(pi
, 0x26b);
25559 orig_RxStrnFilt40Num
[3] = read_phy_reg(pi
, 0x26c);
25560 orig_RxStrnFilt40Num
[4] = read_phy_reg(pi
, 0x26d);
25561 orig_RxStrnFilt40Num
[5] = read_phy_reg(pi
, 0x26e);
25562 orig_RxStrnFilt40Den
[2] = read_phy_reg(pi
, 0x26f);
25563 orig_RxStrnFilt40Den
[3] = read_phy_reg(pi
, 0x270);
25565 orig_rfctrloverride
[0] = read_phy_reg(pi
, 0xe7);
25566 orig_rfctrloverride
[1] = read_phy_reg(pi
, 0xec);
25567 orig_rfctrlauxreg
[0] = read_phy_reg(pi
, 0xf8);
25568 orig_rfctrlauxreg
[1] = read_phy_reg(pi
, 0xfa);
25569 orig_rfctrlrssiothers
= read_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d);
25571 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25572 txlpf_rccal_lpc_ovr_val
);
25574 write_radio_reg(pi
,
25575 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25576 rxlpf_rccal_hpc_ovr_val
);
25578 mod_phy_reg(pi
, 0x48, (0x1 << 8), (0x1 << 8));
25580 write_phy_reg(pi
, 0x267, 0x02d4);
25581 write_phy_reg(pi
, 0x268, 0x0000);
25582 write_phy_reg(pi
, 0x269, 0x0000);
25583 write_phy_reg(pi
, 0x26a, 0x0000);
25584 write_phy_reg(pi
, 0x26b, 0x0000);
25585 write_phy_reg(pi
, 0x26c, 0x02d4);
25586 write_phy_reg(pi
, 0x26d, 0x0000);
25587 write_phy_reg(pi
, 0x26e, 0x0000);
25588 write_phy_reg(pi
, 0x26f, 0x0000);
25589 write_phy_reg(pi
, 0x270, 0x0000);
25591 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 8));
25592 or_phy_reg(pi
, (core_idx
== 0) ? 0xec : 0xe7, (0x1 << 15));
25593 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 9));
25594 or_phy_reg(pi
, (core_idx
== 0) ? 0xe7 : 0xec, (0x1 << 10));
25596 mod_phy_reg(pi
, (core_idx
== 0) ? 0xfa : 0xf8,
25597 (0x7 << 10), (tx_lpf_bw
<< 10));
25598 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25599 (0x7 << 0), (hpvga_hpc
<< 0));
25600 mod_phy_reg(pi
, (core_idx
== 0) ? 0xf8 : 0xfa,
25601 (0x7 << 4), (lpf_hpc
<< 4));
25602 mod_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d,
25603 (0x7 << 8), (rx_lpf_bw
<< 8));
25605 rccal_stepsize
= 16;
25606 rccal_val
= start_rccal_ovr_val
+ rccal_stepsize
;
25608 while (rccal_stepsize
>= 0) {
25609 write_radio_reg(pi
,
25610 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25611 radio_addr_offset_rx
), rccal_val
);
25613 if (rccal_stepsize
== 16) {
25615 wlc_phy_tx_tone_nphy(pi
, ref_tone
, NPHY_RXCAL_TONEAMP
,
25619 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25621 if (core_idx
== 0) {
25623 max_t(u32
, (est
[0].i_pwr
+
25624 est
[0].q_pwr
) >> (log_num_samps
+ 1),
25628 max_t(u32
, (est
[1].i_pwr
+
25629 est
[1].q_pwr
) >> (log_num_samps
+ 1),
25633 wlc_phy_tx_tone_nphy(pi
, target_bw
, NPHY_RXCAL_TONEAMP
,
25638 wlc_phy_rx_iq_est_nphy(pi
, est
, num_samps
, 32, 0);
25640 if (core_idx
== 0) {
25642 (est
[0].i_pwr
+ est
[0].q_pwr
) >> (log_num_samps
+
25646 (est
[1].i_pwr
+ est
[1].q_pwr
) >> (log_num_samps
+
25649 pwr_ratio
= (uint
) ((target_iq_vals
<< 16) / ref_iq_vals
);
25651 if (rccal_stepsize
== 0) {
25653 } else if (rccal_stepsize
== 1) {
25654 last_rccal_val
= rccal_val
;
25655 rccal_val
+= (pwr_ratio
> target_pwr_ratio
) ? 1 : -1;
25656 last_pwr_ratio
= pwr_ratio
;
25659 rccal_stepsize
= (rccal_stepsize
>> 1);
25660 rccal_val
+= ((pwr_ratio
> target_pwr_ratio
) ?
25661 rccal_stepsize
: (-rccal_stepsize
));
25664 if (rccal_stepsize
== -1) {
25666 (ABS((int)last_pwr_ratio
- (int)target_pwr_ratio
) <
25667 ABS((int)pwr_ratio
-
25668 (int)target_pwr_ratio
)) ? last_rccal_val
:
25671 if (CHSPEC_IS40(pi
->radio_chanspec
)) {
25672 if ((best_rccal_val
> 140)
25673 || (best_rccal_val
< 135)) {
25674 best_rccal_val
= 138;
25677 if ((best_rccal_val
> 142)
25678 || (best_rccal_val
< 137)) {
25679 best_rccal_val
= 140;
25683 write_radio_reg(pi
,
25684 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25685 radio_addr_offset_rx
), best_rccal_val
);
25689 wlc_phy_stopplayback_nphy(pi
);
25691 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
| radio_addr_offset_tx
),
25692 orig_txlpf_rccal_lpc_ovr_val
);
25693 write_radio_reg(pi
,
25694 (RADIO_2056_RX_RXLPF_RCCAL_HPC
| radio_addr_offset_rx
),
25695 orig_rxlpf_rccal_hpc_ovr_val
);
25697 mod_phy_reg(pi
, 0x48, (0x1 << 8), (orig_dcBypass
<< 8));
25699 write_phy_reg(pi
, 0x267, orig_RxStrnFilt40Num
[0]);
25700 write_phy_reg(pi
, 0x268, orig_RxStrnFilt40Num
[1]);
25701 write_phy_reg(pi
, 0x269, orig_RxStrnFilt40Num
[2]);
25702 write_phy_reg(pi
, 0x26a, orig_RxStrnFilt40Den
[0]);
25703 write_phy_reg(pi
, 0x26b, orig_RxStrnFilt40Den
[1]);
25704 write_phy_reg(pi
, 0x26c, orig_RxStrnFilt40Num
[3]);
25705 write_phy_reg(pi
, 0x26d, orig_RxStrnFilt40Num
[4]);
25706 write_phy_reg(pi
, 0x26e, orig_RxStrnFilt40Num
[5]);
25707 write_phy_reg(pi
, 0x26f, orig_RxStrnFilt40Den
[2]);
25708 write_phy_reg(pi
, 0x270, orig_RxStrnFilt40Den
[3]);
25710 write_phy_reg(pi
, 0xe7, orig_rfctrloverride
[0]);
25711 write_phy_reg(pi
, 0xec, orig_rfctrloverride
[1]);
25712 write_phy_reg(pi
, 0xf8, orig_rfctrlauxreg
[0]);
25713 write_phy_reg(pi
, 0xfa, orig_rfctrlauxreg
[1]);
25714 write_phy_reg(pi
, (core_idx
== 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers
);
25716 pi
->nphy_anarxlpf_adjusted
= false;
25718 return best_rccal_val
- 0x80;
25721 #define WAIT_FOR_SCOPE 4000
25723 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25724 u8 cal_type
, bool debug
)
25727 u8 core_no
, rx_core
;
25731 nphy_iqcal_params_t cal_params
[2];
25733 s8 rxlpf_rccal_hpc
, txlpf_rccal_lpc
;
25735 bool phyhang_avoid_state
= false;
25736 bool skip_rxiqcal
= false;
25738 orig_BBConfig
= read_phy_reg(pi
, 0x01);
25739 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
25741 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
25743 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25744 phyhang_avoid_state
= pi
->phyhang_avoid
;
25745 pi
->phyhang_avoid
= false;
25748 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25750 for (core_no
= 0; core_no
<= 1; core_no
++) {
25751 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25752 &cal_params
[core_no
]);
25753 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25756 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25758 rxcore_state
= wlc_phy_rxcore_getstate_nphy((wlc_phy_t
*) pi
);
25760 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25763 ((rxcore_state
& (1 << rx_core
)) == 0) ? true : false;
25765 wlc_phy_rxcal_physetup_nphy(pi
, rx_core
);
25767 wlc_phy_rxcal_radio_setup_nphy(pi
, rx_core
);
25769 if ((!skip_rxiqcal
) && ((cal_type
== 0) || (cal_type
== 2))) {
25771 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
, 0);
25773 wlc_phy_tx_tone_nphy(pi
,
25774 (CHSPEC_IS40(pi
->radio_chanspec
)) ?
25775 NPHY_RXCAL_TONEFREQ_40MHz
:
25776 NPHY_RXCAL_TONEFREQ_20MHz
,
25777 NPHY_RXCAL_TONEAMP
, 0, cal_type
,
25781 mdelay(WAIT_FOR_SCOPE
);
25783 wlc_phy_calc_rx_iq_comp_nphy(pi
, rx_core
+ 1);
25784 wlc_phy_stopplayback_nphy(pi
);
25787 if (((cal_type
== 1) || (cal_type
== 2))
25788 && NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
25790 if (rx_core
== PHY_CORE_1
) {
25792 if (rxcore_state
== 1) {
25793 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25797 wlc_phy_rxcal_gainctrl_nphy(pi
, rx_core
, NULL
,
25800 best_rccal
[rx_core
] =
25801 wlc_phy_rc_sweep_nphy(pi
, rx_core
, 1);
25802 pi
->nphy_rccal_value
= best_rccal
[rx_core
];
25804 if (rxcore_state
== 1) {
25805 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25812 wlc_phy_rxcal_radio_cleanup_nphy(pi
, rx_core
);
25814 wlc_phy_rxcal_phycleanup_nphy(pi
, rx_core
);
25815 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25818 if ((cal_type
== 1) || (cal_type
== 2)) {
25820 best_rccal
[0] = best_rccal
[1];
25821 write_radio_reg(pi
,
25822 (RADIO_2056_RX_RXLPF_RCCAL_LPC
|
25823 RADIO_2056_RX0
), (best_rccal
[0] | 0x80));
25825 for (rx_core
= 0; rx_core
< pi
->pubpi
.phy_corenum
; rx_core
++) {
25827 (((int)best_rccal
[rx_core
] - 12) >> 1) + 10;
25828 txlpf_rccal_lpc
= ((int)best_rccal
[rx_core
] - 12) + 10;
25831 txlpf_rccal_lpc
+= IS40MHZ(pi
) ? 24 : 12;
25832 txlpf_idac
= IS40MHZ(pi
) ? 0x0e : 0x13;
25833 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, rx_core
,
25834 TXLPF_IDAC_4
, txlpf_idac
);
25837 rxlpf_rccal_hpc
= max(min_t(u8
, rxlpf_rccal_hpc
, 31), 0);
25838 txlpf_rccal_lpc
= max(min_t(u8
, txlpf_rccal_lpc
, 31), 0);
25840 write_radio_reg(pi
, (RADIO_2056_RX_RXLPF_RCCAL_HPC
|
25842 PHY_CORE_0
) ? RADIO_2056_RX0
:
25844 (rxlpf_rccal_hpc
| 0x80));
25846 write_radio_reg(pi
, (RADIO_2056_TX_TXLPF_RCCAL
|
25848 PHY_CORE_0
) ? RADIO_2056_TX0
:
25850 (txlpf_rccal_lpc
| 0x80));
25854 write_phy_reg(pi
, 0x01, orig_BBConfig
);
25856 wlc_phy_resetcca_nphy(pi
);
25858 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
25859 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
25860 NPHY_REV7_RfctrlOverride_cmd_rxgain
,
25863 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
25865 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
25867 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
25870 if (NREV_GE(pi
->pubpi
.phy_rev
, 4)) {
25871 pi
->phyhang_avoid
= phyhang_avoid_state
;
25874 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
25880 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t
*pi
, nphy_txgains_t target_gain
,
25883 phy_iq_est_t est
[PHY_CORE_MAX
];
25884 u8 core_num
, rx_core
, tx_core
;
25885 u16 lna_vals
[] = { 0x3, 0x3, 0x1 };
25886 u16 hpf1_vals
[] = { 0x7, 0x2, 0x0 };
25887 u16 hpf2_vals
[] = { 0x2, 0x0, 0x0 };
25888 s16 curr_hpf1
, curr_hpf2
, curr_hpf
, curr_lna
;
25889 s16 desired_log2_pwr
, actual_log2_pwr
, hpf_change
;
25890 u16 orig_RfseqCoreActv
, orig_AfectrlCore
, orig_AfectrlOverride
;
25891 u16 orig_RfctrlIntcRx
, orig_RfctrlIntcTx
;
25893 u32 i_pwr
, q_pwr
, tot_pwr
[3];
25894 u8 gain_pass
, use_hpf_num
;
25895 u16 mask
, val1
, val2
;
25899 nphy_iqcal_params_t cal_params
[2];
25902 bool first_playtone
= true;
25904 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
25906 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
25908 wlc_phy_reapply_txcal_coeffs_nphy(pi
);
25911 wlc_phy_table_read_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, gain_save
);
25913 for (core_no
= 0; core_no
<= 1; core_no
++) {
25914 wlc_phy_iqcal_gainparams_nphy(pi
, core_no
, target_gain
,
25915 &cal_params
[core_no
]);
25916 cal_gain
[core_no
] = cal_params
[core_no
].cal_gain
;
25919 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16, cal_gain
);
25922 desired_log2_pwr
= 13;
25924 for (core_num
= 0; core_num
< 2; core_num
++) {
25926 rx_core
= core_num
;
25927 tx_core
= 1 - core_num
;
25929 orig_RfseqCoreActv
= read_phy_reg(pi
, 0xa2);
25930 orig_AfectrlCore
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25932 orig_AfectrlOverride
= read_phy_reg(pi
, 0xa5);
25933 orig_RfctrlIntcRx
= read_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ?
25935 orig_RfctrlIntcTx
= read_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ?
25938 mod_phy_reg(pi
, 0xa2, (0xf << 12), (1 << tx_core
) << 12);
25939 mod_phy_reg(pi
, 0xa2, (0xf << 0), (1 << tx_core
) << 0);
25941 or_phy_reg(pi
, ((rx_core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
25942 ((0x1 << 1) | (0x1 << 2)));
25943 or_phy_reg(pi
, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25945 if (((pi
->nphy_rxcalparams
) & 0xff000000)) {
25948 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25949 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x140 :
25954 (rx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25955 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x180 :
25959 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 : 0x92,
25960 (CHSPEC_IS5G(pi
->radio_chanspec
) ? 0x148 :
25963 mask
= RADIO_2055_COUPLE_RX_MASK
| RADIO_2055_COUPLE_TX_MASK
;
25964 if (rx_core
== PHY_CORE_0
) {
25965 val1
= RADIO_2055_COUPLE_RX_MASK
;
25966 val2
= RADIO_2055_COUPLE_TX_MASK
;
25968 val1
= RADIO_2055_COUPLE_TX_MASK
;
25969 val2
= RADIO_2055_COUPLE_RX_MASK
;
25972 if ((pi
->nphy_rxcalparams
& 0x10000)) {
25973 mod_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, mask
,
25975 mod_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, mask
,
25979 for (gain_pass
= 0; gain_pass
< 4; gain_pass
++) {
25982 mdelay(WAIT_FOR_SCOPE
);
25984 if (gain_pass
< 3) {
25985 curr_lna
= lna_vals
[gain_pass
];
25986 curr_hpf1
= hpf1_vals
[gain_pass
];
25987 curr_hpf2
= hpf2_vals
[gain_pass
];
25990 if (tot_pwr
[1] > 10000) {
25991 curr_lna
= lna_vals
[2];
25992 curr_hpf1
= hpf1_vals
[2];
25993 curr_hpf2
= hpf2_vals
[2];
25995 curr_hpf
= curr_hpf1
;
25997 wlc_phy_nbits(tot_pwr
[2]);
25999 if (tot_pwr
[0] > 10000) {
26000 curr_lna
= lna_vals
[1];
26001 curr_hpf1
= hpf1_vals
[1];
26002 curr_hpf2
= hpf2_vals
[1];
26004 curr_hpf
= curr_hpf1
;
26006 wlc_phy_nbits(tot_pwr
[1]);
26008 curr_lna
= lna_vals
[0];
26009 curr_hpf1
= hpf1_vals
[0];
26010 curr_hpf2
= hpf2_vals
[0];
26012 curr_hpf
= curr_hpf2
;
26014 wlc_phy_nbits(tot_pwr
[0]);
26018 hpf_change
= desired_log2_pwr
- actual_log2_pwr
;
26019 curr_hpf
+= hpf_change
;
26020 curr_hpf
= max(min_t(u16
, curr_hpf
, 10), 0);
26021 if (use_hpf_num
== 1) {
26022 curr_hpf1
= curr_hpf
;
26024 curr_hpf2
= curr_hpf
;
26028 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10),
26029 ((curr_hpf2
<< 8) |
26031 (curr_lna
<< 2)), 0x3, 0);
26032 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26034 wlc_phy_stopplayback_nphy(pi
);
26036 if (first_playtone
) {
26037 bcmerror
= wlc_phy_tx_tone_nphy(pi
, 4000,
26043 first_playtone
= false;
26046 (CHSPEC_IS40(pi
->radio_chanspec
)) ? 40 : 20;
26047 wlc_phy_runsamples_nphy(pi
, phy_bw
* 8, 0xffff,
26051 if (bcmerror
== 0) {
26052 if (gain_pass
< 3) {
26054 wlc_phy_rx_iq_est_nphy(pi
, est
,
26058 (est
[rx_core
].i_pwr
+
26059 num_samps
/ 2) / num_samps
;
26061 (est
[rx_core
].q_pwr
+
26062 num_samps
/ 2) / num_samps
;
26063 tot_pwr
[gain_pass
] = i_pwr
+ q_pwr
;
26066 wlc_phy_calc_rx_iq_comp_nphy(pi
,
26071 wlc_phy_stopplayback_nphy(pi
);
26078 and_radio_reg(pi
, RADIO_2055_CORE1_GEN_SPARE2
, ~mask
);
26079 and_radio_reg(pi
, RADIO_2055_CORE2_GEN_SPARE2
, ~mask
);
26081 write_phy_reg(pi
, (tx_core
== PHY_CORE_0
) ? 0x91 :
26082 0x92, orig_RfctrlIntcTx
);
26083 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0x91 :
26084 0x92, orig_RfctrlIntcRx
);
26085 write_phy_reg(pi
, 0xa5, orig_AfectrlOverride
);
26086 write_phy_reg(pi
, (rx_core
== PHY_CORE_0
) ? 0xa6 :
26087 0xa7, orig_AfectrlCore
);
26088 write_phy_reg(pi
, 0xa2, orig_RfseqCoreActv
);
26094 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 10), 0, 0x3, 1);
26095 wlc_phy_force_rfseq_nphy(pi
, NPHY_RFSEQ_RESET2RX
);
26097 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_RFSEQ
, 2, 0x110, 16,
26100 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
26106 wlc_phy_cal_rxiq_nphy(phy_info_t
*pi
, nphy_txgains_t target_gain
,
26107 u8 cal_type
, bool debug
)
26109 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26113 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
26114 return wlc_phy_cal_rxiq_nphy_rev3(pi
, target_gain
, cal_type
,
26117 return wlc_phy_cal_rxiq_nphy_rev2(pi
, target_gain
, debug
);
26121 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26124 u16 addr_offset
= 0x2c5;
26126 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26127 write_phy_reg(pi
, addr_offset
+ j
,
26128 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26132 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t
*pi
)
26135 u16 addr_offset
[] = { 0x186, 0x195,
26139 for (type
= 0; type
< 3; type
++) {
26140 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26141 write_phy_reg(pi
, addr_offset
[type
] + j
,
26142 NPHY_IPA_REV4_txdigi_filtcoeffs
[type
][j
]);
26147 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26148 write_phy_reg(pi
, 0x186 + j
,
26149 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26152 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26153 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26154 write_phy_reg(pi
, 0x186 + j
,
26155 NPHY_IPA_REV4_txdigi_filtcoeffs
[5]
26160 if (CHSPEC_CHANNEL(pi
->radio_chanspec
) == 14) {
26161 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26162 write_phy_reg(pi
, 0x2c5 + j
,
26163 NPHY_IPA_REV4_txdigi_filtcoeffs
[6]
26170 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t
*pi
)
26175 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26176 write_phy_reg(pi
, 0x195 + j
,
26177 NPHY_IPA_REV4_txdigi_filtcoeffs
[4][j
]);
26180 for (j
= 0; j
< NPHY_NUM_DIG_FILT_COEFFS
; j
++) {
26181 write_phy_reg(pi
, 0x186 + j
,
26182 NPHY_IPA_REV4_txdigi_filtcoeffs
[3][j
]);
26187 static u16
wlc_phy_ipa_get_bbmult_nphy(phy_info_t
*pi
)
26191 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26196 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t
*pi
, u8 m0
, u8 m1
)
26198 u16 m0m1
= (u16
) ((m0
<< 8) | m1
);
26200 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m0m1
);
26201 wlc_phy_table_write_nphy(pi
, 15, 1, 95, 16, &m0m1
);
26204 static u32
*wlc_phy_get_ipa_gaintbl_nphy(phy_info_t
*pi
)
26206 u32
*tx_pwrctrl_tbl
= NULL
;
26208 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26210 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26212 if ((pi
->pubpi
.radiorev
== 4)
26213 || (pi
->pubpi
.radiorev
== 6)) {
26216 nphy_tpc_txgain_ipa_2g_2057rev4n6
;
26217 } else if (pi
->pubpi
.radiorev
== 3) {
26220 nphy_tpc_txgain_ipa_2g_2057rev3
;
26221 } else if (pi
->pubpi
.radiorev
== 5) {
26224 nphy_tpc_txgain_ipa_2g_2057rev5
;
26225 } else if ((pi
->pubpi
.radiorev
== 7)
26226 || (pi
->pubpi
.radiorev
== 8)) {
26229 nphy_tpc_txgain_ipa_2g_2057rev7
;
26232 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 6)) {
26234 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev6
;
26235 if (pi
->sh
->chip
== BCM47162_CHIP_ID
) {
26237 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26240 } else if (NREV_IS(pi
->pubpi
.phy_rev
, 5)) {
26242 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_rev5
;
26245 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa
;
26250 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26251 if ((pi
->pubpi
.radiorev
== 3) ||
26252 (pi
->pubpi
.radiorev
== 4) ||
26253 (pi
->pubpi
.radiorev
== 6)) {
26255 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g_2057
;
26256 } else if ((pi
->pubpi
.radiorev
== 7)
26257 || (pi
->pubpi
.radiorev
== 8)) {
26260 nphy_tpc_txgain_ipa_5g_2057rev7
;
26264 tx_pwrctrl_tbl
= nphy_tpc_txgain_ipa_5g
;
26268 return tx_pwrctrl_tbl
;
26272 wlc_phy_papd_cal_setup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
,
26279 off_core
= core
^ 0x1;
26280 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26282 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26283 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26284 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7),
26285 wlc_phy_read_lpf_bw_ctl_nphy
26287 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26290 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26291 if (pi
->pubpi
.radiorev
== 5) {
26292 mixgain
= (core
== 0) ? 0x20 : 0x00;
26294 } else if ((pi
->pubpi
.radiorev
== 7)
26295 || (pi
->pubpi
.radiorev
== 8)) {
26299 } else if ((pi
->pubpi
.radiorev
<= 4)
26300 || (pi
->pubpi
.radiorev
== 6)) {
26306 if ((pi
->pubpi
.radiorev
== 4) ||
26307 (pi
->pubpi
.radiorev
== 6)) {
26310 } else if ((pi
->pubpi
.radiorev
== 3)
26311 || (pi
->pubpi
.radiorev
== 7)
26312 || (pi
->pubpi
.radiorev
== 8)) {
26318 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11),
26319 mixgain
, (1 << core
), 0,
26320 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26322 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26323 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26324 1, (1 << core
), 0);
26325 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26326 NPHY_REV7_RfctrlOverride_cmd_tx_pu
,
26327 0, (1 << off_core
), 0);
26329 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26331 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26332 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1,
26334 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26335 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0,
26337 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26338 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1,
26340 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26341 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0,
26343 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26344 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1,
26346 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26347 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0,
26349 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26350 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1,
26352 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26354 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5),
26356 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26357 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0,
26359 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26361 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26363 state
->afeoverride
[core
] =
26364 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26365 state
->afectrl
[off_core
] =
26366 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa7 : 0xa6);
26367 state
->afeoverride
[off_core
] =
26368 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xa5 : 0x8f);
26370 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26372 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26373 0xa5), (0x1 << 2), (0x1 << 2));
26375 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa7 : 0xa6),
26376 (0x1 << 2), (0x1 << 2));
26377 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa5 :
26378 0x8f), (0x1 << 2), (0x1 << 2));
26380 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26381 state
->pwrup
[core
] =
26382 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26383 TXRXCOUPLE_2G_PWRUP
);
26384 state
->atten
[core
] =
26385 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26386 TXRXCOUPLE_2G_ATTEN
);
26387 state
->pwrup
[off_core
] =
26388 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26389 TXRXCOUPLE_2G_PWRUP
);
26390 state
->atten
[off_core
] =
26391 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26392 TXRXCOUPLE_2G_ATTEN
);
26394 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26395 TXRXCOUPLE_2G_PWRUP
, 0xc);
26397 if ((pi
->pubpi
.radiorev
== 3) ||
26398 (pi
->pubpi
.radiorev
== 4) ||
26399 (pi
->pubpi
.radiorev
== 6)) {
26401 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26402 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26404 } else if (pi
->pubpi
.radiorev
== 5) {
26406 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26407 TXRXCOUPLE_2G_ATTEN
,
26408 (core
== 0) ? 0xf7 : 0xf2);
26410 } else if ((pi
->pubpi
.radiorev
== 7)
26411 || (pi
->pubpi
.radiorev
== 8)) {
26413 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26414 TXRXCOUPLE_2G_ATTEN
, 0xf0);
26418 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26419 TXRXCOUPLE_2G_PWRUP
, 0x0);
26420 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26421 TXRXCOUPLE_2G_ATTEN
, 0xff);
26424 state
->pwrup
[core
] =
26425 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26426 TXRXCOUPLE_5G_PWRUP
);
26427 state
->atten
[core
] =
26428 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26429 TXRXCOUPLE_5G_ATTEN
);
26430 state
->pwrup
[off_core
] =
26431 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26432 TXRXCOUPLE_5G_PWRUP
);
26433 state
->atten
[off_core
] =
26434 READ_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26435 TXRXCOUPLE_5G_ATTEN
);
26437 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26438 TXRXCOUPLE_5G_PWRUP
, 0xc);
26440 if ((pi
->pubpi
.radiorev
== 7)
26441 || (pi
->pubpi
.radiorev
== 8)) {
26443 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26444 TXRXCOUPLE_5G_ATTEN
, 0xf4);
26447 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26448 TXRXCOUPLE_5G_ATTEN
, 0xf0);
26451 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26452 TXRXCOUPLE_5G_PWRUP
, 0x0);
26453 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, off_core
,
26454 TXRXCOUPLE_5G_ATTEN
, 0xff);
26459 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, false);
26461 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26462 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
26464 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26465 0x2a4, (0x1 << 13), (1) << 13);
26467 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26468 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF
) << 0);
26470 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x2a3 :
26471 0x2a4, (0x1 << 13), (0) << 13);
26475 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 0);
26477 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0, 0);
26479 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 0);
26481 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 1, 0x3, 0);
26482 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 1, 0x3, 0);
26484 state
->afectrl
[core
] = read_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26486 state
->afeoverride
[core
] =
26487 read_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f : 0xa5);
26489 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0xa6 : 0xa7),
26490 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26491 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
26495 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26497 state
->vga_master
[core
] =
26498 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
);
26499 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
, 0x2b);
26500 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26501 state
->fbmix
[core
] =
26502 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26504 state
->intpa_master
[core
] =
26505 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26508 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_G
,
26510 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26511 INTPAG_MASTER
, 0x04);
26513 state
->fbmix
[core
] =
26514 READ_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26516 state
->intpa_master
[core
] =
26517 READ_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26520 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, TXFBMIX_A
,
26522 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26523 INTPAA_MASTER
, 0x04);
26529 wlc_phy_tx_tone_nphy(pi
, tone_freq
, 181, 0, 0, false);
26531 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26532 0x29b, (0x1 << 0), (1) << 0);
26534 mod_phy_reg(pi
, (off_core
== PHY_CORE_0
) ? 0x297 :
26535 0x29b, (0x1 << 0), (0) << 0);
26537 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
26542 wlc_phy_papd_cal_cleanup_nphy(phy_info_t
*pi
, nphy_papd_restore_state
*state
)
26546 wlc_phy_stopplayback_nphy(pi
);
26548 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26550 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26552 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26553 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26554 TXRXCOUPLE_2G_PWRUP
, 0);
26555 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26556 TXRXCOUPLE_2G_ATTEN
,
26557 state
->atten
[core
]);
26559 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26560 TXRXCOUPLE_5G_PWRUP
, 0);
26561 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
26562 TXRXCOUPLE_5G_ATTEN
,
26563 state
->atten
[core
]);
26567 if ((pi
->pubpi
.radiorev
== 4) || (pi
->pubpi
.radiorev
== 6)) {
26568 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26570 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26572 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2),
26574 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26576 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1),
26578 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26579 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26580 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26581 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 0, 0x3, 1,
26582 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26583 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 1, 0x3, 1,
26584 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26585 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 0, 0x3, 1,
26586 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26587 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 11), 0, 0x3, 1,
26588 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26589 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12), 0, 0x3, 1,
26590 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26591 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 2), 1, 0x3, 1,
26592 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26593 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 0), 0, 0x3, 1,
26594 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26595 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 1), 1, 0x3, 1,
26596 NPHY_REV7_RFCTRLOVERRIDE_ID2
);
26597 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 8), 0, 0x3, 1,
26598 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26599 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 9), 1, 0x3, 1,
26600 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26601 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 10), 0, 0x3, 1,
26602 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26603 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3), 1, 0x3, 1,
26604 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26605 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 5), 0, 0x3, 1,
26606 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26607 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 4), 0, 0x3, 1,
26608 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26610 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26612 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26613 0xa6 : 0xa7, state
->afectrl
[core
]);
26614 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26615 0xa5, state
->afeoverride
[core
]);
26618 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26619 (state
->mm
& 0xff));
26621 if (NREV_IS(pi
->pubpi
.phy_rev
, 7)
26622 || NREV_GE(pi
->pubpi
.phy_rev
, 8)) {
26623 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 7), 0, 0,
26625 NPHY_REV7_RFCTRLOVERRIDE_ID1
);
26629 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 12), 0, 0x3, 1);
26630 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 0x3, 1);
26631 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 0), 0, 0x3, 1);
26633 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 2), 0, 0x3, 1);
26634 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 1), 0, 0x3, 1);
26636 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
26638 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
, VGA_MASTER
,
26639 state
->vga_master
[core
]);
26640 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26641 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26642 TXFBMIX_G
, state
->fbmix
[core
]);
26643 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26645 state
->intpa_master
[core
]);
26647 WRITE_RADIO_REG2(pi
, RADIO_2056
, RX
, core
,
26648 TXFBMIX_A
, state
->fbmix
[core
]);
26649 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
26651 state
->intpa_master
[core
]);
26654 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
26655 0xa6 : 0xa7, state
->afectrl
[core
]);
26656 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x8f :
26657 0xa5, state
->afeoverride
[core
]);
26660 wlc_phy_ipa_set_bbmult_nphy(pi
, (state
->mm
>> 8) & 0xff,
26661 (state
->mm
& 0xff));
26663 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 1);
26668 wlc_phy_a1_nphy(phy_info_t
*pi
, u8 core
, u32 winsz
, u32 start
,
26671 u32
*buf
, *src
, *dst
, sz
;
26673 sz
= end
- start
+ 1;
26675 buf
= kmalloc(2 * sizeof(u32
) * NPHY_PAPD_EPS_TBL_SIZE
, GFP_ATOMIC
);
26681 dst
= buf
+ NPHY_PAPD_EPS_TBL_SIZE
;
26683 wlc_phy_table_read_nphy(pi
,
26685 PHY_CORE_0
? NPHY_TBL_ID_EPSILONTBL0
:
26686 NPHY_TBL_ID_EPSILONTBL1
),
26687 NPHY_PAPD_EPS_TBL_SIZE
, 0, 32, src
);
26690 u32 phy_a1
, phy_a2
;
26691 s32 phy_a3
, phy_a4
, phy_a5
, phy_a6
, phy_a7
;
26693 phy_a1
= end
- min(end
, (winsz
>> 1));
26694 phy_a2
= min_t(u32
, NPHY_PAPD_EPS_TBL_SIZE
- 1, end
+ (winsz
>> 1));
26695 phy_a3
= phy_a2
- phy_a1
+ 1;
26700 wlc_phy_papd_decode_epsilon(src
[phy_a2
], &phy_a4
,
26704 } while (phy_a2
-- != phy_a1
);
26708 dst
[end
] = ((u32
) phy_a7
<< 13) | ((u32
) phy_a6
& 0x1fff);
26709 } while (end
-- != start
);
26711 wlc_phy_table_write_nphy(pi
,
26713 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
:
26714 NPHY_TBL_ID_EPSILONTBL1
, sz
, start
, 32, dst
);
26720 wlc_phy_a2_nphy(phy_info_t
*pi
, nphy_ipa_txcalgains_t
*txgains
,
26721 phy_cal_mode_t cal_mode
, u8 core
)
26723 u16 phy_a1
, phy_a2
, phy_a3
;
26724 u16 phy_a4
, phy_a5
;
26728 nphy_txgains_t phy_a9
;
26730 if (NREV_LT(pi
->pubpi
.phy_rev
, 3))
26733 phy_a7
= (core
== PHY_CORE_0
) ? 1 : 0;
26735 phy_a6
= ((cal_mode
== CAL_GCTRL
)
26736 || (cal_mode
== CAL_SOFT
)) ? true : false;
26738 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
26740 phy_a9
= wlc_phy_get_tx_gain_nphy(pi
);
26742 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26743 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26744 (phy_a9
.txgm
[core
] << 12) |
26745 (phy_a9
.pga
[core
] << 8) |
26746 (txgains
->gains
.pad
[core
] << 3) |
26747 (phy_a9
.ipa
[core
]));
26749 phy_a5
= ((phy_a9
.txlpf
[core
] << 15) |
26750 (phy_a9
.txgm
[core
] << 12) |
26751 (txgains
->gains
.pga
[core
] << 8) |
26752 (phy_a9
.pad
[core
] << 3) | (phy_a9
.ipa
[core
]));
26755 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26756 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26757 phy_a5
, (1 << core
), 0);
26759 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26760 if ((pi
->pubpi
.radiorev
<= 4)
26761 || (pi
->pubpi
.radiorev
== 6)) {
26763 m
[core
] = IS40MHZ(pi
) ? 60 : 79;
26766 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26770 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26774 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26778 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26779 if (pi
->sh
->chip
== BCM6362_CHIP_ID
) {
26782 } else if ((pi
->pubpi
.radiorev
== 4)
26783 || (pi
->pubpi
.radiorev
== 6)) {
26791 if ((pi
->pubpi
.radiorev
== 5)
26792 || (pi
->pubpi
.radiorev
== 7)
26793 || (pi
->pubpi
.radiorev
== 8)) {
26802 if (cal_mode
== CAL_GCTRL
) {
26803 if ((pi
->pubpi
.radiorev
== 5)
26804 && (CHSPEC_IS2G(pi
->radio_chanspec
))) {
26806 } else if (((pi
->pubpi
.radiorev
== 7) &&
26807 (CHSPEC_IS2G(pi
->radio_chanspec
))) ||
26808 ((pi
->pubpi
.radiorev
== 8) &&
26809 (CHSPEC_IS2G(pi
->radio_chanspec
)))) {
26815 } else if ((cal_mode
!= CAL_FULL
) && (cal_mode
!= CAL_SOFT
)) {
26821 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26822 0x29b, (0x1 << 0), (1) << 0);
26824 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
26825 0x29b, (0x1 << 0), (0) << 0);
26827 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26828 0x2a4, (0x1 << 13), (1) << 13);
26830 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
26831 0x2a4, (0x1 << 13), (0) << 13);
26833 write_phy_reg(pi
, 0x2a1, 0x80);
26834 write_phy_reg(pi
, 0x2a2, 0x100);
26836 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26837 0x2a4, (0x7 << 4), (11) << 4);
26839 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26840 0x2a4, (0x7 << 8), (11) << 8);
26842 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26843 0x2a4, (0x7 << 0), (0x3) << 0);
26845 write_phy_reg(pi
, 0x2e5, 0x20);
26847 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
26849 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
26851 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
26853 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26854 1, ((core
== 0) ? 1 : 2), 0,
26855 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26856 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26857 0, ((core
== 0) ? 2 : 1), 0,
26858 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26860 write_phy_reg(pi
, 0x2be, 1);
26861 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
26863 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 3),
26865 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
26867 wlc_phy_table_write_nphy(pi
,
26869 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
26870 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
26873 if (cal_mode
!= CAL_GCTRL
) {
26874 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
26875 wlc_phy_a1_nphy(pi
, core
, 5, 0, 35);
26879 wlc_phy_rfctrl_override_1tomany_nphy(pi
,
26880 NPHY_REV7_RfctrlOverride_cmd_txgain
,
26881 phy_a5
, (1 << core
), 1);
26886 if (txgains
->useindex
) {
26887 phy_a4
= 15 - ((txgains
->index
) >> 3);
26888 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26889 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
26890 phy_a5
= 0x00f7 | (phy_a4
<< 8);
26892 if (pi
->sh
->chip
==
26893 BCM47162_CHIP_ID
) {
26895 0x10f7 | (phy_a4
<<
26899 if (NREV_IS(pi
->pubpi
.phy_rev
, 5))
26900 phy_a5
= 0x10f7 | (phy_a4
<< 8);
26902 phy_a5
= 0x50f7 | (phy_a4
<< 8);
26904 phy_a5
= 0x70f7 | (phy_a4
<< 8);
26906 wlc_phy_rfctrl_override_nphy(pi
,
26911 wlc_phy_rfctrl_override_nphy(pi
,
26918 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
26919 m
[core
] = IS40MHZ(pi
) ? 45 : 64;
26921 m
[core
] = IS40MHZ(pi
) ? 75 : 107;
26925 wlc_phy_ipa_set_bbmult_nphy(pi
, m
[0], m
[1]);
26929 if (cal_mode
== CAL_FULL
) {
26932 } else if (cal_mode
== CAL_SOFT
) {
26935 } else if (cal_mode
== CAL_GCTRL
) {
26944 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
26945 0x29b, (0x1 << 0), (1) << 0);
26947 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x297 :
26948 0x29b, (0x1 << 0), (0) << 0);
26950 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
26951 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26952 0x2a4, (0x1 << 13), (1) << 13);
26954 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
26955 0x2a4, (0x1 << 13), (0) << 13);
26957 write_phy_reg(pi
, 0x2a1, 0x20);
26958 write_phy_reg(pi
, 0x2a2, 0x60);
26960 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26961 0x2a4, (0xf << 4), (9) << 4);
26963 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26964 0x2a4, (0xf << 8), (9) << 8);
26966 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26967 0x2a4, (0xf << 0), (0x2) << 0);
26969 write_phy_reg(pi
, 0x2e5, 0x20);
26971 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26972 0x2a4, (0x1 << 11), (1) << 11);
26974 mod_phy_reg(pi
, (phy_a7
== PHY_CORE_0
) ? 0x2a3 :
26975 0x2a4, (0x1 << 11), (0) << 11);
26977 write_phy_reg(pi
, 0x2a1, 0x80);
26978 write_phy_reg(pi
, 0x2a2, 0x600);
26980 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26981 0x2a4, (0x7 << 4), (0) << 4);
26983 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26984 0x2a4, (0x7 << 8), (0) << 8);
26986 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x2a3 :
26987 0x2a4, (0x7 << 0), (0x3) << 0);
26989 mod_phy_reg(pi
, 0x2a0, (0x3f << 8), (0x20) << 8);
26993 mod_phy_reg(pi
, 0x2a0, (0x3f << 0), (phy_a3
) << 0);
26995 mod_phy_reg(pi
, 0x29f, (0x3f << 0), (phy_a1
) << 0);
26997 mod_phy_reg(pi
, 0x29f, (0x3f << 8), (phy_a2
) << 8);
26999 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 1, 0x3, 0);
27001 write_phy_reg(pi
, 0x2be, 1);
27002 SPINWAIT(read_phy_reg(pi
, 0x2be), 10 * 1000 * 1000);
27004 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 3), 0, 0x3, 0);
27006 wlc_phy_table_write_nphy(pi
,
27008 PHY_CORE_0
) ? NPHY_TBL_ID_EPSILONTBL0
27009 : NPHY_TBL_ID_EPSILONTBL1
, 1, phy_a3
,
27012 if (cal_mode
!= CAL_GCTRL
) {
27013 wlc_phy_a1_nphy(pi
, core
, 5, 0, 40);
27018 static u8
wlc_phy_a3_nphy(phy_info_t
*pi
, u8 start_gain
, u8 core
)
27023 nphy_ipa_txcalgains_t phy_a4
;
27024 bool phy_a5
= false;
27025 bool phy_a6
= true;
27026 s32 phy_a7
, phy_a8
;
27029 bool phy_a11
= false;
27033 u8
*phy_a15
= NULL
;
27035 phy_a4
.useindex
= true;
27036 phy_a12
= start_gain
;
27038 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27043 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27044 if (pi
->pubpi
.radiorev
== 5) {
27046 phy_a15
= pad_gain_codes_used_2057rev5
;
27047 phy_a13
= sizeof(pad_gain_codes_used_2057rev5
) /
27048 sizeof(pad_gain_codes_used_2057rev5
[0]) - 1;
27050 } else if ((pi
->pubpi
.radiorev
== 7)
27051 || (pi
->pubpi
.radiorev
== 8)) {
27053 phy_a15
= pad_gain_codes_used_2057rev7
;
27054 phy_a13
= sizeof(pad_gain_codes_used_2057rev7
) /
27055 sizeof(pad_gain_codes_used_2057rev7
[0]) - 1;
27059 phy_a15
= pad_all_gain_codes_2057
;
27060 phy_a13
= sizeof(pad_all_gain_codes_2057
) /
27061 sizeof(pad_all_gain_codes_2057
[0]) - 1;
27066 phy_a15
= pga_all_gain_codes_2057
;
27067 phy_a13
= sizeof(pga_all_gain_codes_2057
) /
27068 sizeof(pga_all_gain_codes_2057
[0]) - 1;
27073 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27074 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27075 phy_a4
.gains
.pad
[core
] =
27076 (u16
) phy_a15
[phy_a12
];
27078 phy_a4
.gains
.pga
[core
] =
27079 (u16
) phy_a15
[phy_a12
];
27082 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27084 wlc_phy_table_read_nphy(pi
,
27087 NPHY_TBL_ID_EPSILONTBL0
:
27088 NPHY_TBL_ID_EPSILONTBL1
), 1,
27091 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27093 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27094 (phy_a8
== 4095) || (phy_a8
== -4096));
27096 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27098 phy_a12
-= (u8
) phy_a1
;
27105 phy_a12
+= (u8
) phy_a1
;
27107 phy_a12
-= (u8
) phy_a1
;
27109 if ((phy_a12
< phy_a14
) || (phy_a12
> phy_a13
)) {
27110 if (phy_a12
< phy_a14
) {
27126 for (phy_a10
= 0; phy_a10
< phy_a2
; phy_a10
++) {
27127 phy_a4
.index
= (u8
) phy_a12
;
27128 wlc_phy_a2_nphy(pi
, &phy_a4
, CAL_GCTRL
, core
);
27130 wlc_phy_table_read_nphy(pi
,
27133 NPHY_TBL_ID_EPSILONTBL0
:
27134 NPHY_TBL_ID_EPSILONTBL1
), 1,
27137 wlc_phy_papd_decode_epsilon(phy_a9
, &phy_a7
, &phy_a8
);
27139 phy_a3
= ((phy_a7
== 4095) || (phy_a7
== -4096) ||
27140 (phy_a8
== 4095) || (phy_a8
== -4096));
27142 if (!phy_a6
&& (phy_a3
!= phy_a5
)) {
27144 phy_a12
-= (u8
) phy_a1
;
27151 phy_a12
+= (u8
) phy_a1
;
27153 phy_a12
-= (u8
) phy_a1
;
27155 if ((phy_a12
< 0) || (phy_a12
> 127)) {
27171 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27172 return (u8
) phy_a15
[phy_a12
];
27174 return (u8
) phy_a12
;
27179 static void wlc_phy_a4(phy_info_t
*pi
, bool full_cal
)
27181 nphy_ipa_txcalgains_t phy_b1
[2];
27182 nphy_papd_restore_state phy_b2
;
27186 s16 phy_b6
, phy_b7
, phy_b8
;
27188 s16 phy_b10
, phy_b11
, phy_b12
;
27196 if (pi
->nphy_papd_skip
== 1)
27200 (0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
27202 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
27205 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
27207 pi
->nphy_force_papd_cal
= false;
27209 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++)
27210 pi
->nphy_papd_tx_gain_at_last_cal
[phy_b5
] =
27211 wlc_phy_txpwr_idx_cur_get_nphy(pi
, phy_b5
);
27213 pi
->nphy_papd_last_cal
= pi
->sh
->now
;
27214 pi
->nphy_papd_recal_counter
++;
27216 if (NORADIO_ENAB(pi
->pubpi
))
27219 phy_b4
= pi
->nphy_txpwrctrl
;
27220 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
27222 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL0
, 64, 0, 32,
27223 nphy_papd_scaltbl
);
27224 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_SCALARTBL1
, 64, 0, 32,
27225 nphy_papd_scaltbl
);
27227 phy_b9
= read_phy_reg(pi
, 0x01);
27228 mod_phy_reg(pi
, 0x01, (0x1 << 15), 0);
27230 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27232 for (i
= 0; i
< 64; i
++) {
27233 wlc_phy_table_write_nphy(pi
,
27236 NPHY_TBL_ID_EPSILONTBL0
:
27237 NPHY_TBL_ID_EPSILONTBL1
), 1,
27242 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi
);
27244 phy_b2
.mm
= wlc_phy_ipa_get_bbmult_nphy(pi
);
27245 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27246 wlc_phy_papd_cal_setup_nphy(pi
, &phy_b2
, phy_b5
);
27248 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27249 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27251 if ((pi
->pubpi
.radiorev
== 3)
27252 || (pi
->pubpi
.radiorev
== 4)
27253 || (pi
->pubpi
.radiorev
== 6)) {
27255 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27258 } else if (pi
->pubpi
.radiorev
== 5) {
27260 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27262 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27263 wlc_phy_a3_nphy(pi
,
27265 nphy_papd_cal_gain_index
27268 } else if ((pi
->pubpi
.radiorev
== 7)
27269 || (pi
->pubpi
.radiorev
== 8)) {
27271 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27273 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27274 wlc_phy_a3_nphy(pi
,
27276 nphy_papd_cal_gain_index
27281 phy_b1
[phy_b5
].gains
.pad
[phy_b5
] =
27282 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27285 pi
->nphy_papd_cal_gain_index
[phy_b5
] = 0;
27286 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27287 wlc_phy_a3_nphy(pi
,
27289 nphy_papd_cal_gain_index
27291 phy_b1
[phy_b5
].gains
.pga
[phy_b5
] =
27292 pi
->nphy_papd_cal_gain_index
[phy_b5
];
27295 phy_b1
[phy_b5
].useindex
= true;
27296 phy_b1
[phy_b5
].index
= 16;
27297 phy_b1
[phy_b5
].index
=
27298 wlc_phy_a3_nphy(pi
, phy_b1
[phy_b5
].index
, phy_b5
);
27300 pi
->nphy_papd_cal_gain_index
[phy_b5
] =
27301 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27304 switch (pi
->nphy_papd_cal_type
) {
27306 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_FULL
, phy_b5
);
27309 wlc_phy_a2_nphy(pi
, &phy_b1
[phy_b5
], CAL_SOFT
, phy_b5
);
27313 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27314 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27318 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27319 wlc_phy_papd_cal_cleanup_nphy(pi
, &phy_b2
);
27322 for (phy_b5
= 0; phy_b5
< pi
->pubpi
.phy_corenum
; phy_b5
++) {
27323 int eps_offset
= 0;
27325 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27326 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27327 if (pi
->pubpi
.radiorev
== 3) {
27329 } else if (pi
->pubpi
.radiorev
== 5) {
27338 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27339 phy_b8
= phy_b1
[phy_b5
].gains
.pad
[phy_b5
];
27341 if ((pi
->pubpi
.radiorev
== 3) ||
27342 (pi
->pubpi
.radiorev
== 4) ||
27343 (pi
->pubpi
.radiorev
== 6)) {
27346 (nphy_papd_padgain_dlt_2g_2057rev3n4
27350 } else if (pi
->pubpi
.radiorev
== 5) {
27352 -(nphy_papd_padgain_dlt_2g_2057rev5
27355 } else if ((pi
->pubpi
.radiorev
== 7) ||
27356 (pi
->pubpi
.radiorev
== 8)) {
27358 -(nphy_papd_padgain_dlt_2g_2057rev7
27363 phy_b7
= phy_b1
[phy_b5
].gains
.pga
[phy_b5
];
27364 if ((pi
->pubpi
.radiorev
== 3) ||
27365 (pi
->pubpi
.radiorev
== 4) ||
27366 (pi
->pubpi
.radiorev
== 6)) {
27368 -(nphy_papd_pgagain_dlt_5g_2057
27371 } else if ((pi
->pubpi
.radiorev
== 7)
27372 || (pi
->pubpi
.radiorev
== 8)) {
27374 -(nphy_papd_pgagain_dlt_5g_2057rev7
27382 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27384 -60 + 27 + eps_offset
+ phy_b12
+ phy_b10
;
27387 -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27390 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27391 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27393 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27395 if (NREV_LT(pi
->pubpi
.phy_rev
, 5)) {
27401 phy_b7
= 15 - ((phy_b1
[phy_b5
].index
) >> 3);
27403 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
27405 -(nphy_papd_pga_gain_delta_ipa_2g
[phy_b7
] +
27410 -(nphy_papd_pga_gain_delta_ipa_5g
[phy_b7
] +
27415 phy_b6
= -60 + 27 + eps_offset
+ phy_b11
+ phy_b10
;
27417 mod_phy_reg(pi
, (phy_b5
== PHY_CORE_0
) ? 0x298 :
27418 0x29c, (0x1ff << 7), (phy_b6
) << 7);
27420 pi
->nphy_papd_epsilon_offset
[phy_b5
] = phy_b6
;
27424 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
27425 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27427 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
27428 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON
) << 0);
27430 if (NREV_GE(pi
->pubpi
.phy_rev
, 6)) {
27431 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27432 0x2a4, (0x1 << 13), (0) << 13);
27434 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27435 0x2a4, (0x1 << 13), (0) << 13);
27438 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x2a3 :
27439 0x2a4, (0x1 << 11), (0) << 11);
27441 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x2a3 :
27442 0x2a4, (0x1 << 11), (0) << 11);
27445 pi
->nphy_papdcomp
= NPHY_PAPD_COMP_ON
;
27447 write_phy_reg(pi
, 0x01, phy_b9
);
27449 wlc_phy_ipa_set_tx_digi_filts_nphy(pi
);
27451 wlc_phy_txpwrctrl_enable_nphy(pi
, phy_b4
);
27452 if (phy_b4
== PHY_TPC_HW_OFF
) {
27453 wlc_phy_txpwr_index_nphy(pi
, (1 << 0),
27454 (s8
) (pi
->nphy_txpwrindex
[0].
27455 index_internal
), false);
27456 wlc_phy_txpwr_index_nphy(pi
, (1 << 1),
27457 (s8
) (pi
->nphy_txpwrindex
[1].
27458 index_internal
), false);
27461 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
27464 wlapi_enable_mac(pi
->sh
->physhim
);
27468 void wlc_phy_txpwr_fixpower_nphy(phy_info_t
*pi
)
27472 u16 rad_gain
, dac_gain
, bbmult
, m1m2
;
27473 u8 txpi
[2], chan_freq_range
;
27476 if (pi
->phyhang_avoid
)
27477 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
27479 if (pi
->sh
->sromrev
< 4) {
27480 txpi
[0] = txpi
[1] = 72;
27483 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
27484 switch (chan_freq_range
) {
27485 case WL_CHAN_FREQ_RANGE_2G
:
27486 txpi
[0] = pi
->nphy_txpid2g
[0];
27487 txpi
[1] = pi
->nphy_txpid2g
[1];
27489 case WL_CHAN_FREQ_RANGE_5GL
:
27490 txpi
[0] = pi
->nphy_txpid5gl
[0];
27491 txpi
[1] = pi
->nphy_txpid5gl
[1];
27493 case WL_CHAN_FREQ_RANGE_5GM
:
27494 txpi
[0] = pi
->nphy_txpid5g
[0];
27495 txpi
[1] = pi
->nphy_txpid5g
[1];
27497 case WL_CHAN_FREQ_RANGE_5GH
:
27498 txpi
[0] = pi
->nphy_txpid5gh
[0];
27499 txpi
[1] = pi
->nphy_txpid5gh
[1];
27502 txpi
[0] = txpi
[1] = 91;
27507 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27508 txpi
[0] = txpi
[1] = 30;
27509 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27510 txpi
[0] = txpi
[1] = 40;
27513 if (NREV_LT(pi
->pubpi
.phy_rev
, 7)) {
27515 if ((txpi
[0] < 40) || (txpi
[0] > 100) ||
27516 (txpi
[1] < 40) || (txpi
[1] > 100))
27517 txpi
[0] = txpi
[1] = 91;
27520 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal
= txpi
[0];
27521 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal
= txpi
[1];
27522 pi
->nphy_txpwrindex
[PHY_CORE_0
].index_internal_save
= txpi
[0];
27523 pi
->nphy_txpwrindex
[PHY_CORE_1
].index_internal_save
= txpi
[1];
27525 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
27526 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27529 wlc_phy_get_ipa_gaintbl_nphy(pi
);
27530 txgain
= tx_gaintbl
[txpi
[core
]];
27532 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
27534 (pi
->pubpi
.phy_rev
, 3) {
27536 nphy_tpc_5GHz_txgain_rev3
27539 (pi
->pubpi
.phy_rev
, 4) {
27541 (pi
->srom_fem5g
.extpagain
==
27543 nphy_tpc_5GHz_txgain_HiPwrEPA
27545 nphy_tpc_5GHz_txgain_rev4
27549 nphy_tpc_5GHz_txgain_rev5
27553 if (NREV_GE(pi
->pubpi
.phy_rev
, 5) &&
27554 (pi
->srom_fem2g
.extpagain
== 3)) {
27556 nphy_tpc_txgain_HiPwrEPA
27560 nphy_tpc_txgain_rev3
[txpi
27566 txgain
= nphy_tpc_txgain
[txpi
[core
]];
27569 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27570 rad_gain
= (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
27572 rad_gain
= (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
27575 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
27576 dac_gain
= (txgain
>> 8) & ((1 << (10 - 8 + 1)) - 1);
27578 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
27580 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
27582 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27583 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
27584 0xa5), (0x1 << 8), (0x1 << 8));
27586 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
27588 write_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0xaa : 0xab, dac_gain
);
27590 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
27593 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27594 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
27595 m1m2
|= ((core
== PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
27596 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
27599 wlc_phy_table_read_nphy(pi
,
27602 NPHY_TBL_ID_CORE1TXPWRCTL
:
27603 NPHY_TBL_ID_CORE2TXPWRCTL
), 1,
27604 576 + txpi
[core
], 32,
27607 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27608 0x29b, (0x1ff << 4),
27609 ((s16
) rfpwr_offset
) << 4);
27611 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
27612 0x29b, (0x1 << 2), (1) << 2);
27617 and_phy_reg(pi
, 0xbf, (u16
) (~(0x1f << 0)));
27619 if (pi
->phyhang_avoid
)
27620 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
27624 wlc_phy_txpwr_nphy_srom_convert(u8
*srom_max
, u16
*pwr_offset
,
27625 u8 tmp_max_pwr
, u8 rate_start
,
27629 u8 word_num
, nibble_num
;
27632 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27633 word_num
= (rate
- rate_start
) >> 2;
27634 nibble_num
= (rate
- rate_start
) & 0x3;
27635 tmp_nibble
= (pwr_offset
[word_num
] >> 4 * nibble_num
) & 0xf;
27637 srom_max
[rate
] = tmp_max_pwr
- 2 * tmp_nibble
;
27642 wlc_phy_txpwr_nphy_po_apply(u8
*srom_max
, u8 pwr_offset
,
27643 u8 rate_start
, u8 rate_end
)
27647 for (rate
= rate_start
; rate
<= rate_end
; rate
++) {
27648 srom_max
[rate
] -= 2 * pwr_offset
;
27653 wlc_phy_ofdm_to_mcs_powers_nphy(u8
*power
, u8 rate_mcs_start
,
27654 u8 rate_mcs_end
, u8 rate_ofdm_start
)
27658 rate2
= rate_ofdm_start
;
27659 for (rate1
= rate_mcs_start
; rate1
<= rate_mcs_end
- 1; rate1
++) {
27660 power
[rate1
] = power
[rate2
];
27661 rate2
+= (rate1
== rate_mcs_start
) ? 2 : 1;
27663 power
[rate_mcs_end
] = power
[rate_mcs_end
- 1];
27667 wlc_phy_mcs_to_ofdm_powers_nphy(u8
*power
, u8 rate_ofdm_start
,
27668 u8 rate_ofdm_end
, u8 rate_mcs_start
)
27672 for (rate1
= rate_ofdm_start
, rate2
= rate_mcs_start
;
27673 rate1
<= rate_ofdm_end
; rate1
++, rate2
++) {
27674 power
[rate1
] = power
[rate2
];
27675 if (rate1
== rate_ofdm_start
)
27676 power
[++rate1
] = power
[rate2
];
27680 void wlc_phy_txpwr_apply_nphy(phy_info_t
*pi
)
27682 uint rate1
, rate2
, band_num
;
27683 u8 tmp_bw40po
= 0, tmp_cddpo
= 0, tmp_stbcpo
= 0;
27684 u8 tmp_max_pwr
= 0;
27685 u16 pwr_offsets1
[2], *pwr_offsets2
= NULL
;
27686 u8
*tx_srom_max_rate
= NULL
;
27688 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27689 switch (band_num
) {
27692 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_2g
,
27693 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
);
27695 pwr_offsets1
[0] = pi
->cck2gpo
;
27696 wlc_phy_txpwr_nphy_srom_convert(pi
->tx_srom_max_rate_2g
,
27702 pwr_offsets1
[0] = (u16
) (pi
->ofdm2gpo
& 0xffff);
27704 (u16
) (pi
->ofdm2gpo
>> 16) & 0xffff;
27706 pwr_offsets2
= pi
->mcs2gpo
;
27708 tmp_cddpo
= pi
->cdd2gpo
;
27709 tmp_stbcpo
= pi
->stbc2gpo
;
27710 tmp_bw40po
= pi
->bw402gpo
;
27712 tx_srom_max_rate
= pi
->tx_srom_max_rate_2g
;
27716 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
,
27717 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
);
27719 pwr_offsets1
[0] = (u16
) (pi
->ofdm5gpo
& 0xffff);
27721 (u16
) (pi
->ofdm5gpo
>> 16) & 0xffff;
27723 pwr_offsets2
= pi
->mcs5gpo
;
27725 tmp_cddpo
= pi
->cdd5gpo
;
27726 tmp_stbcpo
= pi
->stbc5gpo
;
27727 tmp_bw40po
= pi
->bw405gpo
;
27729 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_mid
;
27733 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
,
27734 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
);
27736 pwr_offsets1
[0] = (u16
) (pi
->ofdm5glpo
& 0xffff);
27738 (u16
) (pi
->ofdm5glpo
>> 16) & 0xffff;
27740 pwr_offsets2
= pi
->mcs5glpo
;
27742 tmp_cddpo
= pi
->cdd5glpo
;
27743 tmp_stbcpo
= pi
->stbc5glpo
;
27744 tmp_bw40po
= pi
->bw405glpo
;
27746 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_low
;
27750 tmp_max_pwr
= min(pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
,
27751 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
);
27753 pwr_offsets1
[0] = (u16
) (pi
->ofdm5ghpo
& 0xffff);
27755 (u16
) (pi
->ofdm5ghpo
>> 16) & 0xffff;
27757 pwr_offsets2
= pi
->mcs5ghpo
;
27759 tmp_cddpo
= pi
->cdd5ghpo
;
27760 tmp_stbcpo
= pi
->stbc5ghpo
;
27761 tmp_bw40po
= pi
->bw405ghpo
;
27763 tx_srom_max_rate
= pi
->tx_srom_max_rate_5g_hi
;
27767 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets1
,
27768 tmp_max_pwr
, TXP_FIRST_OFDM
,
27771 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate
,
27772 TXP_FIRST_MCS_20_SISO
,
27773 TXP_LAST_MCS_20_SISO
,
27776 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27778 TXP_FIRST_MCS_20_CDD
,
27779 TXP_LAST_MCS_20_CDD
);
27781 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27783 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27784 TXP_FIRST_MCS_20_CDD
,
27785 TXP_LAST_MCS_20_CDD
);
27788 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27789 TXP_FIRST_OFDM_20_CDD
,
27790 TXP_LAST_OFDM_20_CDD
,
27791 TXP_FIRST_MCS_20_CDD
);
27793 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
, pwr_offsets2
,
27795 TXP_FIRST_MCS_20_STBC
,
27796 TXP_LAST_MCS_20_STBC
);
27798 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27800 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27802 TXP_FIRST_MCS_20_STBC
,
27803 TXP_LAST_MCS_20_STBC
);
27806 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27807 &pwr_offsets2
[2], tmp_max_pwr
,
27808 TXP_FIRST_MCS_20_SDM
,
27809 TXP_LAST_MCS_20_SDM
);
27811 if (NPHY_IS_SROM_REINTERPRET
) {
27813 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27816 TXP_FIRST_MCS_40_SISO
,
27817 TXP_LAST_MCS_40_SISO
);
27819 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27820 TXP_FIRST_OFDM_40_SISO
,
27821 TXP_LAST_OFDM_40_SISO
,
27822 TXP_FIRST_MCS_40_SISO
);
27824 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27827 TXP_FIRST_MCS_40_CDD
,
27828 TXP_LAST_MCS_40_CDD
);
27830 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
, tmp_cddpo
,
27831 TXP_FIRST_MCS_40_CDD
,
27832 TXP_LAST_MCS_40_CDD
);
27834 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate
,
27835 TXP_FIRST_OFDM_40_CDD
,
27836 TXP_LAST_OFDM_40_CDD
,
27837 TXP_FIRST_MCS_40_CDD
);
27839 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27842 TXP_FIRST_MCS_40_STBC
,
27843 TXP_LAST_MCS_40_STBC
);
27845 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27847 TXP_FIRST_MCS_40_STBC
,
27848 TXP_LAST_MCS_40_STBC
);
27850 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate
,
27853 TXP_FIRST_MCS_40_SDM
,
27854 TXP_LAST_MCS_40_SDM
);
27857 for (rate1
= TXP_FIRST_OFDM_40_SISO
, rate2
=
27858 TXP_FIRST_OFDM
; rate1
<= TXP_LAST_MCS_40_SDM
;
27860 tx_srom_max_rate
[rate1
] =
27861 tx_srom_max_rate
[rate2
];
27864 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
27865 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate
,
27867 TXP_FIRST_OFDM_40_SISO
,
27868 TXP_LAST_MCS_40_SDM
);
27871 tx_srom_max_rate
[TXP_MCS_32
] =
27872 tx_srom_max_rate
[TXP_FIRST_MCS_40_CDD
];
27878 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t
*pi
)
27880 u16 bw40po
, cddpo
, stbcpo
, bwduppo
;
27883 if (pi
->sh
->sromrev
>= 9) {
27888 bw40po
= (u16
) PHY_GETINTVAR(pi
, "bw40po");
27889 pi
->bw402gpo
= bw40po
& 0xf;
27890 pi
->bw405gpo
= (bw40po
& 0xf0) >> 4;
27891 pi
->bw405glpo
= (bw40po
& 0xf00) >> 8;
27892 pi
->bw405ghpo
= (bw40po
& 0xf000) >> 12;
27894 cddpo
= (u16
) PHY_GETINTVAR(pi
, "cddpo");
27895 pi
->cdd2gpo
= cddpo
& 0xf;
27896 pi
->cdd5gpo
= (cddpo
& 0xf0) >> 4;
27897 pi
->cdd5glpo
= (cddpo
& 0xf00) >> 8;
27898 pi
->cdd5ghpo
= (cddpo
& 0xf000) >> 12;
27900 stbcpo
= (u16
) PHY_GETINTVAR(pi
, "stbcpo");
27901 pi
->stbc2gpo
= stbcpo
& 0xf;
27902 pi
->stbc5gpo
= (stbcpo
& 0xf0) >> 4;
27903 pi
->stbc5glpo
= (stbcpo
& 0xf00) >> 8;
27904 pi
->stbc5ghpo
= (stbcpo
& 0xf000) >> 12;
27906 bwduppo
= (u16
) PHY_GETINTVAR(pi
, "bwduppo");
27907 pi
->bwdup2gpo
= bwduppo
& 0xf;
27908 pi
->bwdup5gpo
= (bwduppo
& 0xf0) >> 4;
27909 pi
->bwdup5glpo
= (bwduppo
& 0xf00) >> 8;
27910 pi
->bwdup5ghpo
= (bwduppo
& 0xf000) >> 12;
27912 for (band_num
= 0; band_num
< (CH_2G_GROUP
+ CH_5G_GROUP
); band_num
++) {
27913 switch (band_num
) {
27916 pi
->nphy_txpid2g
[PHY_CORE_0
] =
27917 (u8
) PHY_GETINTVAR(pi
, "txpid2ga0");
27918 pi
->nphy_txpid2g
[PHY_CORE_1
] =
27919 (u8
) PHY_GETINTVAR(pi
, "txpid2ga1");
27920 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_2g
=
27921 (s8
) PHY_GETINTVAR(pi
, "maxp2ga0");
27922 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_2g
=
27923 (s8
) PHY_GETINTVAR(pi
, "maxp2ga1");
27924 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_a1
=
27925 (s16
) PHY_GETINTVAR(pi
, "pa2gw0a0");
27926 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_a1
=
27927 (s16
) PHY_GETINTVAR(pi
, "pa2gw0a1");
27928 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b0
=
27929 (s16
) PHY_GETINTVAR(pi
, "pa2gw1a0");
27930 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b0
=
27931 (s16
) PHY_GETINTVAR(pi
, "pa2gw1a1");
27932 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_2g_b1
=
27933 (s16
) PHY_GETINTVAR(pi
, "pa2gw2a0");
27934 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_2g_b1
=
27935 (s16
) PHY_GETINTVAR(pi
, "pa2gw2a1");
27936 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_2g
=
27937 (s8
) PHY_GETINTVAR(pi
, "itt2ga0");
27938 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_2g
=
27939 (s8
) PHY_GETINTVAR(pi
, "itt2ga1");
27941 pi
->cck2gpo
= (u16
) PHY_GETINTVAR(pi
, "cck2gpo");
27943 pi
->ofdm2gpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm2gpo");
27945 pi
->mcs2gpo
[0] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo0");
27946 pi
->mcs2gpo
[1] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo1");
27947 pi
->mcs2gpo
[2] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo2");
27948 pi
->mcs2gpo
[3] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo3");
27949 pi
->mcs2gpo
[4] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo4");
27950 pi
->mcs2gpo
[5] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo5");
27951 pi
->mcs2gpo
[6] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo6");
27952 pi
->mcs2gpo
[7] = (u16
) PHY_GETINTVAR(pi
, "mcs2gpo7");
27956 pi
->nphy_txpid5g
[PHY_CORE_0
] =
27957 (u8
) PHY_GETINTVAR(pi
, "txpid5ga0");
27958 pi
->nphy_txpid5g
[PHY_CORE_1
] =
27959 (u8
) PHY_GETINTVAR(pi
, "txpid5ga1");
27960 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].max_pwr_5gm
=
27961 (s8
) PHY_GETINTVAR(pi
, "maxp5ga0");
27962 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].max_pwr_5gm
=
27963 (s8
) PHY_GETINTVAR(pi
, "maxp5ga1");
27964 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_a1
=
27965 (s16
) PHY_GETINTVAR(pi
, "pa5gw0a0");
27966 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_a1
=
27967 (s16
) PHY_GETINTVAR(pi
, "pa5gw0a1");
27968 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b0
=
27969 (s16
) PHY_GETINTVAR(pi
, "pa5gw1a0");
27970 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b0
=
27971 (s16
) PHY_GETINTVAR(pi
, "pa5gw1a1");
27972 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].pwrdet_5gm_b1
=
27973 (s16
) PHY_GETINTVAR(pi
, "pa5gw2a0");
27974 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].pwrdet_5gm_b1
=
27975 (s16
) PHY_GETINTVAR(pi
, "pa5gw2a1");
27976 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_targ_5gm
=
27977 (s8
) PHY_GETINTVAR(pi
, "itt5ga0");
27978 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_targ_5gm
=
27979 (s8
) PHY_GETINTVAR(pi
, "itt5ga1");
27981 pi
->ofdm5gpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5gpo");
27983 pi
->mcs5gpo
[0] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo0");
27984 pi
->mcs5gpo
[1] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo1");
27985 pi
->mcs5gpo
[2] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo2");
27986 pi
->mcs5gpo
[3] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo3");
27987 pi
->mcs5gpo
[4] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo4");
27988 pi
->mcs5gpo
[5] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo5");
27989 pi
->mcs5gpo
[6] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo6");
27990 pi
->mcs5gpo
[7] = (u16
) PHY_GETINTVAR(pi
, "mcs5gpo7");
27994 pi
->nphy_txpid5gl
[0] =
27995 (u8
) PHY_GETINTVAR(pi
, "txpid5gla0");
27996 pi
->nphy_txpid5gl
[1] =
27997 (u8
) PHY_GETINTVAR(pi
, "txpid5gla1");
27998 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
=
27999 (s8
) PHY_GETINTVAR(pi
, "maxp5gla0");
28000 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
=
28001 (s8
) PHY_GETINTVAR(pi
, "maxp5gla1");
28002 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
=
28003 (s16
) PHY_GETINTVAR(pi
, "pa5glw0a0");
28004 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
=
28005 (s16
) PHY_GETINTVAR(pi
, "pa5glw0a1");
28006 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
=
28007 (s16
) PHY_GETINTVAR(pi
, "pa5glw1a0");
28008 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
=
28009 (s16
) PHY_GETINTVAR(pi
, "pa5glw1a1");
28010 pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
=
28011 (s16
) PHY_GETINTVAR(pi
, "pa5glw2a0");
28012 pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
=
28013 (s16
) PHY_GETINTVAR(pi
, "pa5glw2a1");
28014 pi
->nphy_pwrctrl_info
[0].idle_targ_5gl
= 0;
28015 pi
->nphy_pwrctrl_info
[1].idle_targ_5gl
= 0;
28017 pi
->ofdm5glpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5glpo");
28020 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo0");
28022 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo1");
28024 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo2");
28026 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo3");
28028 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo4");
28030 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo5");
28032 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo6");
28034 (u16
) PHY_GETINTVAR(pi
, "mcs5glpo7");
28038 pi
->nphy_txpid5gh
[0] =
28039 (u8
) PHY_GETINTVAR(pi
, "txpid5gha0");
28040 pi
->nphy_txpid5gh
[1] =
28041 (u8
) PHY_GETINTVAR(pi
, "txpid5gha1");
28042 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
=
28043 (s8
) PHY_GETINTVAR(pi
, "maxp5gha0");
28044 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
=
28045 (s8
) PHY_GETINTVAR(pi
, "maxp5gha1");
28046 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
=
28047 (s16
) PHY_GETINTVAR(pi
, "pa5ghw0a0");
28048 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
=
28049 (s16
) PHY_GETINTVAR(pi
, "pa5ghw0a1");
28050 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
=
28051 (s16
) PHY_GETINTVAR(pi
, "pa5ghw1a0");
28052 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
=
28053 (s16
) PHY_GETINTVAR(pi
, "pa5ghw1a1");
28054 pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
=
28055 (s16
) PHY_GETINTVAR(pi
, "pa5ghw2a0");
28056 pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
=
28057 (s16
) PHY_GETINTVAR(pi
, "pa5ghw2a1");
28058 pi
->nphy_pwrctrl_info
[0].idle_targ_5gh
= 0;
28059 pi
->nphy_pwrctrl_info
[1].idle_targ_5gh
= 0;
28061 pi
->ofdm5ghpo
= (u32
) PHY_GETINTVAR(pi
, "ofdm5ghpo");
28064 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo0");
28066 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo1");
28068 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo2");
28070 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo3");
28072 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo4");
28074 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo5");
28076 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo6");
28078 (u16
) PHY_GETINTVAR(pi
, "mcs5ghpo7");
28083 wlc_phy_txpwr_apply_nphy(pi
);
28086 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t
*pi
)
28089 pi
->antswitch
= (u8
) PHY_GETINTVAR(pi
, "antswitch");
28090 pi
->aa2g
= (u8
) PHY_GETINTVAR(pi
, "aa2g");
28091 pi
->aa5g
= (u8
) PHY_GETINTVAR(pi
, "aa5g");
28093 pi
->srom_fem2g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos2g");
28094 pi
->srom_fem2g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain2g");
28095 pi
->srom_fem2g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange2g");
28096 pi
->srom_fem2g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso2g");
28097 pi
->srom_fem2g
.antswctrllut
= (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28099 pi
->srom_fem5g
.tssipos
= (u8
) PHY_GETINTVAR(pi
, "tssipos5g");
28100 pi
->srom_fem5g
.extpagain
= (u8
) PHY_GETINTVAR(pi
, "extpagain5g");
28101 pi
->srom_fem5g
.pdetrange
= (u8
) PHY_GETINTVAR(pi
, "pdetrange5g");
28102 pi
->srom_fem5g
.triso
= (u8
) PHY_GETINTVAR(pi
, "triso5g");
28103 if (PHY_GETVAR(pi
, "antswctl5g")) {
28105 pi
->srom_fem5g
.antswctrllut
=
28106 (u8
) PHY_GETINTVAR(pi
, "antswctl5g");
28109 pi
->srom_fem5g
.antswctrllut
=
28110 (u8
) PHY_GETINTVAR(pi
, "antswctl2g");
28113 wlc_phy_txpower_ipa_upd(pi
);
28115 pi
->phy_txcore_disable_temp
= (s16
) PHY_GETINTVAR(pi
, "tempthresh");
28116 if (pi
->phy_txcore_disable_temp
== 0) {
28117 pi
->phy_txcore_disable_temp
= PHY_CHAIN_TX_DISABLE_TEMP
;
28120 pi
->phy_tempsense_offset
= (s8
) PHY_GETINTVAR(pi
, "tempoffset");
28121 if (pi
->phy_tempsense_offset
!= 0) {
28122 if (pi
->phy_tempsense_offset
>
28123 (NPHY_SROM_TEMPSHIFT
+ NPHY_SROM_MAXTEMPOFFSET
)) {
28124 pi
->phy_tempsense_offset
= NPHY_SROM_MAXTEMPOFFSET
;
28125 } else if (pi
->phy_tempsense_offset
< (NPHY_SROM_TEMPSHIFT
+
28126 NPHY_SROM_MINTEMPOFFSET
)) {
28127 pi
->phy_tempsense_offset
= NPHY_SROM_MINTEMPOFFSET
;
28129 pi
->phy_tempsense_offset
-= NPHY_SROM_TEMPSHIFT
;
28133 pi
->phy_txcore_enable_temp
=
28134 pi
->phy_txcore_disable_temp
- PHY_HYSTERESIS_DELTATEMP
;
28136 pi
->phycal_tempdelta
= (u8
) PHY_GETINTVAR(pi
, "phycal_tempdelta");
28137 if (pi
->phycal_tempdelta
> NPHY_CAL_MAXTEMPDELTA
) {
28138 pi
->phycal_tempdelta
= 0;
28141 wlc_phy_txpwr_srom_read_ppr_nphy(pi
);
28146 void wlc_phy_txpower_recalc_target_nphy(phy_info_t
*pi
)
28148 u8 tx_pwr_ctrl_state
;
28149 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28150 wlc_phy_txpwrctrl_pwr_setup_nphy(pi
);
28152 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
28154 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28155 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28156 (void)R_REG(&pi
->regs
->maccontrol
);
28160 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
28162 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28163 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28166 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t
*pi
)
28170 u32 iqcomp
, locomp
, curr_locomp
;
28171 s8 locomp_i
, locomp_q
;
28172 s8 curr_locomp_i
, curr_locomp_q
;
28173 u32 tbl_id
, tbl_len
, tbl_offset
;
28176 if (pi
->phyhang_avoid
)
28177 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28179 wlc_phy_table_read_nphy(pi
, 15, 7, 80, 16, iqloCalbuf
);
28183 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28184 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28187 26) ? (((u32
) (iqloCalbuf
[0] & 0x3ff)) << 10) |
28188 (iqloCalbuf
[1] & 0x3ff)
28189 : (((u32
) (iqloCalbuf
[2] & 0x3ff)) << 10) |
28190 (iqloCalbuf
[3] & 0x3ff);
28192 for (idx
= 0; idx
< tbl_len
; idx
++) {
28193 regval
[idx
] = iqcomp
;
28195 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28200 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28201 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28204 (u32
) ((tbl_id
== 26) ? iqloCalbuf
[5] : iqloCalbuf
[6]);
28205 locomp_i
= (s8
) ((locomp
>> 8) & 0xff);
28206 locomp_q
= (s8
) ((locomp
) & 0xff);
28207 for (idx
= 0; idx
< tbl_len
; idx
++) {
28208 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28209 curr_locomp_i
= locomp_i
;
28210 curr_locomp_q
= locomp_q
;
28212 curr_locomp_i
= (s8
) ((locomp_i
*
28213 nphy_tpc_loscale
[idx
] +
28216 (s8
) ((locomp_q
* nphy_tpc_loscale
[idx
] +
28219 curr_locomp
= (u32
) ((curr_locomp_i
& 0xff) << 8);
28220 curr_locomp
|= (u32
) (curr_locomp_q
& 0xff);
28221 regval
[idx
] = curr_locomp
;
28223 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28227 if (NREV_LT(pi
->pubpi
.phy_rev
, 2)) {
28229 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX1
, 0xFFFF);
28230 wlapi_bmac_write_shm(pi
->sh
->physhim
, M_CURR_IDX2
, 0xFFFF);
28233 if (pi
->phyhang_avoid
)
28234 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28237 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t
*pi
)
28241 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28242 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28243 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28244 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28245 TX_SSI_MASTER
, 0x5);
28246 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28249 if (pi
->pubpi
.radiorev
!= 5)
28250 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28253 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28255 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28259 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
,
28260 core
, TSSIG
, 0x31);
28263 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28264 TX_SSI_MASTER
, 0x9);
28265 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28267 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
,
28270 if (pi
->pubpi
.radiorev
!= 5) {
28271 if (!NREV_IS(pi
->pubpi
.phy_rev
, 7)) {
28273 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28278 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28284 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_VCM_HG
,
28286 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, IQCAL_IDAC
,
28288 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_VCM
,
28290 WRITE_RADIO_REG3(pi
, RADIO_2057
, TX
, core
, TSSI_MISC1
,
28294 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR31
,
28295 (CHSPEC_IS2G(pi
->radio_chanspec
)) ? 0x128 :
28297 WRITE_RADIO_SYN(pi
, RADIO_2056
, RESERVED_ADDR30
, 0x0);
28298 WRITE_RADIO_SYN(pi
, RADIO_2056
, GPIO_MASTER1
, 0x29);
28300 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28301 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_VCM_HG
,
28303 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, IQCAL_IDAC
,
28305 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_VCM
,
28307 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TX_AMP_DET
,
28309 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC1
,
28311 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC2
,
28313 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
, TSSI_MISC3
,
28316 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28317 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28318 TX_SSI_MASTER
, 0x5);
28320 if (pi
->pubpi
.radiorev
!= 5)
28321 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28323 if (NREV_GE(pi
->pubpi
.phy_rev
, 5)) {
28325 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28326 core
, TSSIG
, 0x31);
28328 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
,
28329 core
, TSSIG
, 0x11);
28331 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28334 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28335 TX_SSI_MASTER
, 0x9);
28336 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28338 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28340 WRITE_RADIO_REG2(pi
, RADIO_2056
, TX
, core
,
28347 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t
*pi
)
28352 if (SCAN_RM_IN_PROGRESS(pi
) || PLT_INPROG_PHY(pi
) || PHY_MUTED(pi
))
28357 wlc_phy_ipa_internal_tssi_setup_nphy(pi
);
28360 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28361 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28363 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28364 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28365 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 0);
28368 wlc_phy_stopplayback_nphy(pi
);
28370 wlc_phy_tx_tone_nphy(pi
, 4000, 0, 0, 0, false);
28374 wlc_phy_poll_rssi_nphy(pi
, (u8
) NPHY_RSSI_SEL_TSSI_2G
, rssi_buf
,
28376 wlc_phy_stopplayback_nphy(pi
);
28377 wlc_phy_rssisel_nphy(pi
, RADIO_MIMO_CORESEL_OFF
, 0);
28379 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28380 wlc_phy_rfctrl_override_nphy_rev7(pi
, (0x1 << 12),
28382 NPHY_REV7_RFCTRLOVERRIDE_ID0
);
28383 } else if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28384 wlc_phy_rfctrl_override_nphy(pi
, (0x1 << 13), 0, 3, 1);
28387 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28389 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28390 (u8
) ((int_val
>> 24) & 0xff);
28391 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28392 (u8
) ((int_val
>> 24) & 0xff);
28394 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28395 (u8
) ((int_val
>> 8) & 0xff);
28396 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28397 (u8
) ((int_val
>> 8) & 0xff);
28399 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_2g
=
28400 (u8
) ((int_val
>> 24) & 0xff);
28402 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_2g
=
28403 (u8
) ((int_val
>> 8) & 0xff);
28405 pi
->nphy_pwrctrl_info
[PHY_CORE_0
].idle_tssi_5g
=
28406 (u8
) ((int_val
>> 16) & 0xff);
28407 pi
->nphy_pwrctrl_info
[PHY_CORE_1
].idle_tssi_5g
=
28408 (u8
) ((int_val
) & 0xff);
28413 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t
*pi
)
28416 s16 a1
[2], b0
[2], b1
[2];
28417 s8 target_pwr_qtrdbm
[2];
28418 s32 num
, den
, pwr_est
;
28419 u8 chan_freq_range
;
28421 u32 tbl_id
, tbl_len
, tbl_offset
;
28425 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28426 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28427 (void)R_REG(&pi
->regs
->maccontrol
);
28431 if (pi
->phyhang_avoid
)
28432 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28434 or_phy_reg(pi
, 0x122, (0x1 << 0));
28436 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28437 and_phy_reg(pi
, 0x1e7, (u16
) (~(0x1 << 15)));
28440 or_phy_reg(pi
, 0x1e7, (0x1 << 15));
28443 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28444 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28446 if (pi
->sh
->sromrev
< 4) {
28447 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28448 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28449 target_pwr_qtrdbm
[0] = 13 * 4;
28450 target_pwr_qtrdbm
[1] = 13 * 4;
28459 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, 0);
28460 switch (chan_freq_range
) {
28461 case WL_CHAN_FREQ_RANGE_2G
:
28462 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28463 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28464 target_pwr_qtrdbm
[0] =
28465 pi
->nphy_pwrctrl_info
[0].max_pwr_2g
;
28466 target_pwr_qtrdbm
[1] =
28467 pi
->nphy_pwrctrl_info
[1].max_pwr_2g
;
28468 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_a1
;
28469 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_a1
;
28470 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b0
;
28471 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b0
;
28472 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_2g_b1
;
28473 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_2g_b1
;
28475 case WL_CHAN_FREQ_RANGE_5GL
:
28476 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28477 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28478 target_pwr_qtrdbm
[0] =
28479 pi
->nphy_pwrctrl_info
[0].max_pwr_5gl
;
28480 target_pwr_qtrdbm
[1] =
28481 pi
->nphy_pwrctrl_info
[1].max_pwr_5gl
;
28482 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_a1
;
28483 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_a1
;
28484 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b0
;
28485 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b0
;
28486 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gl_b1
;
28487 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gl_b1
;
28489 case WL_CHAN_FREQ_RANGE_5GM
:
28490 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28491 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28492 target_pwr_qtrdbm
[0] =
28493 pi
->nphy_pwrctrl_info
[0].max_pwr_5gm
;
28494 target_pwr_qtrdbm
[1] =
28495 pi
->nphy_pwrctrl_info
[1].max_pwr_5gm
;
28496 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_a1
;
28497 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_a1
;
28498 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b0
;
28499 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b0
;
28500 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gm_b1
;
28501 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gm_b1
;
28503 case WL_CHAN_FREQ_RANGE_5GH
:
28504 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_5g
;
28505 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_5g
;
28506 target_pwr_qtrdbm
[0] =
28507 pi
->nphy_pwrctrl_info
[0].max_pwr_5gh
;
28508 target_pwr_qtrdbm
[1] =
28509 pi
->nphy_pwrctrl_info
[1].max_pwr_5gh
;
28510 a1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_a1
;
28511 a1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_a1
;
28512 b0
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b0
;
28513 b0
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b0
;
28514 b1
[0] = pi
->nphy_pwrctrl_info
[0].pwrdet_5gh_b1
;
28515 b1
[1] = pi
->nphy_pwrctrl_info
[1].pwrdet_5gh_b1
;
28518 idle_tssi
[0] = pi
->nphy_pwrctrl_info
[0].idle_tssi_2g
;
28519 idle_tssi
[1] = pi
->nphy_pwrctrl_info
[1].idle_tssi_2g
;
28520 target_pwr_qtrdbm
[0] = 13 * 4;
28521 target_pwr_qtrdbm
[1] = 13 * 4;
28532 target_pwr_qtrdbm
[0] = (s8
) pi
->tx_power_max
;
28533 target_pwr_qtrdbm
[1] = (s8
) pi
->tx_power_max
;
28535 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28536 if (pi
->srom_fem2g
.tssipos
) {
28537 or_phy_reg(pi
, 0x1e9, (0x1 << 14));
28540 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28541 for (core
= 0; core
<= 1; core
++) {
28544 if (CHSPEC_IS2G(pi
->radio_chanspec
)) {
28545 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28550 WRITE_RADIO_REG3(pi
, RADIO_2057
,
28561 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28565 radio_chanspec
)) ? 0xc : 0xe);
28566 write_radio_reg(pi
,
28567 RADIO_2056_TX_TX_SSI_MUX
|
28571 radio_chanspec
)) ? 0xc : 0xe);
28574 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28575 RADIO_2056_TX0
, 0x11);
28576 write_radio_reg(pi
, RADIO_2056_TX_TX_SSI_MUX
|
28577 RADIO_2056_TX1
, 0x11);
28582 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12)) {
28583 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, MCTL_PHYLOCK
);
28584 (void)R_REG(&pi
->regs
->maccontrol
);
28588 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28589 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28590 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28592 mod_phy_reg(pi
, 0x1e7, (0x7f << 0),
28593 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28596 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28597 mod_phy_reg(pi
, 0x222, (0xff << 0),
28598 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7
<< 0));
28599 } else if (NREV_GT(pi
->pubpi
.phy_rev
, 1)) {
28600 mod_phy_reg(pi
, 0x222, (0xff << 0),
28601 (NPHY_TxPwrCtrlCmd_pwrIndex_init
<< 0));
28604 if (D11REV_IS(pi
->sh
->corerev
, 11) || D11REV_IS(pi
->sh
->corerev
, 12))
28605 wlapi_bmac_mctrl(pi
->sh
->physhim
, MCTL_PHYLOCK
, 0);
28607 write_phy_reg(pi
, 0x1e8, (0x3 << 8) | (240 << 0));
28609 write_phy_reg(pi
, 0x1e9,
28610 (1 << 15) | (idle_tssi
[0] << 0) | (idle_tssi
[1] << 8));
28612 write_phy_reg(pi
, 0x1ea,
28613 (target_pwr_qtrdbm
[0] << 0) |
28614 (target_pwr_qtrdbm
[1] << 8));
28618 for (tbl_id
= NPHY_TBL_ID_CORE1TXPWRCTL
;
28619 tbl_id
<= NPHY_TBL_ID_CORE2TXPWRCTL
; tbl_id
++) {
28621 for (idx
= 0; idx
< tbl_len
; idx
++) {
28623 8 * (16 * b0
[tbl_id
- 26] + b1
[tbl_id
- 26] * idx
);
28624 den
= 32768 + a1
[tbl_id
- 26] * idx
;
28625 pwr_est
= max(((4 * num
+ den
/ 2) / den
), -8);
28626 if (NREV_LT(pi
->pubpi
.phy_rev
, 3)) {
28628 (uint
) (31 - idle_tssi
[tbl_id
- 26] + 1))
28631 target_pwr_qtrdbm
[tbl_id
- 26] +
28634 regval
[idx
] = (u32
) pwr_est
;
28636 wlc_phy_table_write_nphy(pi
, tbl_id
, tbl_len
, tbl_offset
, 32,
28640 wlc_phy_txpwr_limit_to_tbl_nphy(pi
);
28641 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64, 8,
28642 pi
->adj_pwr_tbl_nphy
);
28643 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64, 8,
28644 pi
->adj_pwr_tbl_nphy
);
28646 if (pi
->phyhang_avoid
)
28647 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28650 static bool wlc_phy_txpwr_ison_nphy(phy_info_t
*pi
)
28652 return read_phy_reg((pi
), 0x1e7) & ((0x1 << 15) |
28653 (0x1 << 14) | (0x1 << 13));
28656 static u8
wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t
*pi
, u8 core
)
28659 tmp
= read_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x1ed : 0x1ee));
28661 tmp
= (tmp
& (0x7f << 8)) >> 8;
28666 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t
*pi
, u8 idx0
, u8 idx1
)
28668 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), idx0
);
28670 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28671 mod_phy_reg(pi
, 0x222, (0xff << 0), idx1
);
28674 u16
wlc_phy_txpwr_idx_get_nphy(phy_info_t
*pi
)
28679 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28680 pwr_idx
[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_0
);
28681 pwr_idx
[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi
, PHY_CORE_1
);
28683 tmp
= (pwr_idx
[0] << 8) | pwr_idx
[1];
28686 ((pi
->nphy_txpwrindex
[PHY_CORE_0
].
28687 index_internal
& 0xff) << 8) | (pi
->
28690 index_internal
& 0xff);
28696 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t
*pi
)
28699 && (pi
->nphy_force_papd_cal
28700 || (wlc_phy_txpwr_ison_nphy(pi
)
28703 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 0) -
28704 pi
->nphy_papd_tx_gain_at_last_cal
[0]) >= 4)
28706 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi
, 1) -
28707 pi
->nphy_papd_tx_gain_at_last_cal
[1]) >= 4))))) {
28708 wlc_phy_a4(pi
, true);
28712 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t
*pi
, u8 ctrl_type
)
28714 u16 mask
= 0, val
= 0, ishw
= 0;
28721 if (pi
->phyhang_avoid
)
28722 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28724 switch (ctrl_type
) {
28725 case PHY_TPC_HW_OFF
:
28726 case PHY_TPC_HW_ON
:
28727 pi
->nphy_txpwrctrl
= ctrl_type
;
28733 if (ctrl_type
== PHY_TPC_HW_OFF
) {
28734 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28736 if (wlc_phy_txpwr_ison_nphy(pi
)) {
28737 for (core
= 0; core
< pi
->pubpi
.phy_corenum
;
28739 pi
->nphy_txpwr_idx
[core
] =
28740 wlc_phy_txpwr_idx_cur_get_nphy(pi
,
28749 for (ctr
= 0; ctr
< tbl_len
; ctr
++) {
28752 wlc_phy_table_write_nphy(pi
, 26, tbl_len
, tbl_offset
, 16,
28754 wlc_phy_table_write_nphy(pi
, 27, tbl_len
, tbl_offset
, 16,
28757 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28759 and_phy_reg(pi
, 0x1e7,
28760 (u16
) (~((0x1 << 15) |
28761 (0x1 << 14) | (0x1 << 13))));
28763 and_phy_reg(pi
, 0x1e7,
28764 (u16
) (~((0x1 << 14) | (0x1 << 13))));
28767 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28768 or_phy_reg(pi
, 0x8f, (0x1 << 8));
28769 or_phy_reg(pi
, 0xa5, (0x1 << 8));
28771 or_phy_reg(pi
, 0xa5, (0x1 << 14));
28774 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28775 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x53);
28776 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28777 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x5a);
28779 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28780 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28781 MHF1_IQSWAP_WAR
, WLC_BAND_ALL
);
28785 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE1TXPWRCTL
, 84, 64,
28786 8, pi
->adj_pwr_tbl_nphy
);
28787 wlc_phy_table_write_nphy(pi
, NPHY_TBL_ID_CORE2TXPWRCTL
, 84, 64,
28788 8, pi
->adj_pwr_tbl_nphy
);
28790 ishw
= (ctrl_type
== PHY_TPC_HW_ON
) ? 0x1 : 0x0;
28791 mask
= (0x1 << 14) | (0x1 << 13);
28792 val
= (ishw
<< 14) | (ishw
<< 13);
28794 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28795 mask
|= (0x1 << 15);
28796 val
|= (ishw
<< 15);
28799 mod_phy_reg(pi
, 0x1e7, mask
, val
);
28801 if (CHSPEC_IS5G(pi
->radio_chanspec
)) {
28802 if (NREV_GE(pi
->pubpi
.phy_rev
, 7)) {
28803 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x32);
28804 mod_phy_reg(pi
, 0x222, (0xff << 0), 0x32);
28806 mod_phy_reg(pi
, 0x1e7, (0x7f << 0), 0x64);
28807 if (NREV_GT(pi
->pubpi
.phy_rev
, 1))
28808 mod_phy_reg(pi
, 0x222,
28809 (0xff << 0), 0x64);
28813 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28814 if ((pi
->nphy_txpwr_idx
[0] != 128)
28815 && (pi
->nphy_txpwr_idx
[1] != 128)) {
28816 wlc_phy_txpwr_idx_cur_set_nphy(pi
,
28826 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28827 and_phy_reg(pi
, 0x8f, ~(0x1 << 8));
28828 and_phy_reg(pi
, 0xa5, ~(0x1 << 8));
28830 and_phy_reg(pi
, 0xa5, ~(0x1 << 14));
28833 if (NREV_IS(pi
->pubpi
.phy_rev
, 2))
28834 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x3b);
28835 else if (NREV_LT(pi
->pubpi
.phy_rev
, 2))
28836 mod_phy_reg(pi
, 0xdc, 0x00ff, 0x40);
28838 if (NREV_LT(pi
->pubpi
.phy_rev
, 2) && IS40MHZ(pi
))
28839 wlapi_bmac_mhf(pi
->sh
->physhim
, MHF1
, MHF1_IQSWAP_WAR
,
28840 0x0, WLC_BAND_ALL
);
28843 mod_phy_reg(pi
, (0 == PHY_CORE_0
) ? 0x297 :
28844 0x29b, (0x1 << 2), (0) << 2);
28846 mod_phy_reg(pi
, (1 == PHY_CORE_0
) ? 0x297 :
28847 0x29b, (0x1 << 2), (0) << 2);
28853 if (pi
->phyhang_avoid
)
28854 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
28858 wlc_phy_txpwr_index_nphy(phy_info_t
*pi
, u8 core_mask
, s8 txpwrindex
,
28861 u8 core
, txpwrctl_tbl
;
28862 u16 tx_ind0
, iq_ind0
, lo_ind0
;
28865 u16 rad_gain
, dac_gain
;
28868 u16 iqcomp_a
, iqcomp_b
;
28871 u8 tx_pwr_ctrl_state
;
28875 if (pi
->phyhang_avoid
)
28876 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
28882 for (core
= 0; core
< pi
->pubpi
.phy_corenum
; core
++) {
28884 if ((core_mask
& (1 << core
)) == 0) {
28888 txpwrctl_tbl
= (core
== PHY_CORE_0
) ? 26 : 27;
28890 if (txpwrindex
< 0) {
28891 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
28896 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28897 mod_phy_reg(pi
, 0x8f,
28899 pi
->nphy_txpwrindex
[core
].
28901 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
28902 pi
->nphy_txpwrindex
[core
].
28905 mod_phy_reg(pi
, 0xa5,
28907 pi
->nphy_txpwrindex
[core
].
28911 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
28913 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
);
28915 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
28916 &pi
->nphy_txpwrindex
[core
].
28919 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28920 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
28921 m1m2
|= ((core
== PHY_CORE_0
) ?
28922 (pi
->nphy_txpwrindex
[core
].bbmult
<< 8) :
28923 (pi
->nphy_txpwrindex
[core
].bbmult
<< 0));
28924 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
28926 if (restore_cals
) {
28928 wlc_phy_table_write_nphy(pi
, 15, 2,
28929 (80 + 2 * core
), 16,
28931 nphy_txpwrindex
[core
].
28934 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
28937 nphy_txpwrindex
[core
].
28939 wlc_phy_table_write_nphy(pi
, 15, 1, (93 + core
),
28942 nphy_txpwrindex
[core
].
28946 wlc_phy_txpwrctrl_enable_nphy(pi
, pi
->nphy_txpwrctrl
);
28948 pi
->nphy_txpwrindex
[core
].index_internal
=
28949 pi
->nphy_txpwrindex
[core
].index_internal_save
;
28952 if (pi
->nphy_txpwrindex
[core
].index
< 0) {
28954 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
28955 mod_phy_reg(pi
, 0x8f,
28957 pi
->nphy_txpwrindex
[core
].
28959 mod_phy_reg(pi
, 0xa5, (0x1 << 8),
28960 pi
->nphy_txpwrindex
[core
].
28963 pi
->nphy_txpwrindex
[core
].
28965 read_phy_reg(pi
, 0xa5);
28968 pi
->nphy_txpwrindex
[core
].AfeCtrlDacGain
=
28971 PHY_CORE_0
) ? 0xaa : 0xab);
28973 wlc_phy_table_read_nphy(pi
, 7, 1,
28974 (0x110 + core
), 16,
28976 nphy_txpwrindex
[core
].
28979 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16,
28981 tmpval
>>= ((core
== PHY_CORE_0
) ? 8 : 0);
28983 pi
->nphy_txpwrindex
[core
].bbmult
=
28986 wlc_phy_table_read_nphy(pi
, 15, 2,
28987 (80 + 2 * core
), 16,
28989 nphy_txpwrindex
[core
].
28992 wlc_phy_table_read_nphy(pi
, 15, 1, (85 + core
),
28995 nphy_txpwrindex
[core
].
28998 pi
->nphy_txpwrindex
[core
].index_internal_save
=
28999 pi
->nphy_txpwrindex
[core
].index_internal
;
29002 tx_pwr_ctrl_state
= pi
->nphy_txpwrctrl
;
29003 wlc_phy_txpwrctrl_enable_nphy(pi
, PHY_TPC_HW_OFF
);
29005 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29006 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, ON
);
29008 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29009 (tx_ind0
+ txpwrindex
), 32,
29012 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29014 (txgain
>> 16) & ((1 << (32 - 16 + 1)) - 1);
29017 (txgain
>> 16) & ((1 << (28 - 16 + 1)) - 1);
29019 dac_gain
= (txgain
>> 8) & ((1 << (13 - 8 + 1)) - 1);
29020 bbmult
= (txgain
>> 0) & ((1 << (7 - 0 + 1)) - 1);
29022 if (NREV_GE(pi
->pubpi
.phy_rev
, 3)) {
29023 mod_phy_reg(pi
, ((core
== PHY_CORE_0
) ? 0x8f :
29024 0xa5), (0x1 << 8), (0x1 << 8));
29026 mod_phy_reg(pi
, 0xa5, (0x1 << 14), (0x1 << 14));
29028 write_phy_reg(pi
, (core
== PHY_CORE_0
) ?
29029 0xaa : 0xab, dac_gain
);
29031 wlc_phy_table_write_nphy(pi
, 7, 1, (0x110 + core
), 16,
29034 wlc_phy_table_read_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29035 m1m2
&= ((core
== PHY_CORE_0
) ? 0x00ff : 0xff00);
29038 PHY_CORE_0
) ? (bbmult
<< 8) : (bbmult
<< 0));
29040 wlc_phy_table_write_nphy(pi
, 15, 1, 87, 16, &m1m2
);
29042 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29043 (iq_ind0
+ txpwrindex
), 32,
29045 iqcomp_a
= (iqcomp
>> 10) & ((1 << (19 - 10 + 1)) - 1);
29046 iqcomp_b
= (iqcomp
>> 0) & ((1 << (9 - 0 + 1)) - 1);
29048 if (restore_cals
) {
29049 regval
[0] = (u16
) iqcomp_a
;
29050 regval
[1] = (u16
) iqcomp_b
;
29051 wlc_phy_table_write_nphy(pi
, 15, 2,
29052 (80 + 2 * core
), 16,
29056 wlc_phy_table_read_nphy(pi
, txpwrctl_tbl
, 1,
29057 (lo_ind0
+ txpwrindex
), 32,
29059 if (restore_cals
) {
29060 wlc_phy_table_write_nphy(pi
, 15, 1, (85 + core
),
29064 if (NREV_IS(pi
->pubpi
.phy_rev
, 1))
29065 wlapi_bmac_phyclk_fgc(pi
->sh
->physhim
, OFF
);
29068 wlc_phy_table_read_nphy(pi
,
29071 NPHY_TBL_ID_CORE1TXPWRCTL
29073 NPHY_TBL_ID_CORE2TXPWRCTL
),
29074 1, 576 + txpwrindex
, 32,
29077 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29078 0x29b, (0x1ff << 4),
29079 ((s16
) rfpwr_offset
) << 4);
29081 mod_phy_reg(pi
, (core
== PHY_CORE_0
) ? 0x297 :
29082 0x29b, (0x1 << 2), (1) << 2);
29086 wlc_phy_txpwrctrl_enable_nphy(pi
, tx_pwr_ctrl_state
);
29089 pi
->nphy_txpwrindex
[core
].index
= txpwrindex
;
29092 if (pi
->phyhang_avoid
)
29093 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
29097 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t
*pi
, uint chan
, u8
*max_pwr
,
29100 u8 chan_freq_range
;
29102 chan_freq_range
= wlc_phy_get_chan_freq_range_nphy(pi
, chan
);
29103 switch (chan_freq_range
) {
29104 case WL_CHAN_FREQ_RANGE_2G
:
29105 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29107 case WL_CHAN_FREQ_RANGE_5GM
:
29108 *max_pwr
= pi
->tx_srom_max_rate_5g_mid
[txp_rate_idx
];
29110 case WL_CHAN_FREQ_RANGE_5GL
:
29111 *max_pwr
= pi
->tx_srom_max_rate_5g_low
[txp_rate_idx
];
29113 case WL_CHAN_FREQ_RANGE_5GH
:
29114 *max_pwr
= pi
->tx_srom_max_rate_5g_hi
[txp_rate_idx
];
29117 *max_pwr
= pi
->tx_srom_max_rate_2g
[txp_rate_idx
];
29124 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t
*pi
, bool enable
)
29126 u16 clip_off
[] = { 0xffff, 0xffff };
29128 ASSERT(0 == (R_REG(&pi
->regs
->maccontrol
) & MCTL_EN_MAC
));
29131 if (pi
->nphy_deaf_count
== 0) {
29132 pi
->classifier_state
=
29133 wlc_phy_classifier_nphy(pi
, 0, 0);
29134 wlc_phy_classifier_nphy(pi
, (0x7 << 0), 4);
29135 wlc_phy_clip_det_nphy(pi
, 0, pi
->clip_state
);
29136 wlc_phy_clip_det_nphy(pi
, 1, clip_off
);
29139 pi
->nphy_deaf_count
++;
29141 wlc_phy_resetcca_nphy(pi
);
29144 pi
->nphy_deaf_count
--;
29146 if (pi
->nphy_deaf_count
== 0) {
29147 wlc_phy_classifier_nphy(pi
, (0x7 << 0),
29148 pi
->classifier_state
);
29149 wlc_phy_clip_det_nphy(pi
, 1, pi
->clip_state
);
29154 void wlc_nphy_deaf_mode(phy_info_t
*pi
, bool mode
)
29156 wlapi_suspend_mac_and_wait(pi
->sh
->physhim
);
29159 if (pi
->nphy_deaf_count
== 0)
29160 wlc_phy_stay_in_carriersearch_nphy(pi
, true);
29162 if (pi
->nphy_deaf_count
> 0)
29163 wlc_phy_stay_in_carriersearch_nphy(pi
, false);
29165 wlapi_enable_mac(pi
->sh
->physhim
);