staging: brcm80211: replaced BCME_OK by 0
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / staging / brcm80211 / brcmsmac / phy / wlc_phy_n.c
blobccc79fde03a56ec39e6ae8e2fd7a788b2f1409f2
1 /*
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>
19 #include <bcmdefs.h>
20 #include <wlc_cfg.h>
21 #include <linux/delay.h>
22 #include <linux/pci.h>
23 #include <siutils.h>
24 #include <sbchipc.h>
25 #include <hndpmu.h>
27 #include <bcmdevs.h>
28 #include <sbhnddma.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 {
145 u16 txlpf;
146 u16 txgm;
147 u16 pga;
148 u16 pad;
149 u16 ipa;
150 u16 cal_gain;
151 u16 ncorr[5];
152 } nphy_iqcal_params_t;
154 typedef struct _nphy_txiqcal_ladder {
155 u8 percent;
156 u8 g_env;
157 } nphy_txiqcal_ladder_t;
159 typedef struct {
160 nphy_txgains_t gains;
161 bool useindex;
162 u8 index;
163 } nphy_ipa_txcalgains_t;
165 typedef struct nphy_papd_restore_state_t {
166 u16 fbmix[2];
167 u16 vga_master[2];
168 u16 intpa_master[2];
169 u16 afectrl[2];
170 u16 afeoverride[2];
171 u16 pwrup[2];
172 u16 atten[2];
173 u16 mm;
174 } nphy_papd_restore_state;
176 typedef struct _nphy_ipa_txrxgain {
177 u16 hpvga;
178 u16 lpf_biq1;
179 u16 lpf_biq0;
180 u16 lna2;
181 u16 lna1;
182 s8 txpwrindex;
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},
188 {0, 0, 0, 0, 0, 50},
189 {0, 0, 0, 0, 0, -1},
190 {0, 0, 0, 3, 0, -1},
191 {0, 0, 3, 3, 0, -1},
192 {0, 2, 3, 3, 0, -1}
195 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
196 {0, 0, 0, 0, 0, 70},
197 {0, 0, 0, 0, 0, 20},
198 {0, 0, 0, 3, 0, 20},
199 {0, 0, 3, 3, 0, 20},
200 {0, 2, 3, 3, 0, 20}
203 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
204 {0, 0, 0, 0, 0, 50},
205 {0, 0, 0, 0, 0, -1},
206 {0, 0, 0, 3, 0, -1},
207 {0, 0, 3, 3, 0, -1},
208 {0, 0, 5, 3, 0, -1}
211 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
212 {0, 0, 0, 1, 0, 10},
213 {0, 0, 1, 2, 0, 10},
214 {0, 0, 1, 3, 0, 10},
215 {0, 0, 4, 3, 0, 10},
216 {0, 0, 6, 3, 0, 10}
219 #define NPHY_RXCAL_TONEAMP 181
220 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
221 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
223 enum {
224 NPHY_RXCAL_GAIN_INIT = 0,
225 NPHY_RXCAL_GAIN_UP,
226 NPHY_RXCAL_GAIN_DOWN
229 #define wlc_phy_get_papd_nphy(pi) \
230 (read_phy_reg((pi), 0x1e7) & \
231 ((0x1 << 15) | \
232 (0x1 << 14) | \
233 (0x1 << 13)))
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,
245 26, 34, -32, 34},
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 {
259 u16 chan;
260 u16 freq;
261 uint unknown;
262 u8 RF_pll_ref;
263 u8 RF_rf_pll_mod1;
264 u8 RF_rf_pll_mod0;
265 u8 RF_vco_cap_tail;
266 u8 RF_vco_cal1;
267 u8 RF_vco_cal2;
268 u8 RF_pll_lf_c1;
269 u8 RF_pll_lf_r1;
270 u8 RF_pll_lf_c2;
271 u8 RF_lgbuf_cen_buf;
272 u8 RF_lgen_tune1;
273 u8 RF_lgen_tune2;
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;
284 u16 PHY_BW1a;
285 u16 PHY_BW2;
286 u16 PHY_BW3;
287 u16 PHY_BW4;
288 u16 PHY_BW5;
289 u16 PHY_BW6;
290 } chan_info_nphy_2055_t;
292 typedef struct _chan_info_nphy_radio205x {
293 u16 chan;
294 u16 freq;
295 u8 RF_SYN_pll_vcocal1;
296 u8 RF_SYN_pll_vcocal2;
297 u8 RF_SYN_pll_refdiv;
298 u8 RF_SYN_pll_mmd2;
299 u8 RF_SYN_pll_mmd1;
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;
312 u8 RF_RX0_lnaa_tune;
313 u8 RF_RX0_lnag_tune;
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;
322 u8 RF_RX1_lnaa_tune;
323 u8 RF_RX1_lnag_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;
332 u16 PHY_BW1a;
333 u16 PHY_BW2;
334 u16 PHY_BW3;
335 u16 PHY_BW4;
336 u16 PHY_BW5;
337 u16 PHY_BW6;
338 } chan_info_nphy_radio205x_t;
340 typedef struct _chan_info_nphy_radio2057 {
341 u16 chan;
342 u16 freq;
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;
349 u8 RF_cp_kpd_idac;
350 u8 RF_rfpll_mmd0;
351 u8 RF_rfpll_mmd1;
352 u8 RF_vcobuf_tune;
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;
371 u16 PHY_BW1a;
372 u16 PHY_BW2;
373 u16 PHY_BW3;
374 u16 PHY_BW4;
375 u16 PHY_BW5;
376 u16 PHY_BW6;
377 } chan_info_nphy_radio2057_t;
379 typedef struct _chan_info_nphy_radio2057_rev5 {
380 u16 chan;
381 u16 freq;
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;
388 u8 RF_cp_kpd_idac;
389 u8 RF_rfpll_mmd0;
390 u8 RF_rfpll_mmd1;
391 u8 RF_vcobuf_tune;
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;
400 u16 PHY_BW1a;
401 u16 PHY_BW2;
402 u16 PHY_BW3;
403 u16 PHY_BW4;
404 u16 PHY_BW5;
405 u16 PHY_BW6;
406 } chan_info_nphy_radio2057_rev5_t;
408 typedef struct nphy_sfo_cfg {
409 u16 PHY_BW1a;
410 u16 PHY_BW2;
411 u16 PHY_BW3;
412 u16 PHY_BW4;
413 u16 PHY_BW5;
414 u16 PHY_BW6;
415 } nphy_sfo_cfg_t;
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,
5282 0x0215,
5283 0x0216,
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,
5289 0x0214,
5290 0x0215,
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,
5296 0x0213,
5297 0x0214,
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,
5303 0x0212,
5304 0x0213,
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,
5310 0x0211,
5311 0x0212,
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,
5317 0x020f,
5318 0x0211,
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,
5324 0x020e,
5325 0x020f,
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,
5331 0x020d,
5332 0x020e,
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,
5338 0x020c,
5339 0x020d,
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,
5345 0x020b,
5346 0x020c,
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,
5352 0x020a,
5353 0x020b,
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,
5359 0x0209,
5360 0x020a,
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,
5366 0x0208,
5367 0x0209,
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,
5373 0x0207,
5374 0x0208,
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,
5380 0x0206,
5381 0x0207,
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,
5387 0x0205,
5388 0x0206,
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,
5394 0x0204,
5395 0x0205,
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,
5401 0x0203,
5402 0x0204,
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,
5408 0x0202,
5409 0x0203,
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,
5415 0x0201,
5416 0x0202,
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,
5422 0x0200,
5423 0x0201,
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,
5429 0x01ff,
5430 0x0200,
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,
5436 0x01fe,
5437 0x01ff,
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,
5443 0x01fc,
5444 0x01fd,
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,
5450 0x01fb,
5451 0x01fc,
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,
5457 0x01fa,
5458 0x01fb,
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,
5464 0x01f9,
5465 0x01fa,
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,
5471 0x01f8,
5472 0x01f9,
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,
5478 0x01f7,
5479 0x01f8,
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,
5485 0x01f6,
5486 0x01f7,
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,
5492 0x01f5,
5493 0x01f6,
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,
5499 0x01f4,
5500 0x01f5,
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,
5506 0x01f3,
5507 0x01f4,
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,
5513 0x01f2,
5514 0x01f3,
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,
5520 0x01f1,
5521 0x01f2,
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,
5527 0x01f0,
5528 0x01f1,
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,
5534 0x01f0,
5535 0x01f0,
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,
5541 0x01ef,
5542 0x01f0,
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,
5548 0x01ee,
5549 0x01ef,
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,
5555 0x01ed,
5556 0x01ee,
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,
5562 0x01ec,
5563 0x01ed,
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,
5569 0x01eb,
5570 0x01ec,
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,
5576 0x01ea,
5577 0x01eb,
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,
5583 0x01e9,
5584 0x01ea,
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,
5590 0x01e8,
5591 0x01e9,
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,
5597 0x01e7,
5598 0x01e8,
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,
5604 0x01e6,
5605 0x01e7,
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,
5611 0x01e5,
5612 0x01e6,
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,
5618 0x01e5,
5619 0x01e5,
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,
5625 0x01e4,
5626 0x01e5,
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,
5632 0x01e3,
5633 0x01e4,
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,
5639 0x01e2,
5640 0x01e3,
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,
5646 0x01e1,
5647 0x01e2,
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,
5653 0x01e0,
5654 0x01e1,
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,
5660 0x01df,
5661 0x01e0,
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,
5667 0x01de,
5668 0x01df,
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,
5674 0x01dd,
5675 0x01de,
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,
5681 0x01dd,
5682 0x01dd,
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,
5688 0x01dc,
5689 0x01dd,
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,
5695 0x01db,
5696 0x01dc,
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,
5702 0x01da,
5703 0x01db,
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,
5709 0x01d9,
5710 0x01da,
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,
5716 0x01d8,
5717 0x01d9,
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,
5723 0x01d7,
5724 0x01d8,
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,
5730 0x01d7,
5731 0x01d7,
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,
5737 0x01d6,
5738 0x01d7,
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,
5744 0x01d5,
5745 0x01d6,
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,
5751 0x01d4,
5752 0x01d5,
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,
5758 0x01d3,
5759 0x01d4,
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,
5765 0x01d2,
5766 0x01d3,
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,
5772 0x01d2,
5773 0x01d2,
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,
5779 0x01d1,
5780 0x01d2,
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,
5786 0x01d0,
5787 0x01d1,
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,
5793 0x01cf,
5794 0x01d0,
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,
5800 0x01ce,
5801 0x01cf,
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,
5807 0x01ce,
5808 0x01ce,
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,
5814 0x01cd,
5815 0x01ce,
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,
5821 0x01cc,
5822 0x01cd,
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,
5828 0x01cb,
5829 0x01cc,
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,
5835 0x01ca,
5836 0x01cb,
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,
5842 0x01ca,
5843 0x01cb,
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,
5849 0x01c9,
5850 0x01ca,
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,
5856 0x01c9,
5857 0x01ca,
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,
5863 0x01c9,
5864 0x01c9,
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,
5870 0x01c8,
5871 0x01c9,
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,
5877 0x01c8,
5878 0x01c9,
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,
5884 0x01c8,
5885 0x01c8,
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,
5891 0x01c7,
5892 0x01c8,
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,
5898 0x01c7,
5899 0x01c8,
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,
5905 0x01c6,
5906 0x01c7,
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,
5912 0x01c6,
5913 0x01c7,
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,
5919 0x01c6,
5920 0x01c6,
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,
5926 0x01c5,
5927 0x01c6,
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,
5933 0x01c5,
5934 0x01c6,
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,
5940 0x01c4,
5941 0x01c5,
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,
5947 0x01c4,
5948 0x01c5,
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,
5954 0x01c4,
5955 0x01c4,
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,
5961 0x01c3,
5962 0x01c4,
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,
5968 0x01c3,
5969 0x01c4,
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,
5975 0x01c2,
5976 0x01c3,
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,
5982 0x01c2,
5983 0x01c3,
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,
5989 0x01c2,
5990 0x01c2,
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,
5996 0x01c1,
5997 0x01c2,
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,
6003 0x01c0,
6004 0x01c1,
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,
6010 0x01bf,
6011 0x01c0,
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,
6017 0x01bf,
6018 0x01bf,
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,
6024 0x01be,
6025 0x01bf,
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,
6031 0x01bd,
6032 0x01be,
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,
6038 0x01bc,
6039 0x01bd,
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,
6045 0x043f,
6046 0x0443,
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,
6052 0x043d,
6053 0x0441,
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,
6059 0x043a,
6060 0x043f,
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,
6066 0x0438,
6067 0x043d,
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,
6073 0x0436,
6074 0x043a,
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,
6080 0x0434,
6081 0x0438,
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,
6087 0x0431,
6088 0x0436,
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,
6094 0x042f,
6095 0x0434,
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,
6101 0x042d,
6102 0x0431,
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,
6108 0x042b,
6109 0x042f,
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,
6115 0x0429,
6116 0x042d,
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,
6122 0x0427,
6123 0x042b,
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,
6129 0x0424,
6130 0x0429,
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,
6136 0x041f,
6137 0x0424}
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,
6263 0x0215,
6264 0x0216},
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,
6269 0x0214,
6270 0x0215},
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,
6275 0x0213,
6276 0x0214},
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,
6281 0x0212,
6282 0x0213},
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,
6287 0x0211,
6288 0x0212},
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,
6293 0x020f,
6294 0x0211},
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,
6299 0x020e,
6300 0x020f},
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,
6305 0x020d,
6306 0x020e},
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,
6311 0x020c,
6312 0x020d},
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,
6317 0x020b,
6318 0x020c},
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,
6323 0x020a,
6324 0x020b},
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,
6329 0x0209,
6330 0x020a},
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,
6335 0x0208,
6336 0x0209},
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,
6341 0x0207,
6342 0x0208},
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,
6347 0x0206,
6348 0x0207},
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,
6353 0x0205,
6354 0x0206},
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,
6359 0x0204,
6360 0x0205},
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,
6365 0x0203,
6366 0x0204},
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,
6371 0x0202,
6372 0x0203},
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,
6377 0x0201,
6378 0x0202},
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,
6383 0x0200,
6384 0x0201},
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,
6389 0x01ff,
6390 0x0200},
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,
6395 0x01fe,
6396 0x01ff},
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,
6401 0x01fc,
6402 0x01fd},
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,
6407 0x01fb,
6408 0x01fc},
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,
6413 0x01fa,
6414 0x01fb},
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,
6419 0x01f9,
6420 0x01fa},
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,
6425 0x01f8,
6426 0x01f9},
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,
6431 0x01f7,
6432 0x01f8},
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,
6437 0x01f6,
6438 0x01f7},
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,
6443 0x01f5,
6444 0x01f6},
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,
6449 0x01f4,
6450 0x01f5},
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,
6455 0x01f3,
6456 0x01f4},
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,
6461 0x01f2,
6462 0x01f3},
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,
6467 0x01f1,
6468 0x01f2},
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,
6473 0x01f0,
6474 0x01f1},
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,
6479 0x01f0,
6480 0x01f0},
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,
6485 0x01ef,
6486 0x01f0},
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,
6491 0x01ee,
6492 0x01ef},
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,
6497 0x01ed,
6498 0x01ee},
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,
6503 0x01ec,
6504 0x01ed},
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,
6509 0x01eb,
6510 0x01ec},
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,
6515 0x01ea,
6516 0x01eb},
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,
6521 0x01e9,
6522 0x01ea},
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,
6527 0x01e8,
6528 0x01e9},
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,
6533 0x01e7,
6534 0x01e8},
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,
6539 0x01e6,
6540 0x01e7},
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,
6545 0x01e5,
6546 0x01e6},
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,
6551 0x01e5,
6552 0x01e5},
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,
6557 0x01e4,
6558 0x01e5},
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,
6563 0x01e3,
6564 0x01e4},
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,
6569 0x01e2,
6570 0x01e3},
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,
6575 0x01e1,
6576 0x01e2},
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,
6581 0x01e0,
6582 0x01e1},
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,
6587 0x01df,
6588 0x01e0},
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,
6593 0x01de,
6594 0x01df},
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,
6599 0x01dd,
6600 0x01de},
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,
6605 0x01dd,
6606 0x01dd},
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,
6611 0x01dc,
6612 0x01dd},
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,
6617 0x01db,
6618 0x01dc},
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,
6623 0x01da,
6624 0x01db},
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,
6629 0x01d9,
6630 0x01da},
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,
6635 0x01d8,
6636 0x01d9},
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,
6641 0x01d7,
6642 0x01d8},
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,
6647 0x01d7,
6648 0x01d7},
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,
6653 0x01d6,
6654 0x01d7},
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,
6659 0x01d5,
6660 0x01d6},
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,
6665 0x01d4,
6666 0x01d5},
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,
6671 0x01d3,
6672 0x01d4},
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,
6677 0x01d2,
6678 0x01d3},
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,
6683 0x01d2,
6684 0x01d2},
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,
6689 0x01d1,
6690 0x01d2},
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,
6695 0x01d0,
6696 0x01d1},
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,
6701 0x01cf,
6702 0x01d0},
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,
6707 0x01ce,
6708 0x01cf},
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,
6713 0x01ce,
6714 0x01ce},
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,
6719 0x01cd,
6720 0x01ce},
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,
6725 0x01cc,
6726 0x01cd},
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,
6731 0x01cb,
6732 0x01cc},
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,
6737 0x01ca,
6738 0x01cb},
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,
6743 0x01ca,
6744 0x01cb},
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,
6749 0x01c9,
6750 0x01ca},
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,
6755 0x01c9,
6756 0x01ca},
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,
6761 0x01c9,
6762 0x01c9},
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,
6767 0x01c8,
6768 0x01c9},
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,
6773 0x01c8,
6774 0x01c9},
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,
6779 0x01c8,
6780 0x01c8},
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,
6785 0x01c7,
6786 0x01c8},
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,
6791 0x01c7,
6792 0x01c8},
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,
6797 0x01c6,
6798 0x01c7},
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,
6803 0x01c6,
6804 0x01c7},
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,
6809 0x01c6,
6810 0x01c6},
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,
6815 0x01c5,
6816 0x01c6},
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,
6821 0x01c5,
6822 0x01c6},
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,
6827 0x01c4,
6828 0x01c5},
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,
6833 0x01c4,
6834 0x01c5},
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,
6839 0x01c4,
6840 0x01c4},
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,
6845 0x01c3,
6846 0x01c4},
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,
6851 0x01c3,
6852 0x01c4},
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,
6857 0x01c2,
6858 0x01c3},
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,
6863 0x01c2,
6864 0x01c3},
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,
6869 0x01c2,
6870 0x01c2},
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,
6875 0x01c1,
6876 0x01c2},
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,
6881 0x01c0,
6882 0x01c1},
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,
6887 0x01bf,
6888 0x01c0},
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,
6893 0x01bf,
6894 0x01bf},
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,
6899 0x01be,
6900 0x01bf},
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,
6905 0x01bd,
6906 0x01be},
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,
6911 0x01bc,
6912 0x01bd},
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,
6917 0x043f,
6918 0x0443},
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,
6923 0x043d,
6924 0x0441},
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,
6929 0x043a,
6930 0x043f},
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,
6935 0x0438,
6936 0x043d},
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,
6941 0x0436,
6942 0x043a},
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,
6947 0x0434,
6948 0x0438},
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,
6953 0x0431,
6954 0x0436},
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,
6959 0x042f,
6960 0x0434},
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,
6965 0x042d,
6966 0x0431},
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,
6971 0x042b,
6972 0x042f},
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,
6977 0x0429,
6978 0x042d},
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,
6983 0x0427,
6984 0x042b},
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,
6989 0x0424,
6990 0x0429},
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,
6995 0x041f,
6996 0x0424}
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,
7004 0x0214,
7005 0x0215},
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,
7010 0x0213,
7011 0x0214},
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,
7016 0x0212,
7017 0x0213},
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,
7022 0x0211,
7023 0x0212},
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,
7028 0x020f,
7029 0x0211},
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,
7034 0x020e,
7035 0x020f},
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,
7040 0x020d,
7041 0x020e},
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,
7046 0x020c,
7047 0x020d},
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,
7052 0x020b,
7053 0x020c},
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,
7058 0x020a,
7059 0x020b},
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,
7064 0x0209,
7065 0x020a},
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,
7070 0x0208,
7071 0x0209},
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,
7076 0x0207,
7077 0x0208},
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,
7082 0x0206,
7083 0x0207},
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,
7088 0x0205,
7089 0x0206},
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,
7094 0x0204,
7095 0x0205},
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,
7100 0x0203,
7101 0x0204},
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,
7106 0x0202,
7107 0x0203},
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,
7112 0x0201,
7113 0x0202},
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,
7118 0x0200,
7119 0x0201},
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,
7124 0x01ff,
7125 0x0200},
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,
7130 0x01fe,
7131 0x01ff},
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,
7136 0x01fc,
7137 0x01fd},
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,
7142 0x01fb,
7143 0x01fc},
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,
7148 0x01fa,
7149 0x01fb},
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,
7154 0x01f9,
7155 0x01fa},
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,
7160 0x01f8,
7161 0x01f9},
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,
7166 0x01f7,
7167 0x01f8},
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,
7172 0x01f6,
7173 0x01f7},
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,
7178 0x01f5,
7179 0x01f6},
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,
7184 0x01f4,
7185 0x01f5},
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,
7190 0x01f3,
7191 0x01f4},
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,
7196 0x01f2,
7197 0x01f3},
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,
7202 0x01f1,
7203 0x01f2},
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,
7208 0x01f0,
7209 0x01f1},
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,
7214 0x01f0,
7215 0x01f0},
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,
7220 0x01ef,
7221 0x01f0},
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,
7226 0x01ee,
7227 0x01ef},
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,
7232 0x01ed,
7233 0x01ee},
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,
7238 0x01ec,
7239 0x01ed},
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,
7244 0x01eb,
7245 0x01ec},
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,
7250 0x01ea,
7251 0x01eb},
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,
7256 0x01e9,
7257 0x01ea},
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,
7262 0x01e8,
7263 0x01e9},
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,
7268 0x01e7,
7269 0x01e8},
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,
7274 0x01e6,
7275 0x01e7},
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,
7280 0x01e5,
7281 0x01e6},
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,
7286 0x01e5,
7287 0x01e5},
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,
7292 0x01e4,
7293 0x01e5},
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,
7298 0x01e3,
7299 0x01e4},
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,
7304 0x01e2,
7305 0x01e3},
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,
7310 0x01e1,
7311 0x01e2},
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,
7316 0x01e0,
7317 0x01e1},
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,
7322 0x01df,
7323 0x01e0},
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,
7328 0x01de,
7329 0x01df},
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,
7334 0x01dd,
7335 0x01de},
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,
7340 0x01dd,
7341 0x01dd},
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,
7346 0x01dc,
7347 0x01dd},
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,
7352 0x01db,
7353 0x01dc},
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,
7358 0x01da,
7359 0x01db},
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,
7364 0x01d9,
7365 0x01da},
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,
7370 0x01d8,
7371 0x01d9},
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,
7376 0x01d7,
7377 0x01d8},
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,
7382 0x01d7,
7383 0x01d7},
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,
7388 0x01d6,
7389 0x01d7},
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,
7394 0x01d5,
7395 0x01d6},
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,
7400 0x01d4,
7401 0x01d5},
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,
7406 0x01d3,
7407 0x01d4},
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,
7412 0x01d2,
7413 0x01d3},
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,
7418 0x01d2,
7419 0x01d2},
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,
7424 0x01d1,
7425 0x01d2},
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,
7430 0x01d0,
7431 0x01d1},
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,
7436 0x01cf,
7437 0x01d0},
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,
7442 0x01ce,
7443 0x01cf},
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,
7448 0x01ce,
7449 0x01ce},
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,
7454 0x01cd,
7455 0x01ce},
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,
7460 0x01cc,
7461 0x01cd},
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,
7466 0x01cb,
7467 0x01cc},
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,
7472 0x01ca,
7473 0x01cb},
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,
7478 0x01ca,
7479 0x01cb},
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,
7484 0x01c9,
7485 0x01ca},
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,
7490 0x01c9,
7491 0x01ca},
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,
7496 0x01c9,
7497 0x01c9},
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,
7502 0x01c8,
7503 0x01c9},
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,
7508 0x01c8,
7509 0x01c9},
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,
7514 0x01c8,
7515 0x01c8},
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,
7520 0x01c7,
7521 0x01c8},
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,
7526 0x01c7,
7527 0x01c8},
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,
7532 0x01c6,
7533 0x01c7},
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,
7538 0x01c6,
7539 0x01c7},
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,
7544 0x01c6,
7545 0x01c6},
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,
7550 0x01c5,
7551 0x01c6},
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,
7556 0x01c5,
7557 0x01c6},
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,
7562 0x01c4,
7563 0x01c5},
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,
7568 0x01c4,
7569 0x01c5},
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,
7574 0x01c4,
7575 0x01c4},
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,
7580 0x01c3,
7581 0x01c4},
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,
7586 0x01c3,
7587 0x01c4},
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,
7592 0x01c2,
7593 0x01c3},
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,
7598 0x01c2,
7599 0x01c3},
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,
7604 0x01c2,
7605 0x01c2},
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,
7610 0x01c1,
7611 0x01c2},
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,
7616 0x01c0,
7617 0x01c1},
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,
7622 0x01bf,
7623 0x01c0},
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,
7628 0x01bf,
7629 0x01bf},
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,
7634 0x01be,
7635 0x01bf},
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,
7640 0x01bd,
7641 0x01be},
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,
7646 0x01bc,
7647 0x01bd},
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,
7652 0x043f,
7653 0x0443},
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,
7658 0x043d,
7659 0x0441},
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,
7664 0x043a,
7665 0x043f},
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,
7670 0x0438,
7671 0x043d},
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,
7676 0x0436,
7677 0x043a},
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,
7682 0x0434,
7683 0x0438},
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,
7688 0x0431,
7689 0x0436},
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,
7694 0x042f,
7695 0x0434},
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,
7700 0x042d,
7701 0x0431},
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,
7706 0x042b,
7707 0x042f},
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,
7712 0x0429,
7713 0x042d},
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,
7718 0x0427,
7719 0x042b},
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,
7724 0x0424,
7725 0x0429},
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,
7730 0x041f,
7731 0x0424}
7734 radio_regs_t regs_2055[] = {
7735 {0x02, 0x80, 0x80, 0, 0},
7736 {0x03, 0, 0, 0, 0},
7737 {0x04, 0x27, 0x27, 0, 0},
7738 {0x05, 0, 0, 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},
7752 {0x13, 0, 0, 0, 0},
7753 {0x14, 0x40, 0x40, 0, 0},
7754 {0x15, 0, 0, 0, 0},
7755 {0x16, 0, 0, 0, 0},
7756 {0x17, 0, 0, 0, 0},
7757 {0x18, 0, 0, 0, 0},
7758 {0x19, 0, 0, 0, 0},
7759 {0x1A, 0, 0, 0, 0},
7760 {0x1B, 0, 0, 0, 0},
7761 {0x1C, 0, 0, 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},
7767 {0x22, 0, 0, 0, 0},
7768 {0x23, 0x2c, 0x2c, 0, 0},
7769 {0x24, 0, 0, 0, 0},
7770 {0x25, 0, 0, 0, 0},
7771 {0x26, 0, 0, 0, 0},
7772 {0x27, 0, 0, 0, 0},
7773 {0x28, 0, 0, 0, 0},
7774 {0x29, 0, 0, 0, 0},
7775 {0x2A, 0, 0, 0, 0},
7776 {0x2B, 0, 0, 0, 0},
7777 {0x2C, 0, 0, 0, 0},
7778 {0x2D, 0xa4, 0xa4, 0, 0},
7779 {0x2E, 0x38, 0x38, 0, 0},
7780 {0x2F, 0, 0, 0, 0},
7781 {0x30, 0x4, 0x4, 1, 1},
7782 {0x31, 0, 0, 0, 0},
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},
7796 {0x3F, 0, 0, 0, 0},
7797 {0x40, 0, 0, 0, 0},
7798 {0x41, 0, 0, 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},
7808 {0x4B, 0, 0, 0, 0},
7809 {0x4C, 0, 0, 0, 0},
7810 {0x4D, 0, 0, 0, 0},
7811 {0x4E, 0, 0, 0, 0},
7812 {0x4F, 0, 0, 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},
7823 {0x5A, 0, 0, 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},
7833 {0x64, 0, 0, 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},
7853 {0x78, 0, 0, 0, 0},
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},
7872 {0x8B, 0, 0, 0, 0},
7873 {0x8C, 0x4a, 0x4a, 0, 0},
7874 {0x8D, 0, 0, 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},
7880 {0x93, 0, 0, 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},
7900 {0xA7, 0, 0, 0, 0},
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},
7919 {0xBA, 0, 0, 0, 0},
7920 {0xBB, 0x4a, 0x4a, 0, 0},
7921 {0xBC, 0, 0, 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},
7932 {0xC7, 0, 0, 0, 0},
7933 {0xC8, 0, 0, 0, 0},
7934 {0xC9, 0, 0, 0, 0},
7935 {0xCA, 0, 0, 0, 0},
7936 {0xCB, 0, 0, 0, 0},
7937 {0xCC, 0, 0, 0, 0},
7938 {0xCD, 0, 0, 0, 0},
7939 {0xCE, 0x6, 0x6, 0, 0},
7940 {0xCF, 0, 0, 0, 0},
7941 {0xD0, 0, 0, 0, 0},
7942 {0xD1, 0x18, 0x18, 0, 0},
7943 {0xD2, 0x88, 0x88, 0, 0},
7944 {0xD3, 0, 0, 0, 0},
7945 {0xD4, 0, 0, 0, 0},
7946 {0xD5, 0, 0, 0, 0},
7947 {0xD6, 0, 0, 0, 0},
7948 {0xD7, 0, 0, 0, 0},
7949 {0xD8, 0, 0, 0, 0},
7950 {0xD9, 0, 0, 0, 0},
7951 {0xDA, 0x6, 0x6, 0, 0},
7952 {0xDB, 0, 0, 0, 0},
7953 {0xDC, 0, 0, 0, 0},
7954 {0xDD, 0x18, 0x18, 0, 0},
7955 {0xDE, 0x88, 0x88, 0, 0},
7956 {0xDF, 0, 0, 0, 0},
7957 {0xE0, 0, 0, 0, 0},
7958 {0xE1, 0, 0, 0, 0},
7959 {0xE2, 0, 0, 0, 0},
7960 {0xFFFF, 0, 0, 0, 0},
7963 radio_regs_t regs_SYN_2056[] = {
7964 {0x02, 0, 0, 0, 0},
7965 {0x03, 0, 0, 0, 0},
7966 {0x04, 0, 0, 0, 0},
7967 {0x05, 0, 0, 0, 0},
7968 {0x06, 0, 0, 0, 0},
7969 {0x07, 0, 0, 0, 0},
7970 {0x08, 0, 0, 0, 0},
7971 {0x09, 0x1, 0x1, 0, 0},
7972 {0x0A, 0, 0, 0, 0},
7973 {0x0B, 0, 0, 0, 0},
7974 {0x0C, 0, 0, 0, 0},
7975 {0x0D, 0, 0, 0, 0},
7976 {0x0E, 0, 0, 0, 0},
7977 {0x0F, 0, 0, 0, 0},
7978 {0x10, 0, 0, 0, 0},
7979 {0x11, 0, 0, 0, 0},
7980 {0x12, 0, 0, 0, 0},
7981 {0x13, 0, 0, 0, 0},
7982 {0x14, 0, 0, 0, 0},
7983 {0x15, 0, 0, 0, 0},
7984 {0x16, 0, 0, 0, 0},
7985 {0x17, 0, 0, 0, 0},
7986 {0x18, 0, 0, 0, 0},
7987 {0x19, 0, 0, 0, 0},
7988 {0x1A, 0, 0, 0, 0},
7989 {0x1B, 0, 0, 0, 0},
7990 {0x1C, 0, 0, 0, 0},
7991 {0x1D, 0, 0, 0, 0},
7992 {0x1E, 0, 0, 0, 0},
7993 {0x1F, 0, 0, 0, 0},
7994 {0x20, 0, 0, 0, 0},
7995 {0x21, 0, 0, 0, 0},
7996 {0x22, 0x60, 0x60, 0, 0},
7997 {0x23, 0x6, 0x6, 0, 0},
7998 {0x24, 0xc, 0xc, 0, 0},
7999 {0x25, 0, 0, 0, 0},
8000 {0x26, 0, 0, 0, 0},
8001 {0x27, 0, 0, 0, 0},
8002 {0x28, 0x1, 0x1, 0, 0},
8003 {0x29, 0, 0, 0, 0},
8004 {0x2A, 0, 0, 0, 0},
8005 {0x2B, 0, 0, 0, 0},
8006 {0x2C, 0, 0, 0, 0},
8007 {0x2D, 0, 0, 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},
8012 {0x32, 0, 0, 0, 0},
8013 {0x33, 0, 0, 0, 0},
8014 {0x34, 0, 0, 0, 0},
8015 {0x35, 0, 0, 0, 0},
8016 {0x36, 0, 0, 0, 0},
8017 {0x37, 0, 0, 0, 0},
8018 {0x38, 0, 0, 0, 0},
8019 {0x39, 0, 0, 0, 0},
8020 {0x3A, 0, 0, 0, 0},
8021 {0x3B, 0, 0, 0, 0},
8022 {0x3C, 0x13, 0x13, 0, 0},
8023 {0x3D, 0xf, 0xf, 0, 0},
8024 {0x3E, 0x18, 0x18, 0, 0},
8025 {0x3F, 0, 0, 0, 0},
8026 {0x40, 0, 0, 0, 0},
8027 {0x41, 0x20, 0x20, 0, 0},
8028 {0x42, 0x20, 0x20, 0, 0},
8029 {0x43, 0, 0, 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},
8048 {0x56, 0, 0, 0, 0},
8049 {0x57, 0, 0, 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},
8056 {0x5E, 0, 0, 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},
8061 {0x63, 0, 0, 0, 0},
8062 {0x64, 0, 0, 0, 0},
8063 {0x65, 0, 0, 0, 0},
8064 {0x66, 0, 0, 0, 0},
8065 {0x67, 0, 0, 0, 0},
8066 {0x68, 0x40, 0x40, 0, 0},
8067 {0x69, 0, 0, 0, 0},
8068 {0x6A, 0, 0, 0, 0},
8069 {0x6B, 0, 0, 0, 0},
8070 {0x6C, 0, 0, 0, 0},
8071 {0x6D, 0x1, 0x1, 0, 0},
8072 {0x6E, 0, 0, 0, 0},
8073 {0x6F, 0, 0, 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},
8079 {0x75, 0, 0, 0, 0},
8080 {0x76, 0xcc, 0xcc, 0, 0},
8081 {0x77, 0x1, 0x1, 0, 0},
8082 {0x78, 0x66, 0x66, 0, 0},
8083 {0x79, 0x66, 0x66, 0, 0},
8084 {0x7A, 0, 0, 0, 0},
8085 {0x7B, 0, 0, 0, 0},
8086 {0x7C, 0, 0, 0, 0},
8087 {0x7D, 0, 0, 0, 0},
8088 {0x7E, 0, 0, 0, 0},
8089 {0x7F, 0, 0, 0, 0},
8090 {0x80, 0, 0, 0, 0},
8091 {0x81, 0, 0, 0, 0},
8092 {0x82, 0, 0, 0, 0},
8093 {0x83, 0, 0, 0, 0},
8094 {0x84, 0, 0, 0, 0},
8095 {0x85, 0xff, 0xff, 0, 0},
8096 {0x86, 0, 0, 0, 0},
8097 {0x87, 0, 0, 0, 0},
8098 {0x88, 0, 0, 0, 0},
8099 {0x89, 0, 0, 0, 0},
8100 {0x8A, 0, 0, 0, 0},
8101 {0x8B, 0, 0, 0, 0},
8102 {0x8C, 0, 0, 0, 0},
8103 {0x8D, 0, 0, 0, 0},
8104 {0x8E, 0, 0, 0, 0},
8105 {0x8F, 0, 0, 0, 0},
8106 {0x90, 0, 0, 0, 0},
8107 {0x91, 0, 0, 0, 0},
8108 {0x92, 0, 0, 0, 0},
8109 {0x93, 0, 0, 0, 0},
8110 {0x94, 0, 0, 0, 0},
8111 {0x95, 0, 0, 0, 0},
8112 {0x96, 0, 0, 0, 0},
8113 {0x97, 0, 0, 0, 0},
8114 {0x98, 0, 0, 0, 0},
8115 {0x99, 0, 0, 0, 0},
8116 {0x9A, 0, 0, 0, 0},
8117 {0x9B, 0, 0, 0, 0},
8118 {0x9C, 0, 0, 0, 0},
8119 {0x9D, 0, 0, 0, 0},
8120 {0x9E, 0, 0, 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},
8142 {0xB4, 0, 0, 0, 0},
8143 {0xB5, 0, 0, 0, 0},
8144 {0xB6, 0, 0, 0, 0},
8145 {0xFFFF, 0, 0, 0, 0}
8148 radio_regs_t regs_TX_2056[] = {
8149 {0x02, 0, 0, 0, 0},
8150 {0x03, 0, 0, 0, 0},
8151 {0x04, 0, 0, 0, 0},
8152 {0x05, 0, 0, 0, 0},
8153 {0x06, 0, 0, 0, 0},
8154 {0x07, 0, 0, 0, 0},
8155 {0x08, 0, 0, 0, 0},
8156 {0x09, 0, 0, 0, 0},
8157 {0x0A, 0, 0, 0, 0},
8158 {0x0B, 0, 0, 0, 0},
8159 {0x0C, 0, 0, 0, 0},
8160 {0x0D, 0, 0, 0, 0},
8161 {0x0E, 0, 0, 0, 0},
8162 {0x0F, 0, 0, 0, 0},
8163 {0x10, 0, 0, 0, 0},
8164 {0x11, 0, 0, 0, 0},
8165 {0x12, 0, 0, 0, 0},
8166 {0x13, 0, 0, 0, 0},
8167 {0x14, 0, 0, 0, 0},
8168 {0x15, 0, 0, 0, 0},
8169 {0x16, 0, 0, 0, 0},
8170 {0x17, 0, 0, 0, 0},
8171 {0x18, 0, 0, 0, 0},
8172 {0x19, 0, 0, 0, 0},
8173 {0x1A, 0, 0, 0, 0},
8174 {0x1B, 0, 0, 0, 0},
8175 {0x1C, 0, 0, 0, 0},
8176 {0x1D, 0, 0, 0, 0},
8177 {0x1E, 0, 0, 0, 0},
8178 {0x1F, 0, 0, 0, 0},
8179 {0x20, 0, 0, 0, 0},
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},
8185 {0x26, 0, 0, 0, 0},
8186 {0x27, 0x3, 0x3, 0, 0},
8187 {0x28, 0, 0, 0, 0},
8188 {0x29, 0x3, 0x3, 0, 0},
8189 {0x2A, 0x37, 0x37, 0, 0},
8190 {0x2B, 0x3, 0x3, 0, 0},
8191 {0x2C, 0, 0, 0, 0},
8192 {0x2D, 0, 0, 0, 0},
8193 {0x2E, 0x1, 0x1, 0, 0},
8194 {0x2F, 0x1, 0x1, 0, 0},
8195 {0x30, 0, 0, 0, 0},
8196 {0x31, 0, 0, 0, 0},
8197 {0x32, 0, 0, 0, 0},
8198 {0x33, 0x11, 0x11, 0, 0},
8199 {0x34, 0x11, 0x11, 0, 0},
8200 {0x35, 0, 0, 0, 0},
8201 {0x36, 0, 0, 0, 0},
8202 {0x37, 0x3, 0x3, 0, 0},
8203 {0x38, 0xf, 0xf, 0, 0},
8204 {0x39, 0, 0, 0, 0},
8205 {0x3A, 0x2d, 0x2d, 0, 0},
8206 {0x3B, 0, 0, 0, 0},
8207 {0x3C, 0x6e, 0x6e, 0, 0},
8208 {0x3D, 0xf0, 0xf0, 1, 1},
8209 {0x3E, 0, 0, 0, 0},
8210 {0x3F, 0, 0, 0, 0},
8211 {0x40, 0, 0, 0, 0},
8212 {0x41, 0x3, 0x3, 0, 0},
8213 {0x42, 0x3, 0x3, 0, 0},
8214 {0x43, 0, 0, 0, 0},
8215 {0x44, 0x1e, 0x1e, 0, 0},
8216 {0x45, 0, 0, 0, 0},
8217 {0x46, 0x6e, 0x6e, 0, 0},
8218 {0x47, 0xf0, 0xf0, 1, 1},
8219 {0x48, 0, 0, 0, 0},
8220 {0x49, 0x2, 0x2, 0, 0},
8221 {0x4A, 0xff, 0xff, 1, 1},
8222 {0x4B, 0xc, 0xc, 0, 0},
8223 {0x4C, 0, 0, 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},
8229 {0x52, 0, 0, 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},
8234 {0x57, 0, 0, 0, 0},
8235 {0x58, 0x83, 0x83, 0, 0},
8236 {0x59, 0x77, 0x77, 1, 1},
8237 {0x5A, 0, 0, 0, 0},
8238 {0x5B, 0x2, 0x2, 0, 0},
8239 {0x5C, 0x88, 0x88, 0, 0},
8240 {0x5D, 0, 0, 0, 0},
8241 {0x5E, 0x8, 0x8, 0, 0},
8242 {0x5F, 0x77, 0x77, 1, 1},
8243 {0x60, 0x1, 0x1, 0, 0},
8244 {0x61, 0, 0, 0, 0},
8245 {0x62, 0x7, 0x7, 0, 0},
8246 {0x63, 0, 0, 0, 0},
8247 {0x64, 0x7, 0x7, 0, 0},
8248 {0x65, 0, 0, 0, 0},
8249 {0x66, 0, 0, 0, 0},
8250 {0x67, 0x74, 0x74, 1, 1},
8251 {0x68, 0, 0, 0, 0},
8252 {0x69, 0xa, 0xa, 0, 0},
8253 {0x6A, 0, 0, 0, 0},
8254 {0x6B, 0, 0, 0, 0},
8255 {0x6C, 0, 0, 0, 0},
8256 {0x6D, 0, 0, 0, 0},
8257 {0x6E, 0, 0, 0, 0},
8258 {0x6F, 0, 0, 0, 0},
8259 {0x70, 0, 0, 0, 0},
8260 {0x71, 0x2, 0x2, 0, 0},
8261 {0x72, 0, 0, 0, 0},
8262 {0x73, 0, 0, 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},
8272 {0x7D, 0, 0, 0, 0},
8273 {0x7E, 0, 0, 0, 0},
8274 {0x7F, 0, 0, 0, 0},
8275 {0x80, 0, 0, 0, 0},
8276 {0x81, 0, 0, 0, 0},
8277 {0x82, 0, 0, 0, 0},
8278 {0x83, 0, 0, 0, 0},
8279 {0x84, 0, 0, 0, 0},
8280 {0x85, 0, 0, 0, 0},
8281 {0x86, 0, 0, 0, 0},
8282 {0x87, 0, 0, 0, 0},
8283 {0x88, 0, 0, 0, 0},
8284 {0x89, 0, 0, 0, 0},
8285 {0x8A, 0, 0, 0, 0},
8286 {0x8B, 0, 0, 0, 0},
8287 {0x8C, 0, 0, 0, 0},
8288 {0x8D, 0, 0, 0, 0},
8289 {0x8E, 0, 0, 0, 0},
8290 {0x8F, 0, 0, 0, 0},
8291 {0x90, 0, 0, 0, 0},
8292 {0x91, 0, 0, 0, 0},
8293 {0x92, 0, 0, 0, 0},
8294 {0xFFFF, 0, 0, 0, 0}
8297 radio_regs_t regs_RX_2056[] = {
8298 {0x02, 0, 0, 0, 0},
8299 {0x03, 0, 0, 0, 0},
8300 {0x04, 0, 0, 0, 0},
8301 {0x05, 0, 0, 0, 0},
8302 {0x06, 0, 0, 0, 0},
8303 {0x07, 0, 0, 0, 0},
8304 {0x08, 0, 0, 0, 0},
8305 {0x09, 0, 0, 0, 0},
8306 {0x0A, 0, 0, 0, 0},
8307 {0x0B, 0, 0, 0, 0},
8308 {0x0C, 0, 0, 0, 0},
8309 {0x0D, 0, 0, 0, 0},
8310 {0x0E, 0, 0, 0, 0},
8311 {0x0F, 0, 0, 0, 0},
8312 {0x10, 0, 0, 0, 0},
8313 {0x11, 0, 0, 0, 0},
8314 {0x12, 0, 0, 0, 0},
8315 {0x13, 0, 0, 0, 0},
8316 {0x14, 0, 0, 0, 0},
8317 {0x15, 0, 0, 0, 0},
8318 {0x16, 0, 0, 0, 0},
8319 {0x17, 0, 0, 0, 0},
8320 {0x18, 0, 0, 0, 0},
8321 {0x19, 0, 0, 0, 0},
8322 {0x1A, 0, 0, 0, 0},
8323 {0x1B, 0, 0, 0, 0},
8324 {0x1C, 0, 0, 0, 0},
8325 {0x1D, 0, 0, 0, 0},
8326 {0x1E, 0, 0, 0, 0},
8327 {0x1F, 0, 0, 0, 0},
8328 {0x20, 0x3, 0x3, 0, 0},
8329 {0x21, 0, 0, 0, 0},
8330 {0x22, 0, 0, 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},
8340 {0x2C, 0, 0, 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},
8347 {0x33, 0, 0, 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},
8356 {0x3C, 0, 0, 0, 0},
8357 {0x3D, 0x44, 0x44, 1, 1},
8358 {0x3E, 0, 0, 0, 0},
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},
8366 {0x46, 0, 0, 0, 0},
8367 {0x47, 0x11, 0x11, 0, 0},
8368 {0x48, 0, 0, 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},
8373 {0x4D, 0, 0, 0, 0},
8374 {0x4E, 0, 0, 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},
8380 {0x54, 0, 0, 0, 0},
8381 {0x55, 0, 0, 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},
8395 {0x63, 0, 0, 0, 0},
8396 {0x64, 0, 0, 0, 0},
8397 {0x65, 0, 0, 0, 0},
8398 {0x66, 0, 0, 0, 0},
8399 {0x67, 0, 0, 0, 0},
8400 {0x68, 0, 0, 0, 0},
8401 {0x69, 0, 0, 0, 0},
8402 {0x6A, 0, 0, 0, 0},
8403 {0x6B, 0xc, 0xc, 0, 0},
8404 {0x6C, 0, 0, 0, 0},
8405 {0x6D, 0, 0, 0, 0},
8406 {0x6E, 0, 0, 0, 0},
8407 {0x6F, 0, 0, 0, 0},
8408 {0x70, 0, 0, 0, 0},
8409 {0x71, 0, 0, 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},
8417 {0x79, 0, 0, 0, 0},
8418 {0x7A, 0, 0, 0, 0},
8419 {0x7B, 0, 0, 0, 0},
8420 {0x7C, 0, 0, 0, 0},
8421 {0x7D, 0, 0, 0, 0},
8422 {0x7E, 0, 0, 0, 0},
8423 {0x7F, 0, 0, 0, 0},
8424 {0x80, 0, 0, 0, 0},
8425 {0x81, 0, 0, 0, 0},
8426 {0x82, 0, 0, 0, 0},
8427 {0x83, 0, 0, 0, 0},
8428 {0x84, 0, 0, 0, 0},
8429 {0x85, 0, 0, 0, 0},
8430 {0x86, 0, 0, 0, 0},
8431 {0x87, 0, 0, 0, 0},
8432 {0x88, 0, 0, 0, 0},
8433 {0x89, 0, 0, 0, 0},
8434 {0x8A, 0, 0, 0, 0},
8435 {0x8B, 0, 0, 0, 0},
8436 {0x8C, 0, 0, 0, 0},
8437 {0x8D, 0, 0, 0, 0},
8438 {0x8E, 0, 0, 0, 0},
8439 {0x8F, 0, 0, 0, 0},
8440 {0x90, 0, 0, 0, 0},
8441 {0x91, 0, 0, 0, 0},
8442 {0x92, 0, 0, 0, 0},
8443 {0x93, 0, 0, 0, 0},
8444 {0x94, 0, 0, 0, 0},
8445 {0xFFFF, 0, 0, 0, 0}
8448 radio_regs_t regs_SYN_2056_A1[] = {
8449 {0x02, 0, 0, 0, 0},
8450 {0x03, 0, 0, 0, 0},
8451 {0x04, 0, 0, 0, 0},
8452 {0x05, 0, 0, 0, 0},
8453 {0x06, 0, 0, 0, 0},
8454 {0x07, 0, 0, 0, 0},
8455 {0x08, 0, 0, 0, 0},
8456 {0x09, 0x1, 0x1, 0, 0},
8457 {0x0A, 0, 0, 0, 0},
8458 {0x0B, 0, 0, 0, 0},
8459 {0x0C, 0, 0, 0, 0},
8460 {0x0D, 0, 0, 0, 0},
8461 {0x0E, 0, 0, 0, 0},
8462 {0x0F, 0, 0, 0, 0},
8463 {0x10, 0, 0, 0, 0},
8464 {0x11, 0, 0, 0, 0},
8465 {0x12, 0, 0, 0, 0},
8466 {0x13, 0, 0, 0, 0},
8467 {0x14, 0, 0, 0, 0},
8468 {0x15, 0, 0, 0, 0},
8469 {0x16, 0, 0, 0, 0},
8470 {0x17, 0, 0, 0, 0},
8471 {0x18, 0, 0, 0, 0},
8472 {0x19, 0, 0, 0, 0},
8473 {0x1A, 0, 0, 0, 0},
8474 {0x1B, 0, 0, 0, 0},
8475 {0x1C, 0, 0, 0, 0},
8476 {0x1D, 0, 0, 0, 0},
8477 {0x1E, 0, 0, 0, 0},
8478 {0x1F, 0, 0, 0, 0},
8479 {0x20, 0, 0, 0, 0},
8480 {0x21, 0, 0, 0, 0},
8481 {0x22, 0x60, 0x60, 0, 0},
8482 {0x23, 0x6, 0x6, 0, 0},
8483 {0x24, 0xc, 0xc, 0, 0},
8484 {0x25, 0, 0, 0, 0},
8485 {0x26, 0, 0, 0, 0},
8486 {0x27, 0, 0, 0, 0},
8487 {0x28, 0x1, 0x1, 0, 0},
8488 {0x29, 0, 0, 0, 0},
8489 {0x2A, 0, 0, 0, 0},
8490 {0x2B, 0, 0, 0, 0},
8491 {0x2C, 0, 0, 0, 0},
8492 {0x2D, 0, 0, 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},
8497 {0x32, 0, 0, 0, 0},
8498 {0x33, 0, 0, 0, 0},
8499 {0x34, 0, 0, 0, 0},
8500 {0x35, 0, 0, 0, 0},
8501 {0x36, 0, 0, 0, 0},
8502 {0x37, 0, 0, 0, 0},
8503 {0x38, 0, 0, 0, 0},
8504 {0x39, 0, 0, 0, 0},
8505 {0x3A, 0, 0, 0, 0},
8506 {0x3B, 0, 0, 0, 0},
8507 {0x3C, 0x13, 0x13, 0, 0},
8508 {0x3D, 0xf, 0xf, 0, 0},
8509 {0x3E, 0x18, 0x18, 0, 0},
8510 {0x3F, 0, 0, 0, 0},
8511 {0x40, 0, 0, 0, 0},
8512 {0x41, 0x20, 0x20, 0, 0},
8513 {0x42, 0x20, 0x20, 0, 0},
8514 {0x43, 0, 0, 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},
8533 {0x56, 0, 0, 0, 0},
8534 {0x57, 0, 0, 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},
8541 {0x5E, 0, 0, 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},
8546 {0x63, 0, 0, 0, 0},
8547 {0x64, 0, 0, 0, 0},
8548 {0x65, 0, 0, 0, 0},
8549 {0x66, 0, 0, 0, 0},
8550 {0x67, 0, 0, 0, 0},
8551 {0x68, 0x40, 0x40, 0, 0},
8552 {0x69, 0, 0, 0, 0},
8553 {0x6A, 0, 0, 0, 0},
8554 {0x6B, 0, 0, 0, 0},
8555 {0x6C, 0, 0, 0, 0},
8556 {0x6D, 0x1, 0x1, 0, 0},
8557 {0x6E, 0, 0, 0, 0},
8558 {0x6F, 0, 0, 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},
8564 {0x75, 0, 0, 0, 0},
8565 {0x76, 0xcc, 0xcc, 0, 0},
8566 {0x77, 0x1, 0x1, 0, 0},
8567 {0x78, 0x66, 0x66, 0, 0},
8568 {0x79, 0x66, 0x66, 0, 0},
8569 {0x7A, 0, 0, 0, 0},
8570 {0x7B, 0, 0, 0, 0},
8571 {0x7C, 0, 0, 0, 0},
8572 {0x7D, 0, 0, 0, 0},
8573 {0x7E, 0, 0, 0, 0},
8574 {0x7F, 0, 0, 0, 0},
8575 {0x80, 0, 0, 0, 0},
8576 {0x81, 0, 0, 0, 0},
8577 {0x82, 0, 0, 0, 0},
8578 {0x83, 0, 0, 0, 0},
8579 {0x84, 0, 0, 0, 0},
8580 {0x85, 0xff, 0xff, 0, 0},
8581 {0x86, 0, 0, 0, 0},
8582 {0x87, 0, 0, 0, 0},
8583 {0x88, 0, 0, 0, 0},
8584 {0x89, 0, 0, 0, 0},
8585 {0x8A, 0, 0, 0, 0},
8586 {0x8B, 0, 0, 0, 0},
8587 {0x8C, 0, 0, 0, 0},
8588 {0x8D, 0, 0, 0, 0},
8589 {0x8E, 0, 0, 0, 0},
8590 {0x8F, 0, 0, 0, 0},
8591 {0x90, 0, 0, 0, 0},
8592 {0x91, 0, 0, 0, 0},
8593 {0x92, 0, 0, 0, 0},
8594 {0x93, 0, 0, 0, 0},
8595 {0x94, 0, 0, 0, 0},
8596 {0x95, 0, 0, 0, 0},
8597 {0x96, 0, 0, 0, 0},
8598 {0x97, 0, 0, 0, 0},
8599 {0x98, 0, 0, 0, 0},
8600 {0x99, 0, 0, 0, 0},
8601 {0x9A, 0, 0, 0, 0},
8602 {0x9B, 0, 0, 0, 0},
8603 {0x9C, 0, 0, 0, 0},
8604 {0x9D, 0, 0, 0, 0},
8605 {0x9E, 0, 0, 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},
8627 {0xB4, 0, 0, 0, 0},
8628 {0xB5, 0, 0, 0, 0},
8629 {0xB6, 0, 0, 0, 0},
8630 {0xFFFF, 0, 0, 0, 0}
8633 radio_regs_t regs_TX_2056_A1[] = {
8634 {0x02, 0, 0, 0, 0},
8635 {0x03, 0, 0, 0, 0},
8636 {0x04, 0, 0, 0, 0},
8637 {0x05, 0, 0, 0, 0},
8638 {0x06, 0, 0, 0, 0},
8639 {0x07, 0, 0, 0, 0},
8640 {0x08, 0, 0, 0, 0},
8641 {0x09, 0, 0, 0, 0},
8642 {0x0A, 0, 0, 0, 0},
8643 {0x0B, 0, 0, 0, 0},
8644 {0x0C, 0, 0, 0, 0},
8645 {0x0D, 0, 0, 0, 0},
8646 {0x0E, 0, 0, 0, 0},
8647 {0x0F, 0, 0, 0, 0},
8648 {0x10, 0, 0, 0, 0},
8649 {0x11, 0, 0, 0, 0},
8650 {0x12, 0, 0, 0, 0},
8651 {0x13, 0, 0, 0, 0},
8652 {0x14, 0, 0, 0, 0},
8653 {0x15, 0, 0, 0, 0},
8654 {0x16, 0, 0, 0, 0},
8655 {0x17, 0, 0, 0, 0},
8656 {0x18, 0, 0, 0, 0},
8657 {0x19, 0, 0, 0, 0},
8658 {0x1A, 0, 0, 0, 0},
8659 {0x1B, 0, 0, 0, 0},
8660 {0x1C, 0, 0, 0, 0},
8661 {0x1D, 0, 0, 0, 0},
8662 {0x1E, 0, 0, 0, 0},
8663 {0x1F, 0, 0, 0, 0},
8664 {0x20, 0, 0, 0, 0},
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},
8670 {0x26, 0, 0, 0, 0},
8671 {0x27, 0x3, 0x3, 0, 0},
8672 {0x28, 0, 0, 0, 0},
8673 {0x29, 0x3, 0x3, 0, 0},
8674 {0x2A, 0x37, 0x37, 0, 0},
8675 {0x2B, 0x3, 0x3, 0, 0},
8676 {0x2C, 0, 0, 0, 0},
8677 {0x2D, 0, 0, 0, 0},
8678 {0x2E, 0x1, 0x1, 0, 0},
8679 {0x2F, 0x1, 0x1, 0, 0},
8680 {0x30, 0, 0, 0, 0},
8681 {0x31, 0, 0, 0, 0},
8682 {0x32, 0, 0, 0, 0},
8683 {0x33, 0x11, 0x11, 0, 0},
8684 {0x34, 0x11, 0x11, 0, 0},
8685 {0x35, 0, 0, 0, 0},
8686 {0x36, 0, 0, 0, 0},
8687 {0x37, 0x3, 0x3, 0, 0},
8688 {0x38, 0xf, 0xf, 0, 0},
8689 {0x39, 0, 0, 0, 0},
8690 {0x3A, 0x2d, 0x2d, 0, 0},
8691 {0x3B, 0, 0, 0, 0},
8692 {0x3C, 0x6e, 0x6e, 0, 0},
8693 {0x3D, 0xf0, 0xf0, 1, 1},
8694 {0x3E, 0, 0, 0, 0},
8695 {0x3F, 0, 0, 0, 0},
8696 {0x40, 0, 0, 0, 0},
8697 {0x41, 0x3, 0x3, 0, 0},
8698 {0x42, 0x3, 0x3, 0, 0},
8699 {0x43, 0, 0, 0, 0},
8700 {0x44, 0x1e, 0x1e, 0, 0},
8701 {0x45, 0, 0, 0, 0},
8702 {0x46, 0x6e, 0x6e, 0, 0},
8703 {0x47, 0xf0, 0xf0, 1, 1},
8704 {0x48, 0, 0, 0, 0},
8705 {0x49, 0x2, 0x2, 0, 0},
8706 {0x4A, 0xff, 0xff, 1, 1},
8707 {0x4B, 0xc, 0xc, 0, 0},
8708 {0x4C, 0, 0, 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},
8714 {0x52, 0, 0, 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},
8719 {0x57, 0, 0, 0, 0},
8720 {0x58, 0x83, 0x83, 0, 0},
8721 {0x59, 0x77, 0x77, 1, 1},
8722 {0x5A, 0, 0, 0, 0},
8723 {0x5B, 0x2, 0x2, 0, 0},
8724 {0x5C, 0x88, 0x88, 0, 0},
8725 {0x5D, 0, 0, 0, 0},
8726 {0x5E, 0x8, 0x8, 0, 0},
8727 {0x5F, 0x77, 0x77, 1, 1},
8728 {0x60, 0x1, 0x1, 0, 0},
8729 {0x61, 0, 0, 0, 0},
8730 {0x62, 0x7, 0x7, 0, 0},
8731 {0x63, 0, 0, 0, 0},
8732 {0x64, 0x7, 0x7, 0, 0},
8733 {0x65, 0, 0, 0, 0},
8734 {0x66, 0, 0, 0, 0},
8735 {0x67, 0x72, 0x72, 1, 1},
8736 {0x68, 0, 0, 0, 0},
8737 {0x69, 0xa, 0xa, 0, 0},
8738 {0x6A, 0, 0, 0, 0},
8739 {0x6B, 0, 0, 0, 0},
8740 {0x6C, 0, 0, 0, 0},
8741 {0x6D, 0, 0, 0, 0},
8742 {0x6E, 0, 0, 0, 0},
8743 {0x6F, 0, 0, 0, 0},
8744 {0x70, 0, 0, 0, 0},
8745 {0x71, 0x2, 0x2, 0, 0},
8746 {0x72, 0, 0, 0, 0},
8747 {0x73, 0, 0, 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},
8757 {0x7D, 0, 0, 0, 0},
8758 {0x7E, 0, 0, 0, 0},
8759 {0x7F, 0, 0, 0, 0},
8760 {0x80, 0, 0, 0, 0},
8761 {0x81, 0, 0, 0, 0},
8762 {0x82, 0, 0, 0, 0},
8763 {0x83, 0, 0, 0, 0},
8764 {0x84, 0, 0, 0, 0},
8765 {0x85, 0, 0, 0, 0},
8766 {0x86, 0, 0, 0, 0},
8767 {0x87, 0, 0, 0, 0},
8768 {0x88, 0, 0, 0, 0},
8769 {0x89, 0, 0, 0, 0},
8770 {0x8A, 0, 0, 0, 0},
8771 {0x8B, 0, 0, 0, 0},
8772 {0x8C, 0, 0, 0, 0},
8773 {0x8D, 0, 0, 0, 0},
8774 {0x8E, 0, 0, 0, 0},
8775 {0x8F, 0, 0, 0, 0},
8776 {0x90, 0, 0, 0, 0},
8777 {0x91, 0, 0, 0, 0},
8778 {0x92, 0, 0, 0, 0},
8779 {0xFFFF, 0, 0, 0, 0}
8782 radio_regs_t regs_RX_2056_A1[] = {
8783 {0x02, 0, 0, 0, 0},
8784 {0x03, 0, 0, 0, 0},
8785 {0x04, 0, 0, 0, 0},
8786 {0x05, 0, 0, 0, 0},
8787 {0x06, 0, 0, 0, 0},
8788 {0x07, 0, 0, 0, 0},
8789 {0x08, 0, 0, 0, 0},
8790 {0x09, 0, 0, 0, 0},
8791 {0x0A, 0, 0, 0, 0},
8792 {0x0B, 0, 0, 0, 0},
8793 {0x0C, 0, 0, 0, 0},
8794 {0x0D, 0, 0, 0, 0},
8795 {0x0E, 0, 0, 0, 0},
8796 {0x0F, 0, 0, 0, 0},
8797 {0x10, 0, 0, 0, 0},
8798 {0x11, 0, 0, 0, 0},
8799 {0x12, 0, 0, 0, 0},
8800 {0x13, 0, 0, 0, 0},
8801 {0x14, 0, 0, 0, 0},
8802 {0x15, 0, 0, 0, 0},
8803 {0x16, 0, 0, 0, 0},
8804 {0x17, 0, 0, 0, 0},
8805 {0x18, 0, 0, 0, 0},
8806 {0x19, 0, 0, 0, 0},
8807 {0x1A, 0, 0, 0, 0},
8808 {0x1B, 0, 0, 0, 0},
8809 {0x1C, 0, 0, 0, 0},
8810 {0x1D, 0, 0, 0, 0},
8811 {0x1E, 0, 0, 0, 0},
8812 {0x1F, 0, 0, 0, 0},
8813 {0x20, 0x3, 0x3, 0, 0},
8814 {0x21, 0, 0, 0, 0},
8815 {0x22, 0, 0, 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},
8825 {0x2C, 0, 0, 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},
8832 {0x33, 0, 0, 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},
8841 {0x3C, 0, 0, 0, 0},
8842 {0x3D, 0x44, 0x44, 1, 1},
8843 {0x3E, 0, 0, 0, 0},
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},
8851 {0x46, 0, 0, 0, 0},
8852 {0x47, 0x11, 0x11, 0, 0},
8853 {0x48, 0, 0, 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},
8858 {0x4D, 0, 0, 0, 0},
8859 {0x4E, 0, 0, 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},
8865 {0x54, 0, 0, 0, 0},
8866 {0x55, 0, 0, 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},
8880 {0x63, 0, 0, 0, 0},
8881 {0x64, 0, 0, 0, 0},
8882 {0x65, 0, 0, 0, 0},
8883 {0x66, 0, 0, 0, 0},
8884 {0x67, 0, 0, 0, 0},
8885 {0x68, 0, 0, 0, 0},
8886 {0x69, 0, 0, 0, 0},
8887 {0x6A, 0, 0, 0, 0},
8888 {0x6B, 0xc, 0xc, 0, 0},
8889 {0x6C, 0, 0, 0, 0},
8890 {0x6D, 0, 0, 0, 0},
8891 {0x6E, 0, 0, 0, 0},
8892 {0x6F, 0, 0, 0, 0},
8893 {0x70, 0, 0, 0, 0},
8894 {0x71, 0, 0, 0, 0},
8895 {0x72, 0x22, 0x22, 0, 0},
8896 {0x73, 0x22, 0x22, 0, 0},
8897 {0x74, 0, 0, 1, 1},
8898 {0x75, 0xa, 0xa, 0, 0},
8899 {0x76, 0x1, 0x1, 0, 0},
8900 {0x77, 0x22, 0x22, 0, 0},
8901 {0x78, 0x30, 0x30, 0, 0},
8902 {0x79, 0, 0, 0, 0},
8903 {0x7A, 0, 0, 0, 0},
8904 {0x7B, 0, 0, 0, 0},
8905 {0x7C, 0, 0, 0, 0},
8906 {0x7D, 0, 0, 0, 0},
8907 {0x7E, 0, 0, 0, 0},
8908 {0x7F, 0, 0, 0, 0},
8909 {0x80, 0, 0, 0, 0},
8910 {0x81, 0, 0, 0, 0},
8911 {0x82, 0, 0, 0, 0},
8912 {0x83, 0, 0, 0, 0},
8913 {0x84, 0, 0, 0, 0},
8914 {0x85, 0, 0, 0, 0},
8915 {0x86, 0, 0, 0, 0},
8916 {0x87, 0, 0, 0, 0},
8917 {0x88, 0, 0, 0, 0},
8918 {0x89, 0, 0, 0, 0},
8919 {0x8A, 0, 0, 0, 0},
8920 {0x8B, 0, 0, 0, 0},
8921 {0x8C, 0, 0, 0, 0},
8922 {0x8D, 0, 0, 0, 0},
8923 {0x8E, 0, 0, 0, 0},
8924 {0x8F, 0, 0, 0, 0},
8925 {0x90, 0, 0, 0, 0},
8926 {0x91, 0, 0, 0, 0},
8927 {0x92, 0, 0, 0, 0},
8928 {0x93, 0, 0, 0, 0},
8929 {0x94, 0, 0, 0, 0},
8930 {0xFFFF, 0, 0, 0, 0}
8933 radio_regs_t regs_SYN_2056_rev5[] = {
8934 {0x02, 0, 0, 0, 0},
8935 {0x03, 0, 0, 0, 0},
8936 {0x04, 0, 0, 0, 0},
8937 {0x05, 0, 0, 0, 0},
8938 {0x06, 0, 0, 0, 0},
8939 {0x07, 0, 0, 0, 0},
8940 {0x08, 0, 0, 0, 0},
8941 {0x09, 0x1, 0x1, 0, 0},
8942 {0x0A, 0, 0, 0, 0},
8943 {0x0B, 0, 0, 0, 0},
8944 {0x0C, 0, 0, 0, 0},
8945 {0x0D, 0, 0, 0, 0},
8946 {0x0E, 0, 0, 0, 0},
8947 {0x0F, 0, 0, 0, 0},
8948 {0x10, 0, 0, 0, 0},
8949 {0x11, 0, 0, 0, 0},
8950 {0x12, 0, 0, 0, 0},
8951 {0x13, 0, 0, 0, 0},
8952 {0x14, 0, 0, 0, 0},
8953 {0x15, 0, 0, 0, 0},
8954 {0x16, 0, 0, 0, 0},
8955 {0x17, 0, 0, 0, 0},
8956 {0x18, 0, 0, 0, 0},
8957 {0x19, 0, 0, 0, 0},
8958 {0x1A, 0, 0, 0, 0},
8959 {0x1B, 0, 0, 0, 0},
8960 {0x1C, 0, 0, 0, 0},
8961 {0x1D, 0, 0, 0, 0},
8962 {0x1E, 0, 0, 0, 0},
8963 {0x1F, 0, 0, 0, 0},
8964 {0x20, 0, 0, 0, 0},
8965 {0x21, 0, 0, 0, 0},
8966 {0x22, 0x60, 0x60, 0, 0},
8967 {0x23, 0x6, 0x6, 0, 0},
8968 {0x24, 0xc, 0xc, 0, 0},
8969 {0x25, 0, 0, 0, 0},
8970 {0x26, 0, 0, 0, 0},
8971 {0x27, 0, 0, 0, 0},
8972 {0x28, 0x1, 0x1, 0, 0},
8973 {0x29, 0, 0, 0, 0},
8974 {0x2A, 0, 0, 0, 0},
8975 {0x2B, 0, 0, 0, 0},
8976 {0x2C, 0, 0, 0, 0},
8977 {0x2D, 0, 0, 0, 0},
8978 {0x2E, 0, 0, 0, 0},
8979 {0x2F, 0x1f, 0x1f, 0, 0},
8980 {0x30, 0x15, 0x15, 0, 0},
8981 {0x31, 0xf, 0xf, 0, 0},
8982 {0x32, 0, 0, 0, 0},
8983 {0x33, 0, 0, 0, 0},
8984 {0x34, 0, 0, 0, 0},
8985 {0x35, 0, 0, 0, 0},
8986 {0x36, 0, 0, 0, 0},
8987 {0x37, 0, 0, 0, 0},
8988 {0x38, 0, 0, 0, 0},
8989 {0x39, 0, 0, 0, 0},
8990 {0x3A, 0, 0, 0, 0},
8991 {0x3B, 0, 0, 0, 0},
8992 {0x3C, 0x13, 0x13, 0, 0},
8993 {0x3D, 0xf, 0xf, 0, 0},
8994 {0x3E, 0x18, 0x18, 0, 0},
8995 {0x3F, 0, 0, 0, 0},
8996 {0x40, 0, 0, 0, 0},
8997 {0x41, 0x20, 0x20, 0, 0},
8998 {0x42, 0x20, 0x20, 0, 0},
8999 {0x43, 0, 0, 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},
9018 {0x56, 0, 0, 0, 0},
9019 {0x57, 0, 0, 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},
9026 {0x5E, 0, 0, 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},
9031 {0x63, 0, 0, 0, 0},
9032 {0x64, 0, 0, 0, 0},
9033 {0x65, 0, 0, 0, 0},
9034 {0x66, 0, 0, 0, 0},
9035 {0x67, 0, 0, 0, 0},
9036 {0x68, 0x40, 0x40, 0, 0},
9037 {0x69, 0, 0, 0, 0},
9038 {0x6A, 0, 0, 0, 0},
9039 {0x6B, 0, 0, 0, 0},
9040 {0x6C, 0, 0, 0, 0},
9041 {0x6D, 0x1, 0x1, 0, 0},
9042 {0x6E, 0, 0, 0, 0},
9043 {0x6F, 0, 0, 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},
9049 {0x75, 0, 0, 0, 0},
9050 {0x76, 0xcc, 0xcc, 0, 0},
9051 {0x77, 0x1, 0x1, 0, 0},
9052 {0x78, 0x66, 0x66, 0, 0},
9053 {0x79, 0x66, 0x66, 0, 0},
9054 {0x7A, 0, 0, 0, 0},
9055 {0x7B, 0, 0, 0, 0},
9056 {0x7C, 0, 0, 0, 0},
9057 {0x7D, 0, 0, 0, 0},
9058 {0x7E, 0, 0, 0, 0},
9059 {0x7F, 0, 0, 0, 0},
9060 {0x80, 0, 0, 0, 0},
9061 {0x81, 0, 0, 0, 0},
9062 {0x82, 0, 0, 0, 0},
9063 {0x83, 0, 0, 0, 0},
9064 {0x84, 0, 0, 0, 0},
9065 {0x85, 0xff, 0xff, 0, 0},
9066 {0x86, 0, 0, 0, 0},
9067 {0x87, 0, 0, 0, 0},
9068 {0x88, 0, 0, 0, 0},
9069 {0x89, 0, 0, 0, 0},
9070 {0x8A, 0, 0, 0, 0},
9071 {0x8B, 0, 0, 0, 0},
9072 {0x8C, 0, 0, 0, 0},
9073 {0x8D, 0, 0, 0, 0},
9074 {0x8E, 0, 0, 0, 0},
9075 {0x8F, 0, 0, 0, 0},
9076 {0x90, 0, 0, 0, 0},
9077 {0x91, 0, 0, 0, 0},
9078 {0x92, 0, 0, 0, 0},
9079 {0x93, 0, 0, 0, 0},
9080 {0x94, 0, 0, 0, 0},
9081 {0x95, 0, 0, 0, 0},
9082 {0x96, 0, 0, 0, 0},
9083 {0x97, 0, 0, 0, 0},
9084 {0x98, 0, 0, 0, 0},
9085 {0x99, 0, 0, 0, 0},
9086 {0x9A, 0, 0, 0, 0},
9087 {0x9B, 0, 0, 0, 0},
9088 {0x9C, 0, 0, 0, 0},
9089 {0x9D, 0, 0, 0, 0},
9090 {0x9E, 0, 0, 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},
9112 {0xB4, 0, 0, 0, 0},
9113 {0xB5, 0, 0, 0, 0},
9114 {0xB6, 0, 0, 0, 0},
9115 {0xFFFF, 0, 0, 0, 0}
9118 radio_regs_t regs_TX_2056_rev5[] = {
9119 {0x02, 0, 0, 0, 0},
9120 {0x03, 0, 0, 0, 0},
9121 {0x04, 0, 0, 0, 0},
9122 {0x05, 0, 0, 0, 0},
9123 {0x06, 0, 0, 0, 0},
9124 {0x07, 0, 0, 0, 0},
9125 {0x08, 0, 0, 0, 0},
9126 {0x09, 0, 0, 0, 0},
9127 {0x0A, 0, 0, 0, 0},
9128 {0x0B, 0, 0, 0, 0},
9129 {0x0C, 0, 0, 0, 0},
9130 {0x0D, 0, 0, 0, 0},
9131 {0x0E, 0, 0, 0, 0},
9132 {0x0F, 0, 0, 0, 0},
9133 {0x10, 0, 0, 0, 0},
9134 {0x11, 0, 0, 0, 0},
9135 {0x12, 0, 0, 0, 0},
9136 {0x13, 0, 0, 0, 0},
9137 {0x14, 0, 0, 0, 0},
9138 {0x15, 0, 0, 0, 0},
9139 {0x16, 0, 0, 0, 0},
9140 {0x17, 0, 0, 0, 0},
9141 {0x18, 0, 0, 0, 0},
9142 {0x19, 0, 0, 0, 0},
9143 {0x1A, 0, 0, 0, 0},
9144 {0x1B, 0, 0, 0, 0},
9145 {0x1C, 0, 0, 0, 0},
9146 {0x1D, 0, 0, 0, 0},
9147 {0x1E, 0, 0, 0, 0},
9148 {0x1F, 0, 0, 0, 0},
9149 {0x20, 0, 0, 0, 0},
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},
9155 {0x26, 0, 0, 0, 0},
9156 {0x27, 0x3, 0x3, 0, 0},
9157 {0x28, 0, 0, 0, 0},
9158 {0x29, 0x3, 0x3, 0, 0},
9159 {0x2A, 0x37, 0x37, 0, 0},
9160 {0x2B, 0x3, 0x3, 0, 0},
9161 {0x2C, 0, 0, 0, 0},
9162 {0x2D, 0, 0, 0, 0},
9163 {0x2E, 0x1, 0x1, 0, 0},
9164 {0x2F, 0x1, 0x1, 0, 0},
9165 {0x30, 0, 0, 0, 0},
9166 {0x31, 0, 0, 0, 0},
9167 {0x32, 0, 0, 0, 0},
9168 {0x33, 0x11, 0x11, 0, 0},
9169 {0x34, 0x11, 0x11, 0, 0},
9170 {0x35, 0, 0, 0, 0},
9171 {0x36, 0, 0, 0, 0},
9172 {0x37, 0x3, 0x3, 0, 0},
9173 {0x38, 0xf, 0xf, 0, 0},
9174 {0x39, 0, 0, 0, 0},
9175 {0x3A, 0x2d, 0x2d, 0, 0},
9176 {0x3B, 0, 0, 0, 0},
9177 {0x3C, 0x6e, 0x6e, 0, 0},
9178 {0x3D, 0xf0, 0xf0, 1, 1},
9179 {0x3E, 0, 0, 0, 0},
9180 {0x3F, 0, 0, 0, 0},
9181 {0x40, 0, 0, 0, 0},
9182 {0x41, 0x3, 0x3, 0, 0},
9183 {0x42, 0x3, 0x3, 0, 0},
9184 {0x43, 0, 0, 0, 0},
9185 {0x44, 0x1e, 0x1e, 0, 0},
9186 {0x45, 0, 0, 0, 0},
9187 {0x46, 0x6e, 0x6e, 0, 0},
9188 {0x47, 0xf0, 0xf0, 1, 1},
9189 {0x48, 0, 0, 0, 0},
9190 {0x49, 0x2, 0x2, 0, 0},
9191 {0x4A, 0xff, 0xff, 1, 1},
9192 {0x4B, 0xc, 0xc, 0, 0},
9193 {0x4C, 0, 0, 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},
9199 {0x52, 0, 0, 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},
9204 {0x57, 0, 0, 0, 0},
9205 {0x58, 0x83, 0x83, 0, 0},
9206 {0x59, 0x77, 0x77, 1, 1},
9207 {0x5A, 0, 0, 0, 0},
9208 {0x5B, 0x2, 0x2, 0, 0},
9209 {0x5C, 0x88, 0x88, 0, 0},
9210 {0x5D, 0, 0, 0, 0},
9211 {0x5E, 0x8, 0x8, 0, 0},
9212 {0x5F, 0x77, 0x77, 1, 1},
9213 {0x60, 0x1, 0x1, 0, 0},
9214 {0x61, 0, 0, 0, 0},
9215 {0x62, 0x7, 0x7, 0, 0},
9216 {0x63, 0, 0, 0, 0},
9217 {0x64, 0x7, 0x7, 0, 0},
9218 {0x65, 0, 0, 0, 0},
9219 {0x66, 0, 0, 0, 0},
9220 {0x67, 0, 0, 1, 1},
9221 {0x68, 0, 0, 0, 0},
9222 {0x69, 0xa, 0xa, 0, 0},
9223 {0x6A, 0, 0, 0, 0},
9224 {0x6B, 0, 0, 0, 0},
9225 {0x6C, 0, 0, 0, 0},
9226 {0x6D, 0, 0, 0, 0},
9227 {0x6E, 0, 0, 0, 0},
9228 {0x6F, 0, 0, 0, 0},
9229 {0x70, 0, 0, 0, 0},
9230 {0x71, 0x2, 0x2, 0, 0},
9231 {0x72, 0, 0, 0, 0},
9232 {0x73, 0, 0, 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},
9242 {0x7D, 0, 0, 0, 0},
9243 {0x7E, 0, 0, 0, 0},
9244 {0x7F, 0, 0, 0, 0},
9245 {0x80, 0, 0, 0, 0},
9246 {0x81, 0, 0, 0, 0},
9247 {0x82, 0, 0, 0, 0},
9248 {0x83, 0, 0, 0, 0},
9249 {0x84, 0, 0, 0, 0},
9250 {0x85, 0, 0, 0, 0},
9251 {0x86, 0, 0, 0, 0},
9252 {0x87, 0, 0, 0, 0},
9253 {0x88, 0, 0, 0, 0},
9254 {0x89, 0, 0, 0, 0},
9255 {0x8A, 0, 0, 0, 0},
9256 {0x8B, 0, 0, 0, 0},
9257 {0x8C, 0, 0, 0, 0},
9258 {0x8D, 0, 0, 0, 0},
9259 {0x8E, 0, 0, 0, 0},
9260 {0x8F, 0, 0, 0, 0},
9261 {0x90, 0, 0, 0, 0},
9262 {0x91, 0, 0, 0, 0},
9263 {0x92, 0, 0, 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[] = {
9276 {0x02, 0, 0, 0, 0},
9277 {0x03, 0, 0, 0, 0},
9278 {0x04, 0, 0, 0, 0},
9279 {0x05, 0, 0, 0, 0},
9280 {0x06, 0, 0, 0, 0},
9281 {0x07, 0, 0, 0, 0},
9282 {0x08, 0, 0, 0, 0},
9283 {0x09, 0, 0, 0, 0},
9284 {0x0A, 0, 0, 0, 0},
9285 {0x0B, 0, 0, 0, 0},
9286 {0x0C, 0, 0, 0, 0},
9287 {0x0D, 0, 0, 0, 0},
9288 {0x0E, 0, 0, 0, 0},
9289 {0x0F, 0, 0, 0, 0},
9290 {0x10, 0, 0, 0, 0},
9291 {0x11, 0, 0, 0, 0},
9292 {0x12, 0, 0, 0, 0},
9293 {0x13, 0, 0, 0, 0},
9294 {0x14, 0, 0, 0, 0},
9295 {0x15, 0, 0, 0, 0},
9296 {0x16, 0, 0, 0, 0},
9297 {0x17, 0, 0, 0, 0},
9298 {0x18, 0, 0, 0, 0},
9299 {0x19, 0, 0, 0, 0},
9300 {0x1A, 0, 0, 0, 0},
9301 {0x1B, 0, 0, 0, 0},
9302 {0x1C, 0, 0, 0, 0},
9303 {0x1D, 0, 0, 0, 0},
9304 {0x1E, 0, 0, 0, 0},
9305 {0x1F, 0, 0, 0, 0},
9306 {0x20, 0x3, 0x3, 0, 0},
9307 {0x21, 0, 0, 0, 0},
9308 {0x22, 0, 0, 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},
9318 {0x2C, 0, 0, 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},
9325 {0x33, 0, 0, 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},
9334 {0x3C, 0, 0, 0, 0},
9335 {0x3D, 0x88, 0x88, 1, 1},
9336 {0x3E, 0, 0, 0, 0},
9337 {0x3F, 0, 0, 1, 1},
9338 {0x40, 0x7, 0x7, 1, 1},
9339 {0x41, 0x6, 0x6, 0, 0},
9340 {0x42, 0x4, 0x4, 0, 0},
9341 {0x43, 0, 0, 0, 0},
9342 {0x44, 0x8, 0x8, 0, 0},
9343 {0x45, 0x55, 0x55, 1, 1},
9344 {0x46, 0, 0, 0, 0},
9345 {0x47, 0x11, 0x11, 0, 0},
9346 {0x48, 0, 0, 0, 0},
9347 {0x49, 0, 0, 1, 1},
9348 {0x4A, 0x7, 0x7, 0, 0},
9349 {0x4B, 0x6, 0x6, 0, 0},
9350 {0x4C, 0x4, 0x4, 0, 0},
9351 {0x4D, 0, 0, 0, 0},
9352 {0x4E, 0, 0, 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},
9358 {0x54, 0, 0, 0, 0},
9359 {0x55, 0, 0, 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},
9373 {0x63, 0, 0, 0, 0},
9374 {0x64, 0, 0, 0, 0},
9375 {0x65, 0, 0, 0, 0},
9376 {0x66, 0, 0, 0, 0},
9377 {0x67, 0, 0, 0, 0},
9378 {0x68, 0, 0, 0, 0},
9379 {0x69, 0, 0, 0, 0},
9380 {0x6A, 0, 0, 0, 0},
9381 {0x6B, 0xc, 0xc, 0, 0},
9382 {0x6C, 0, 0, 0, 0},
9383 {0x6D, 0, 0, 0, 0},
9384 {0x6E, 0, 0, 0, 0},
9385 {0x6F, 0, 0, 0, 0},
9386 {0x70, 0, 0, 0, 0},
9387 {0x71, 0, 0, 0, 0},
9388 {0x72, 0x22, 0x22, 0, 0},
9389 {0x73, 0x22, 0x22, 0, 0},
9390 {0x74, 0, 0, 1, 1},
9391 {0x75, 0xa, 0xa, 0, 0},
9392 {0x76, 0x1, 0x1, 0, 0},
9393 {0x77, 0x22, 0x22, 0, 0},
9394 {0x78, 0x30, 0x30, 0, 0},
9395 {0x79, 0, 0, 0, 0},
9396 {0x7A, 0, 0, 0, 0},
9397 {0x7B, 0, 0, 0, 0},
9398 {0x7C, 0, 0, 0, 0},
9399 {0x7D, 0, 0, 0, 0},
9400 {0x7E, 0, 0, 0, 0},
9401 {0x7F, 0, 0, 0, 0},
9402 {0x80, 0, 0, 0, 0},
9403 {0x81, 0, 0, 0, 0},
9404 {0x82, 0, 0, 0, 0},
9405 {0x83, 0, 0, 0, 0},
9406 {0x84, 0, 0, 0, 0},
9407 {0x85, 0, 0, 0, 0},
9408 {0x86, 0, 0, 0, 0},
9409 {0x87, 0, 0, 0, 0},
9410 {0x88, 0, 0, 0, 0},
9411 {0x89, 0, 0, 0, 0},
9412 {0x8A, 0, 0, 0, 0},
9413 {0x8B, 0, 0, 0, 0},
9414 {0x8C, 0, 0, 0, 0},
9415 {0x8D, 0, 0, 0, 0},
9416 {0x8E, 0, 0, 0, 0},
9417 {0x8F, 0, 0, 0, 0},
9418 {0x90, 0, 0, 0, 0},
9419 {0x91, 0, 0, 0, 0},
9420 {0x92, 0, 0, 0, 0},
9421 {0x93, 0, 0, 0, 0},
9422 {0x94, 0, 0, 0, 0},
9423 {0xFFFF, 0, 0, 0, 0}
9426 radio_regs_t regs_SYN_2056_rev6[] = {
9427 {0x02, 0, 0, 0, 0},
9428 {0x03, 0, 0, 0, 0},
9429 {0x04, 0, 0, 0, 0},
9430 {0x05, 0, 0, 0, 0},
9431 {0x06, 0, 0, 0, 0},
9432 {0x07, 0, 0, 0, 0},
9433 {0x08, 0, 0, 0, 0},
9434 {0x09, 0x1, 0x1, 0, 0},
9435 {0x0A, 0, 0, 0, 0},
9436 {0x0B, 0, 0, 0, 0},
9437 {0x0C, 0, 0, 0, 0},
9438 {0x0D, 0, 0, 0, 0},
9439 {0x0E, 0, 0, 0, 0},
9440 {0x0F, 0, 0, 0, 0},
9441 {0x10, 0, 0, 0, 0},
9442 {0x11, 0, 0, 0, 0},
9443 {0x12, 0, 0, 0, 0},
9444 {0x13, 0, 0, 0, 0},
9445 {0x14, 0, 0, 0, 0},
9446 {0x15, 0, 0, 0, 0},
9447 {0x16, 0, 0, 0, 0},
9448 {0x17, 0, 0, 0, 0},
9449 {0x18, 0, 0, 0, 0},
9450 {0x19, 0, 0, 0, 0},
9451 {0x1A, 0, 0, 0, 0},
9452 {0x1B, 0, 0, 0, 0},
9453 {0x1C, 0, 0, 0, 0},
9454 {0x1D, 0, 0, 0, 0},
9455 {0x1E, 0, 0, 0, 0},
9456 {0x1F, 0, 0, 0, 0},
9457 {0x20, 0, 0, 0, 0},
9458 {0x21, 0, 0, 0, 0},
9459 {0x22, 0x60, 0x60, 0, 0},
9460 {0x23, 0x6, 0x6, 0, 0},
9461 {0x24, 0xc, 0xc, 0, 0},
9462 {0x25, 0, 0, 0, 0},
9463 {0x26, 0, 0, 0, 0},
9464 {0x27, 0, 0, 0, 0},
9465 {0x28, 0x1, 0x1, 0, 0},
9466 {0x29, 0, 0, 0, 0},
9467 {0x2A, 0, 0, 0, 0},
9468 {0x2B, 0, 0, 0, 0},
9469 {0x2C, 0, 0, 0, 0},
9470 {0x2D, 0, 0, 0, 0},
9471 {0x2E, 0, 0, 0, 0},
9472 {0x2F, 0x1f, 0x1f, 0, 0},
9473 {0x30, 0x15, 0x15, 0, 0},
9474 {0x31, 0xf, 0xf, 0, 0},
9475 {0x32, 0, 0, 0, 0},
9476 {0x33, 0, 0, 0, 0},
9477 {0x34, 0, 0, 0, 0},
9478 {0x35, 0, 0, 0, 0},
9479 {0x36, 0, 0, 0, 0},
9480 {0x37, 0, 0, 0, 0},
9481 {0x38, 0, 0, 0, 0},
9482 {0x39, 0, 0, 0, 0},
9483 {0x3A, 0, 0, 0, 0},
9484 {0x3B, 0, 0, 0, 0},
9485 {0x3C, 0x13, 0x13, 0, 0},
9486 {0x3D, 0xf, 0xf, 0, 0},
9487 {0x3E, 0x18, 0x18, 0, 0},
9488 {0x3F, 0, 0, 0, 0},
9489 {0x40, 0, 0, 0, 0},
9490 {0x41, 0x20, 0x20, 0, 0},
9491 {0x42, 0x20, 0x20, 0, 0},
9492 {0x43, 0, 0, 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},
9511 {0x56, 0, 0, 0, 0},
9512 {0x57, 0, 0, 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},
9519 {0x5E, 0, 0, 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},
9524 {0x63, 0, 0, 0, 0},
9525 {0x64, 0, 0, 0, 0},
9526 {0x65, 0, 0, 0, 0},
9527 {0x66, 0, 0, 0, 0},
9528 {0x67, 0, 0, 0, 0},
9529 {0x68, 0x40, 0x40, 0, 0},
9530 {0x69, 0, 0, 0, 0},
9531 {0x6A, 0, 0, 0, 0},
9532 {0x6B, 0, 0, 0, 0},
9533 {0x6C, 0, 0, 0, 0},
9534 {0x6D, 0x1, 0x1, 0, 0},
9535 {0x6E, 0, 0, 0, 0},
9536 {0x6F, 0, 0, 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},
9542 {0x75, 0, 0, 0, 0},
9543 {0x76, 0xcc, 0xcc, 0, 0},
9544 {0x77, 0x1, 0x1, 0, 0},
9545 {0x78, 0x66, 0x66, 0, 0},
9546 {0x79, 0x66, 0x66, 0, 0},
9547 {0x7A, 0, 0, 0, 0},
9548 {0x7B, 0, 0, 0, 0},
9549 {0x7C, 0, 0, 0, 0},
9550 {0x7D, 0, 0, 0, 0},
9551 {0x7E, 0, 0, 0, 0},
9552 {0x7F, 0, 0, 0, 0},
9553 {0x80, 0, 0, 0, 0},
9554 {0x81, 0, 0, 0, 0},
9555 {0x82, 0, 0, 0, 0},
9556 {0x83, 0, 0, 0, 0},
9557 {0x84, 0, 0, 0, 0},
9558 {0x85, 0xff, 0xff, 0, 0},
9559 {0x86, 0, 0, 0, 0},
9560 {0x87, 0, 0, 0, 0},
9561 {0x88, 0, 0, 0, 0},
9562 {0x89, 0, 0, 0, 0},
9563 {0x8A, 0, 0, 0, 0},
9564 {0x8B, 0, 0, 0, 0},
9565 {0x8C, 0, 0, 0, 0},
9566 {0x8D, 0, 0, 0, 0},
9567 {0x8E, 0, 0, 0, 0},
9568 {0x8F, 0, 0, 0, 0},
9569 {0x90, 0, 0, 0, 0},
9570 {0x91, 0, 0, 0, 0},
9571 {0x92, 0, 0, 0, 0},
9572 {0x93, 0, 0, 0, 0},
9573 {0x94, 0, 0, 0, 0},
9574 {0x95, 0, 0, 0, 0},
9575 {0x96, 0, 0, 0, 0},
9576 {0x97, 0, 0, 0, 0},
9577 {0x98, 0, 0, 0, 0},
9578 {0x99, 0, 0, 0, 0},
9579 {0x9A, 0, 0, 0, 0},
9580 {0x9B, 0, 0, 0, 0},
9581 {0x9C, 0, 0, 0, 0},
9582 {0x9D, 0, 0, 0, 0},
9583 {0x9E, 0, 0, 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},
9605 {0xB4, 0, 0, 0, 0},
9606 {0xB5, 0, 0, 0, 0},
9607 {0xB6, 0, 0, 0, 0},
9608 {0xFFFF, 0, 0, 0, 0}
9611 radio_regs_t regs_TX_2056_rev6[] = {
9612 {0x02, 0, 0, 0, 0},
9613 {0x03, 0, 0, 0, 0},
9614 {0x04, 0, 0, 0, 0},
9615 {0x05, 0, 0, 0, 0},
9616 {0x06, 0, 0, 0, 0},
9617 {0x07, 0, 0, 0, 0},
9618 {0x08, 0, 0, 0, 0},
9619 {0x09, 0, 0, 0, 0},
9620 {0x0A, 0, 0, 0, 0},
9621 {0x0B, 0, 0, 0, 0},
9622 {0x0C, 0, 0, 0, 0},
9623 {0x0D, 0, 0, 0, 0},
9624 {0x0E, 0, 0, 0, 0},
9625 {0x0F, 0, 0, 0, 0},
9626 {0x10, 0, 0, 0, 0},
9627 {0x11, 0, 0, 0, 0},
9628 {0x12, 0, 0, 0, 0},
9629 {0x13, 0, 0, 0, 0},
9630 {0x14, 0, 0, 0, 0},
9631 {0x15, 0, 0, 0, 0},
9632 {0x16, 0, 0, 0, 0},
9633 {0x17, 0, 0, 0, 0},
9634 {0x18, 0, 0, 0, 0},
9635 {0x19, 0, 0, 0, 0},
9636 {0x1A, 0, 0, 0, 0},
9637 {0x1B, 0, 0, 0, 0},
9638 {0x1C, 0, 0, 0, 0},
9639 {0x1D, 0, 0, 0, 0},
9640 {0x1E, 0, 0, 0, 0},
9641 {0x1F, 0, 0, 0, 0},
9642 {0x20, 0, 0, 0, 0},
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},
9648 {0x26, 0, 0, 0, 0},
9649 {0x27, 0x3, 0x3, 0, 0},
9650 {0x28, 0, 0, 0, 0},
9651 {0x29, 0x3, 0x3, 0, 0},
9652 {0x2A, 0x37, 0x37, 0, 0},
9653 {0x2B, 0x3, 0x3, 0, 0},
9654 {0x2C, 0, 0, 0, 0},
9655 {0x2D, 0, 0, 0, 0},
9656 {0x2E, 0x1, 0x1, 0, 0},
9657 {0x2F, 0x1, 0x1, 0, 0},
9658 {0x30, 0, 0, 0, 0},
9659 {0x31, 0, 0, 0, 0},
9660 {0x32, 0, 0, 0, 0},
9661 {0x33, 0x11, 0x11, 0, 0},
9662 {0x34, 0xee, 0xee, 1, 1},
9663 {0x35, 0, 0, 0, 0},
9664 {0x36, 0, 0, 0, 0},
9665 {0x37, 0x3, 0x3, 0, 0},
9666 {0x38, 0x50, 0x50, 1, 1},
9667 {0x39, 0, 0, 0, 0},
9668 {0x3A, 0x50, 0x50, 1, 1},
9669 {0x3B, 0, 0, 0, 0},
9670 {0x3C, 0x6e, 0x6e, 0, 0},
9671 {0x3D, 0xf0, 0xf0, 1, 1},
9672 {0x3E, 0, 0, 0, 0},
9673 {0x3F, 0, 0, 0, 0},
9674 {0x40, 0, 0, 0, 0},
9675 {0x41, 0x3, 0x3, 0, 0},
9676 {0x42, 0x3, 0x3, 0, 0},
9677 {0x43, 0, 0, 0, 0},
9678 {0x44, 0x1e, 0x1e, 0, 0},
9679 {0x45, 0, 0, 0, 0},
9680 {0x46, 0x6e, 0x6e, 0, 0},
9681 {0x47, 0xf0, 0xf0, 1, 1},
9682 {0x48, 0, 0, 0, 0},
9683 {0x49, 0x2, 0x2, 0, 0},
9684 {0x4A, 0xff, 0xff, 1, 1},
9685 {0x4B, 0xc, 0xc, 0, 0},
9686 {0x4C, 0, 0, 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},
9692 {0x52, 0, 0, 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},
9697 {0x57, 0, 0, 0, 0},
9698 {0x58, 0x83, 0x83, 0, 0},
9699 {0x59, 0x77, 0x77, 1, 1},
9700 {0x5A, 0, 0, 0, 0},
9701 {0x5B, 0x2, 0x2, 0, 0},
9702 {0x5C, 0x88, 0x88, 0, 0},
9703 {0x5D, 0, 0, 0, 0},
9704 {0x5E, 0x8, 0x8, 0, 0},
9705 {0x5F, 0x77, 0x77, 1, 1},
9706 {0x60, 0x1, 0x1, 0, 0},
9707 {0x61, 0, 0, 0, 0},
9708 {0x62, 0x7, 0x7, 0, 0},
9709 {0x63, 0, 0, 0, 0},
9710 {0x64, 0x7, 0x7, 0, 0},
9711 {0x65, 0, 0, 0, 0},
9712 {0x66, 0, 0, 0, 0},
9713 {0x67, 0, 0, 1, 1},
9714 {0x68, 0, 0, 0, 0},
9715 {0x69, 0xa, 0xa, 0, 0},
9716 {0x6A, 0, 0, 0, 0},
9717 {0x6B, 0, 0, 0, 0},
9718 {0x6C, 0, 0, 0, 0},
9719 {0x6D, 0, 0, 0, 0},
9720 {0x6E, 0, 0, 0, 0},
9721 {0x6F, 0, 0, 0, 0},
9722 {0x70, 0, 0, 0, 0},
9723 {0x71, 0x2, 0x2, 0, 0},
9724 {0x72, 0, 0, 0, 0},
9725 {0x73, 0, 0, 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},
9736 {0x7E, 0, 0, 0, 0},
9737 {0x7F, 0, 0, 0, 0},
9738 {0x80, 0, 0, 0, 0},
9739 {0x81, 0, 0, 0, 0},
9740 {0x82, 0, 0, 0, 0},
9741 {0x83, 0, 0, 0, 0},
9742 {0x84, 0, 0, 0, 0},
9743 {0x85, 0, 0, 0, 0},
9744 {0x86, 0, 0, 0, 0},
9745 {0x87, 0, 0, 0, 0},
9746 {0x88, 0, 0, 0, 0},
9747 {0x89, 0, 0, 0, 0},
9748 {0x8A, 0, 0, 0, 0},
9749 {0x8B, 0, 0, 0, 0},
9750 {0x8C, 0, 0, 0, 0},
9751 {0x8D, 0, 0, 0, 0},
9752 {0x8E, 0, 0, 0, 0},
9753 {0x8F, 0, 0, 0, 0},
9754 {0x90, 0, 0, 0, 0},
9755 {0x91, 0, 0, 0, 0},
9756 {0x92, 0, 0, 0, 0},
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[] = {
9769 {0x02, 0, 0, 0, 0},
9770 {0x03, 0, 0, 0, 0},
9771 {0x04, 0, 0, 0, 0},
9772 {0x05, 0, 0, 0, 0},
9773 {0x06, 0, 0, 0, 0},
9774 {0x07, 0, 0, 0, 0},
9775 {0x08, 0, 0, 0, 0},
9776 {0x09, 0, 0, 0, 0},
9777 {0x0A, 0, 0, 0, 0},
9778 {0x0B, 0, 0, 0, 0},
9779 {0x0C, 0, 0, 0, 0},
9780 {0x0D, 0, 0, 0, 0},
9781 {0x0E, 0, 0, 0, 0},
9782 {0x0F, 0, 0, 0, 0},
9783 {0x10, 0, 0, 0, 0},
9784 {0x11, 0, 0, 0, 0},
9785 {0x12, 0, 0, 0, 0},
9786 {0x13, 0, 0, 0, 0},
9787 {0x14, 0, 0, 0, 0},
9788 {0x15, 0, 0, 0, 0},
9789 {0x16, 0, 0, 0, 0},
9790 {0x17, 0, 0, 0, 0},
9791 {0x18, 0, 0, 0, 0},
9792 {0x19, 0, 0, 0, 0},
9793 {0x1A, 0, 0, 0, 0},
9794 {0x1B, 0, 0, 0, 0},
9795 {0x1C, 0, 0, 0, 0},
9796 {0x1D, 0, 0, 0, 0},
9797 {0x1E, 0, 0, 0, 0},
9798 {0x1F, 0, 0, 0, 0},
9799 {0x20, 0x3, 0x3, 0, 0},
9800 {0x21, 0, 0, 0, 0},
9801 {0x22, 0, 0, 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},
9811 {0x2C, 0, 0, 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},
9818 {0x33, 0, 0, 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},
9827 {0x3C, 0, 0, 0, 0},
9828 {0x3D, 0x88, 0x88, 1, 1},
9829 {0x3E, 0, 0, 0, 0},
9830 {0x3F, 0x44, 0x44, 0, 0},
9831 {0x40, 0x7, 0x7, 1, 1},
9832 {0x41, 0x6, 0x6, 0, 0},
9833 {0x42, 0x4, 0x4, 0, 0},
9834 {0x43, 0, 0, 0, 0},
9835 {0x44, 0x8, 0x8, 0, 0},
9836 {0x45, 0x55, 0x55, 1, 1},
9837 {0x46, 0, 0, 0, 0},
9838 {0x47, 0x11, 0x11, 0, 0},
9839 {0x48, 0, 0, 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},
9844 {0x4D, 0, 0, 0, 0},
9845 {0x4E, 0, 0, 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},
9851 {0x54, 0, 0, 0, 0},
9852 {0x55, 0, 0, 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},
9866 {0x63, 0, 0, 0, 0},
9867 {0x64, 0, 0, 0, 0},
9868 {0x65, 0, 0, 0, 0},
9869 {0x66, 0, 0, 0, 0},
9870 {0x67, 0, 0, 0, 0},
9871 {0x68, 0, 0, 0, 0},
9872 {0x69, 0, 0, 0, 0},
9873 {0x6A, 0, 0, 0, 0},
9874 {0x6B, 0xc, 0xc, 0, 0},
9875 {0x6C, 0, 0, 0, 0},
9876 {0x6D, 0, 0, 0, 0},
9877 {0x6E, 0, 0, 0, 0},
9878 {0x6F, 0, 0, 0, 0},
9879 {0x70, 0, 0, 0, 0},
9880 {0x71, 0, 0, 0, 0},
9881 {0x72, 0x22, 0x22, 0, 0},
9882 {0x73, 0x22, 0x22, 0, 0},
9883 {0x74, 0, 0, 1, 1},
9884 {0x75, 0xa, 0xa, 0, 0},
9885 {0x76, 0x1, 0x1, 0, 0},
9886 {0x77, 0x22, 0x22, 0, 0},
9887 {0x78, 0x30, 0x30, 0, 0},
9888 {0x79, 0, 0, 0, 0},
9889 {0x7A, 0, 0, 0, 0},
9890 {0x7B, 0, 0, 0, 0},
9891 {0x7C, 0, 0, 0, 0},
9892 {0x7D, 0x5, 0x5, 1, 1},
9893 {0x7E, 0, 0, 0, 0},
9894 {0x7F, 0, 0, 0, 0},
9895 {0x80, 0, 0, 0, 0},
9896 {0x81, 0, 0, 0, 0},
9897 {0x82, 0, 0, 0, 0},
9898 {0x83, 0, 0, 0, 0},
9899 {0x84, 0, 0, 0, 0},
9900 {0x85, 0, 0, 0, 0},
9901 {0x86, 0, 0, 0, 0},
9902 {0x87, 0, 0, 0, 0},
9903 {0x88, 0, 0, 0, 0},
9904 {0x89, 0, 0, 0, 0},
9905 {0x8A, 0, 0, 0, 0},
9906 {0x8B, 0, 0, 0, 0},
9907 {0x8C, 0, 0, 0, 0},
9908 {0x8D, 0, 0, 0, 0},
9909 {0x8E, 0, 0, 0, 0},
9910 {0x8F, 0, 0, 0, 0},
9911 {0x90, 0, 0, 0, 0},
9912 {0x91, 0, 0, 0, 0},
9913 {0x92, 0, 0, 0, 0},
9914 {0x93, 0, 0, 0, 0},
9915 {0x94, 0, 0, 0, 0},
9916 {0xFFFF, 0, 0, 0, 0}
9919 radio_regs_t regs_SYN_2056_rev7[] = {
9920 {0x02, 0, 0, 0, 0},
9921 {0x03, 0, 0, 0, 0},
9922 {0x04, 0, 0, 0, 0},
9923 {0x05, 0, 0, 0, 0},
9924 {0x06, 0, 0, 0, 0},
9925 {0x07, 0, 0, 0, 0},
9926 {0x08, 0, 0, 0, 0},
9927 {0x09, 0x1, 0x1, 0, 0},
9928 {0x0A, 0, 0, 0, 0},
9929 {0x0B, 0, 0, 0, 0},
9930 {0x0C, 0, 0, 0, 0},
9931 {0x0D, 0, 0, 0, 0},
9932 {0x0E, 0, 0, 0, 0},
9933 {0x0F, 0, 0, 0, 0},
9934 {0x10, 0, 0, 0, 0},
9935 {0x11, 0, 0, 0, 0},
9936 {0x12, 0, 0, 0, 0},
9937 {0x13, 0, 0, 0, 0},
9938 {0x14, 0, 0, 0, 0},
9939 {0x15, 0, 0, 0, 0},
9940 {0x16, 0, 0, 0, 0},
9941 {0x17, 0, 0, 0, 0},
9942 {0x18, 0, 0, 0, 0},
9943 {0x19, 0, 0, 0, 0},
9944 {0x1A, 0, 0, 0, 0},
9945 {0x1B, 0, 0, 0, 0},
9946 {0x1C, 0, 0, 0, 0},
9947 {0x1D, 0, 0, 0, 0},
9948 {0x1E, 0, 0, 0, 0},
9949 {0x1F, 0, 0, 0, 0},
9950 {0x20, 0, 0, 0, 0},
9951 {0x21, 0, 0, 0, 0},
9952 {0x22, 0x60, 0x60, 0, 0},
9953 {0x23, 0x6, 0x6, 0, 0},
9954 {0x24, 0xc, 0xc, 0, 0},
9955 {0x25, 0, 0, 0, 0},
9956 {0x26, 0, 0, 0, 0},
9957 {0x27, 0, 0, 0, 0},
9958 {0x28, 0x1, 0x1, 0, 0},
9959 {0x29, 0, 0, 0, 0},
9960 {0x2A, 0, 0, 0, 0},
9961 {0x2B, 0, 0, 0, 0},
9962 {0x2C, 0, 0, 0, 0},
9963 {0x2D, 0, 0, 0, 0},
9964 {0x2E, 0, 0, 0, 0},
9965 {0x2F, 0x1f, 0x1f, 0, 0},
9966 {0x30, 0x15, 0x15, 0, 0},
9967 {0x31, 0xf, 0xf, 0, 0},
9968 {0x32, 0, 0, 0, 0},
9969 {0x33, 0, 0, 0, 0},
9970 {0x34, 0, 0, 0, 0},
9971 {0x35, 0, 0, 0, 0},
9972 {0x36, 0, 0, 0, 0},
9973 {0x37, 0, 0, 0, 0},
9974 {0x38, 0, 0, 0, 0},
9975 {0x39, 0, 0, 0, 0},
9976 {0x3A, 0, 0, 0, 0},
9977 {0x3B, 0, 0, 0, 0},
9978 {0x3C, 0x13, 0x13, 0, 0},
9979 {0x3D, 0xf, 0xf, 0, 0},
9980 {0x3E, 0x18, 0x18, 0, 0},
9981 {0x3F, 0, 0, 0, 0},
9982 {0x40, 0, 0, 0, 0},
9983 {0x41, 0x20, 0x20, 0, 0},
9984 {0x42, 0x20, 0x20, 0, 0},
9985 {0x43, 0, 0, 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[] = {
11399 {0x00, 0x84, 0},
11400 {0x01, 0, 0},
11401 {0x02, 0x60, 0},
11402 {0x03, 0x1f, 0},
11403 {0x04, 0x4, 0},
11404 {0x05, 0x2, 0},
11405 {0x06, 0x1, 0},
11406 {0x07, 0x1, 0},
11407 {0x08, 0x1, 0},
11408 {0x09, 0x69, 0},
11409 {0x0A, 0x66, 0},
11410 {0x0B, 0x6, 0},
11411 {0x0C, 0x18, 0},
11412 {0x0D, 0x3, 0},
11413 {0x0E, 0x20, 1},
11414 {0x0F, 0x20, 0},
11415 {0x10, 0, 0},
11416 {0x11, 0x7c, 0},
11417 {0x12, 0x42, 0},
11418 {0x13, 0xbd, 0},
11419 {0x14, 0x7, 0},
11420 {0x15, 0xf7, 0},
11421 {0x16, 0x8, 0},
11422 {0x17, 0x17, 0},
11423 {0x18, 0x7, 0},
11424 {0x19, 0, 0},
11425 {0x1A, 0x2, 0},
11426 {0x1B, 0x13, 0},
11427 {0x1C, 0x3e, 0},
11428 {0x1D, 0x3e, 0},
11429 {0x1E, 0x96, 0},
11430 {0x1F, 0x4, 0},
11431 {0x20, 0, 0},
11432 {0x21, 0, 0},
11433 {0x22, 0x17, 0},
11434 {0x23, 0x4, 0},
11435 {0x24, 0x1, 0},
11436 {0x25, 0x6, 0},
11437 {0x26, 0x4, 0},
11438 {0x27, 0xd, 0},
11439 {0x28, 0xd, 0},
11440 {0x29, 0x30, 0},
11441 {0x2A, 0x32, 0},
11442 {0x2B, 0x8, 0},
11443 {0x2C, 0x1c, 0},
11444 {0x2D, 0x2, 0},
11445 {0x2E, 0x4, 0},
11446 {0x2F, 0x7f, 0},
11447 {0x30, 0x27, 0},
11448 {0x31, 0, 1},
11449 {0x32, 0, 1},
11450 {0x33, 0, 1},
11451 {0x34, 0, 0},
11452 {0x35, 0x26, 1},
11453 {0x36, 0x18, 0},
11454 {0x37, 0x7, 0},
11455 {0x38, 0x66, 0},
11456 {0x39, 0x66, 0},
11457 {0x3A, 0x66, 0},
11458 {0x3B, 0x66, 0},
11459 {0x3C, 0xff, 1},
11460 {0x3D, 0xff, 1},
11461 {0x3E, 0xff, 1},
11462 {0x3F, 0xff, 1},
11463 {0x40, 0x16, 0},
11464 {0x41, 0x7, 0},
11465 {0x42, 0x19, 0},
11466 {0x43, 0x7, 0},
11467 {0x44, 0x6, 0},
11468 {0x45, 0x3, 0},
11469 {0x46, 0x1, 0},
11470 {0x47, 0x7, 0},
11471 {0x48, 0x33, 0},
11472 {0x49, 0x5, 0},
11473 {0x4A, 0x77, 0},
11474 {0x4B, 0x66, 0},
11475 {0x4C, 0x66, 0},
11476 {0x4D, 0, 0},
11477 {0x4E, 0x4, 0},
11478 {0x4F, 0xc, 0},
11479 {0x50, 0, 0},
11480 {0x51, 0x75, 0},
11481 {0x56, 0x7, 0},
11482 {0x57, 0, 0},
11483 {0x58, 0, 0},
11484 {0x59, 0xa8, 0},
11485 {0x5A, 0, 0},
11486 {0x5B, 0x1f, 0},
11487 {0x5C, 0x30, 0},
11488 {0x5D, 0x1, 0},
11489 {0x5E, 0x30, 0},
11490 {0x5F, 0x70, 0},
11491 {0x60, 0, 0},
11492 {0x61, 0, 0},
11493 {0x62, 0x33, 1},
11494 {0x63, 0x19, 0},
11495 {0x64, 0x62, 0},
11496 {0x65, 0, 0},
11497 {0x66, 0x11, 0},
11498 {0x69, 0, 0},
11499 {0x6A, 0x7e, 0},
11500 {0x6B, 0x3f, 0},
11501 {0x6C, 0x7f, 0},
11502 {0x6D, 0x78, 0},
11503 {0x6E, 0xc8, 0},
11504 {0x6F, 0x88, 0},
11505 {0x70, 0x8, 0},
11506 {0x71, 0xf, 0},
11507 {0x72, 0xbc, 0},
11508 {0x73, 0x8, 0},
11509 {0x74, 0x60, 0},
11510 {0x75, 0x1e, 0},
11511 {0x76, 0x70, 0},
11512 {0x77, 0, 0},
11513 {0x78, 0, 0},
11514 {0x79, 0, 0},
11515 {0x7A, 0x33, 0},
11516 {0x7B, 0x1e, 0},
11517 {0x7C, 0x62, 0},
11518 {0x7D, 0x11, 0},
11519 {0x80, 0x3c, 0},
11520 {0x81, 0x9c, 0},
11521 {0x82, 0xa, 0},
11522 {0x83, 0x9d, 0},
11523 {0x84, 0xa, 0},
11524 {0x85, 0, 0},
11525 {0x86, 0x40, 0},
11526 {0x87, 0x40, 0},
11527 {0x88, 0x88, 0},
11528 {0x89, 0x10, 0},
11529 {0x8A, 0xf0, 1},
11530 {0x8B, 0x10, 1},
11531 {0x8C, 0xf0, 1},
11532 {0x8D, 0, 0},
11533 {0x8E, 0, 0},
11534 {0x8F, 0x10, 0},
11535 {0x90, 0x55, 0},
11536 {0x91, 0x3f, 1},
11537 {0x92, 0x36, 1},
11538 {0x93, 0, 0},
11539 {0x94, 0, 0},
11540 {0x95, 0, 0},
11541 {0x96, 0x87, 0},
11542 {0x97, 0x11, 0},
11543 {0x98, 0, 0},
11544 {0x99, 0x33, 0},
11545 {0x9A, 0x88, 0},
11546 {0x9B, 0, 0},
11547 {0x9C, 0x87, 0},
11548 {0x9D, 0x11, 0},
11549 {0x9E, 0, 0},
11550 {0x9F, 0x33, 0},
11551 {0xA0, 0x88, 0},
11552 {0xA1, 0xe1, 0},
11553 {0xA2, 0x3f, 0},
11554 {0xA3, 0x44, 0},
11555 {0xA4, 0x8c, 1},
11556 {0xA5, 0x6d, 0},
11557 {0xA6, 0x22, 0},
11558 {0xA7, 0xbe, 0},
11559 {0xA8, 0x55, 1},
11560 {0xA9, 0xc, 0},
11561 {0xAA, 0xc, 0},
11562 {0xAB, 0xaa, 0},
11563 {0xAC, 0x2, 0},
11564 {0xAD, 0, 0},
11565 {0xAE, 0x10, 0},
11566 {0xAF, 0x1, 1},
11567 {0xB0, 0, 0},
11568 {0xB1, 0, 0},
11569 {0xB2, 0x80, 0},
11570 {0xB3, 0x60, 0},
11571 {0xB4, 0x44, 0},
11572 {0xB5, 0x55, 0},
11573 {0xB6, 0x1, 0},
11574 {0xB7, 0x55, 0},
11575 {0xB8, 0x1, 0},
11576 {0xB9, 0x5, 0},
11577 {0xBA, 0x55, 0},
11578 {0xBB, 0x55, 0},
11579 {0xC1, 0, 0},
11580 {0xC2, 0, 0},
11581 {0xC3, 0, 0},
11582 {0xC4, 0, 0},
11583 {0xC5, 0, 0},
11584 {0xC6, 0, 0},
11585 {0xC7, 0, 0},
11586 {0xC8, 0, 0},
11587 {0xC9, 0, 0},
11588 {0xCA, 0, 0},
11589 {0xCB, 0, 0},
11590 {0xCC, 0, 0},
11591 {0xCD, 0, 0},
11592 {0xCE, 0x5e, 0},
11593 {0xCF, 0xc, 0},
11594 {0xD0, 0xc, 0},
11595 {0xD1, 0xc, 0},
11596 {0xD2, 0, 0},
11597 {0xD3, 0x2b, 0},
11598 {0xD4, 0xc, 0},
11599 {0xD5, 0, 0},
11600 {0xD6, 0x75, 0},
11601 {0xDB, 0x7, 0},
11602 {0xDC, 0, 0},
11603 {0xDD, 0, 0},
11604 {0xDE, 0xa8, 0},
11605 {0xDF, 0, 0},
11606 {0xE0, 0x1f, 0},
11607 {0xE1, 0x30, 0},
11608 {0xE2, 0x1, 0},
11609 {0xE3, 0x30, 0},
11610 {0xE4, 0x70, 0},
11611 {0xE5, 0, 0},
11612 {0xE6, 0, 0},
11613 {0xE7, 0x33, 0},
11614 {0xE8, 0x19, 0},
11615 {0xE9, 0x62, 0},
11616 {0xEA, 0, 0},
11617 {0xEB, 0x11, 0},
11618 {0xEE, 0, 0},
11619 {0xEF, 0x7e, 0},
11620 {0xF0, 0x3f, 0},
11621 {0xF1, 0x7f, 0},
11622 {0xF2, 0x78, 0},
11623 {0xF3, 0xc8, 0},
11624 {0xF4, 0x88, 0},
11625 {0xF5, 0x8, 0},
11626 {0xF6, 0xf, 0},
11627 {0xF7, 0xbc, 0},
11628 {0xF8, 0x8, 0},
11629 {0xF9, 0x60, 0},
11630 {0xFA, 0x1e, 0},
11631 {0xFB, 0x70, 0},
11632 {0xFC, 0, 0},
11633 {0xFD, 0, 0},
11634 {0xFE, 0, 0},
11635 {0xFF, 0x33, 0},
11636 {0x100, 0x1e, 0},
11637 {0x101, 0x62, 0},
11638 {0x102, 0x11, 0},
11639 {0x105, 0x3c, 0},
11640 {0x106, 0x9c, 0},
11641 {0x107, 0xa, 0},
11642 {0x108, 0x9d, 0},
11643 {0x109, 0xa, 0},
11644 {0x10A, 0, 0},
11645 {0x10B, 0x40, 0},
11646 {0x10C, 0x40, 0},
11647 {0x10D, 0x88, 0},
11648 {0x10E, 0x10, 0},
11649 {0x10F, 0xf0, 1},
11650 {0x110, 0x10, 1},
11651 {0x111, 0xf0, 1},
11652 {0x112, 0, 0},
11653 {0x113, 0, 0},
11654 {0x114, 0x10, 0},
11655 {0x115, 0x55, 0},
11656 {0x116, 0x3f, 1},
11657 {0x117, 0x36, 1},
11658 {0x118, 0, 0},
11659 {0x119, 0, 0},
11660 {0x11A, 0, 0},
11661 {0x11B, 0x87, 0},
11662 {0x11C, 0x11, 0},
11663 {0x11D, 0, 0},
11664 {0x11E, 0x33, 0},
11665 {0x11F, 0x88, 0},
11666 {0x120, 0, 0},
11667 {0x121, 0x87, 0},
11668 {0x122, 0x11, 0},
11669 {0x123, 0, 0},
11670 {0x124, 0x33, 0},
11671 {0x125, 0x88, 0},
11672 {0x126, 0xe1, 0},
11673 {0x127, 0x3f, 0},
11674 {0x128, 0x44, 0},
11675 {0x129, 0x8c, 1},
11676 {0x12A, 0x6d, 0},
11677 {0x12B, 0x22, 0},
11678 {0x12C, 0xbe, 0},
11679 {0x12D, 0x55, 1},
11680 {0x12E, 0xc, 0},
11681 {0x12F, 0xc, 0},
11682 {0x130, 0xaa, 0},
11683 {0x131, 0x2, 0},
11684 {0x132, 0, 0},
11685 {0x133, 0x10, 0},
11686 {0x134, 0x1, 1},
11687 {0x135, 0, 0},
11688 {0x136, 0, 0},
11689 {0x137, 0x80, 0},
11690 {0x138, 0x60, 0},
11691 {0x139, 0x44, 0},
11692 {0x13A, 0x55, 0},
11693 {0x13B, 0x1, 0},
11694 {0x13C, 0x55, 0},
11695 {0x13D, 0x1, 0},
11696 {0x13E, 0x5, 0},
11697 {0x13F, 0x55, 0},
11698 {0x140, 0x55, 0},
11699 {0x146, 0, 0},
11700 {0x147, 0, 0},
11701 {0x148, 0, 0},
11702 {0x149, 0, 0},
11703 {0x14A, 0, 0},
11704 {0x14B, 0, 0},
11705 {0x14C, 0, 0},
11706 {0x14D, 0, 0},
11707 {0x14E, 0, 0},
11708 {0x14F, 0, 0},
11709 {0x150, 0, 0},
11710 {0x151, 0, 0},
11711 {0x152, 0, 0},
11712 {0x153, 0, 0},
11713 {0x154, 0xc, 0},
11714 {0x155, 0xc, 0},
11715 {0x156, 0xc, 0},
11716 {0x157, 0, 0},
11717 {0x158, 0x2b, 0},
11718 {0x159, 0x84, 0},
11719 {0x15A, 0x15, 0},
11720 {0x15B, 0xf, 0},
11721 {0x15C, 0, 0},
11722 {0x15D, 0, 0},
11723 {0x15E, 0, 1},
11724 {0x15F, 0, 1},
11725 {0x160, 0, 1},
11726 {0x161, 0, 1},
11727 {0x162, 0, 1},
11728 {0x163, 0, 1},
11729 {0x164, 0, 0},
11730 {0x165, 0, 0},
11731 {0x166, 0, 0},
11732 {0x167, 0, 0},
11733 {0x168, 0, 0},
11734 {0x169, 0x2, 1},
11735 {0x16A, 0, 1},
11736 {0x16B, 0, 1},
11737 {0x16C, 0, 1},
11738 {0x16D, 0, 0},
11739 {0x170, 0, 0},
11740 {0x171, 0x77, 0},
11741 {0x172, 0x77, 0},
11742 {0x173, 0x77, 0},
11743 {0x174, 0x77, 0},
11744 {0x175, 0, 0},
11745 {0x176, 0x3, 0},
11746 {0x177, 0x37, 0},
11747 {0x178, 0x3, 0},
11748 {0x179, 0, 0},
11749 {0x17A, 0x21, 0},
11750 {0x17B, 0x21, 0},
11751 {0x17C, 0, 0},
11752 {0x17D, 0xaa, 0},
11753 {0x17E, 0, 0},
11754 {0x17F, 0xaa, 0},
11755 {0x180, 0, 0},
11756 {0x190, 0, 0},
11757 {0x191, 0x77, 0},
11758 {0x192, 0x77, 0},
11759 {0x193, 0x77, 0},
11760 {0x194, 0x77, 0},
11761 {0x195, 0, 0},
11762 {0x196, 0x3, 0},
11763 {0x197, 0x37, 0},
11764 {0x198, 0x3, 0},
11765 {0x199, 0, 0},
11766 {0x19A, 0x21, 0},
11767 {0x19B, 0x21, 0},
11768 {0x19C, 0, 0},
11769 {0x19D, 0xaa, 0},
11770 {0x19E, 0, 0},
11771 {0x19F, 0xaa, 0},
11772 {0x1A0, 0, 0},
11773 {0x1A1, 0x2, 0},
11774 {0x1A2, 0xf, 0},
11775 {0x1A3, 0xf, 0},
11776 {0x1A4, 0, 1},
11777 {0x1A5, 0, 1},
11778 {0x1A6, 0, 1},
11779 {0x1A7, 0x2, 0},
11780 {0x1A8, 0xf, 0},
11781 {0x1A9, 0xf, 0},
11782 {0x1AA, 0, 1},
11783 {0x1AB, 0, 1},
11784 {0x1AC, 0, 1},
11785 {0xFFFF, 0, 0},
11788 radio_20xx_regs_t regs_2057_rev5[] = {
11789 {0x00, 0, 1},
11790 {0x01, 0x57, 1},
11791 {0x02, 0x20, 1},
11792 {0x03, 0x1f, 0},
11793 {0x04, 0x4, 0},
11794 {0x05, 0x2, 0},
11795 {0x06, 0x1, 0},
11796 {0x07, 0x1, 0},
11797 {0x08, 0x1, 0},
11798 {0x09, 0x69, 0},
11799 {0x0A, 0x66, 0},
11800 {0x0B, 0x6, 0},
11801 {0x0C, 0x18, 0},
11802 {0x0D, 0x3, 0},
11803 {0x0E, 0x20, 0},
11804 {0x0F, 0x20, 0},
11805 {0x10, 0, 0},
11806 {0x11, 0x7c, 0},
11807 {0x12, 0x42, 0},
11808 {0x13, 0xbd, 0},
11809 {0x14, 0x7, 0},
11810 {0x15, 0x87, 0},
11811 {0x16, 0x8, 0},
11812 {0x17, 0x17, 0},
11813 {0x18, 0x7, 0},
11814 {0x19, 0, 0},
11815 {0x1A, 0x2, 0},
11816 {0x1B, 0x13, 0},
11817 {0x1C, 0x3e, 0},
11818 {0x1D, 0x3e, 0},
11819 {0x1E, 0x96, 0},
11820 {0x1F, 0x4, 0},
11821 {0x20, 0, 0},
11822 {0x21, 0, 0},
11823 {0x22, 0x17, 0},
11824 {0x23, 0x6, 1},
11825 {0x24, 0x1, 0},
11826 {0x25, 0x6, 0},
11827 {0x26, 0x4, 0},
11828 {0x27, 0xd, 0},
11829 {0x28, 0xd, 0},
11830 {0x29, 0x30, 0},
11831 {0x2A, 0x32, 0},
11832 {0x2B, 0x8, 0},
11833 {0x2C, 0x1c, 0},
11834 {0x2D, 0x2, 0},
11835 {0x2E, 0x4, 0},
11836 {0x2F, 0x7f, 0},
11837 {0x30, 0x27, 0},
11838 {0x31, 0, 1},
11839 {0x32, 0, 1},
11840 {0x33, 0, 1},
11841 {0x34, 0, 0},
11842 {0x35, 0x20, 0},
11843 {0x36, 0x18, 0},
11844 {0x37, 0x7, 0},
11845 {0x38, 0x66, 0},
11846 {0x39, 0x66, 0},
11847 {0x3C, 0xff, 0},
11848 {0x3D, 0xff, 0},
11849 {0x40, 0x16, 0},
11850 {0x41, 0x7, 0},
11851 {0x45, 0x3, 0},
11852 {0x46, 0x1, 0},
11853 {0x47, 0x7, 0},
11854 {0x4B, 0x66, 0},
11855 {0x4C, 0x66, 0},
11856 {0x4D, 0, 0},
11857 {0x4E, 0x4, 0},
11858 {0x4F, 0xc, 0},
11859 {0x50, 0, 0},
11860 {0x51, 0x70, 1},
11861 {0x56, 0x7, 0},
11862 {0x57, 0, 0},
11863 {0x58, 0, 0},
11864 {0x59, 0x88, 1},
11865 {0x5A, 0, 0},
11866 {0x5B, 0x1f, 0},
11867 {0x5C, 0x20, 1},
11868 {0x5D, 0x1, 0},
11869 {0x5E, 0x30, 0},
11870 {0x5F, 0x70, 0},
11871 {0x60, 0, 0},
11872 {0x61, 0, 0},
11873 {0x62, 0x33, 1},
11874 {0x63, 0xf, 1},
11875 {0x64, 0xf, 1},
11876 {0x65, 0, 0},
11877 {0x66, 0x11, 0},
11878 {0x80, 0x3c, 0},
11879 {0x81, 0x1, 1},
11880 {0x82, 0xa, 0},
11881 {0x85, 0, 0},
11882 {0x86, 0x40, 0},
11883 {0x87, 0x40, 0},
11884 {0x88, 0x88, 0},
11885 {0x89, 0x10, 0},
11886 {0x8A, 0xf0, 0},
11887 {0x8B, 0x10, 0},
11888 {0x8C, 0xf0, 0},
11889 {0x8F, 0x10, 0},
11890 {0x90, 0x55, 0},
11891 {0x91, 0x3f, 1},
11892 {0x92, 0x36, 1},
11893 {0x93, 0, 0},
11894 {0x94, 0, 0},
11895 {0x95, 0, 0},
11896 {0x96, 0x87, 0},
11897 {0x97, 0x11, 0},
11898 {0x98, 0, 0},
11899 {0x99, 0x33, 0},
11900 {0x9A, 0x88, 0},
11901 {0xA1, 0x20, 1},
11902 {0xA2, 0x3f, 0},
11903 {0xA3, 0x44, 0},
11904 {0xA4, 0x8c, 0},
11905 {0xA5, 0x6c, 0},
11906 {0xA6, 0x22, 0},
11907 {0xA7, 0xbe, 0},
11908 {0xA8, 0x55, 0},
11909 {0xAA, 0xc, 0},
11910 {0xAB, 0xaa, 0},
11911 {0xAC, 0x2, 0},
11912 {0xAD, 0, 0},
11913 {0xAE, 0x10, 0},
11914 {0xAF, 0x1, 0},
11915 {0xB0, 0, 0},
11916 {0xB1, 0, 0},
11917 {0xB2, 0x80, 0},
11918 {0xB3, 0x60, 0},
11919 {0xB4, 0x44, 0},
11920 {0xB5, 0x55, 0},
11921 {0xB6, 0x1, 0},
11922 {0xB7, 0x55, 0},
11923 {0xB8, 0x1, 0},
11924 {0xB9, 0x5, 0},
11925 {0xBA, 0x55, 0},
11926 {0xBB, 0x55, 0},
11927 {0xC3, 0, 0},
11928 {0xC4, 0, 0},
11929 {0xC5, 0, 0},
11930 {0xC6, 0, 0},
11931 {0xC7, 0, 0},
11932 {0xC8, 0, 0},
11933 {0xC9, 0, 0},
11934 {0xCA, 0, 0},
11935 {0xCB, 0, 0},
11936 {0xCD, 0, 0},
11937 {0xCE, 0x5e, 0},
11938 {0xCF, 0xc, 0},
11939 {0xD0, 0xc, 0},
11940 {0xD1, 0xc, 0},
11941 {0xD2, 0, 0},
11942 {0xD3, 0x2b, 0},
11943 {0xD4, 0xc, 0},
11944 {0xD5, 0, 0},
11945 {0xD6, 0x70, 1},
11946 {0xDB, 0x7, 0},
11947 {0xDC, 0, 0},
11948 {0xDD, 0, 0},
11949 {0xDE, 0x88, 1},
11950 {0xDF, 0, 0},
11951 {0xE0, 0x1f, 0},
11952 {0xE1, 0x20, 1},
11953 {0xE2, 0x1, 0},
11954 {0xE3, 0x30, 0},
11955 {0xE4, 0x70, 0},
11956 {0xE5, 0, 0},
11957 {0xE6, 0, 0},
11958 {0xE7, 0x33, 0},
11959 {0xE8, 0xf, 1},
11960 {0xE9, 0xf, 1},
11961 {0xEA, 0, 0},
11962 {0xEB, 0x11, 0},
11963 {0x105, 0x3c, 0},
11964 {0x106, 0x1, 1},
11965 {0x107, 0xa, 0},
11966 {0x10A, 0, 0},
11967 {0x10B, 0x40, 0},
11968 {0x10C, 0x40, 0},
11969 {0x10D, 0x88, 0},
11970 {0x10E, 0x10, 0},
11971 {0x10F, 0xf0, 0},
11972 {0x110, 0x10, 0},
11973 {0x111, 0xf0, 0},
11974 {0x114, 0x10, 0},
11975 {0x115, 0x55, 0},
11976 {0x116, 0x3f, 1},
11977 {0x117, 0x36, 1},
11978 {0x118, 0, 0},
11979 {0x119, 0, 0},
11980 {0x11A, 0, 0},
11981 {0x11B, 0x87, 0},
11982 {0x11C, 0x11, 0},
11983 {0x11D, 0, 0},
11984 {0x11E, 0x33, 0},
11985 {0x11F, 0x88, 0},
11986 {0x126, 0x20, 1},
11987 {0x127, 0x3f, 0},
11988 {0x128, 0x44, 0},
11989 {0x129, 0x8c, 0},
11990 {0x12A, 0x6c, 0},
11991 {0x12B, 0x22, 0},
11992 {0x12C, 0xbe, 0},
11993 {0x12D, 0x55, 0},
11994 {0x12F, 0xc, 0},
11995 {0x130, 0xaa, 0},
11996 {0x131, 0x2, 0},
11997 {0x132, 0, 0},
11998 {0x133, 0x10, 0},
11999 {0x134, 0x1, 0},
12000 {0x135, 0, 0},
12001 {0x136, 0, 0},
12002 {0x137, 0x80, 0},
12003 {0x138, 0x60, 0},
12004 {0x139, 0x44, 0},
12005 {0x13A, 0x55, 0},
12006 {0x13B, 0x1, 0},
12007 {0x13C, 0x55, 0},
12008 {0x13D, 0x1, 0},
12009 {0x13E, 0x5, 0},
12010 {0x13F, 0x55, 0},
12011 {0x140, 0x55, 0},
12012 {0x148, 0, 0},
12013 {0x149, 0, 0},
12014 {0x14A, 0, 0},
12015 {0x14B, 0, 0},
12016 {0x14C, 0, 0},
12017 {0x14D, 0, 0},
12018 {0x14E, 0, 0},
12019 {0x14F, 0, 0},
12020 {0x150, 0, 0},
12021 {0x154, 0xc, 0},
12022 {0x155, 0xc, 0},
12023 {0x156, 0xc, 0},
12024 {0x157, 0, 0},
12025 {0x158, 0x2b, 0},
12026 {0x159, 0x84, 0},
12027 {0x15A, 0x15, 0},
12028 {0x15B, 0xf, 0},
12029 {0x15C, 0, 0},
12030 {0x15D, 0, 0},
12031 {0x15E, 0, 1},
12032 {0x15F, 0, 1},
12033 {0x160, 0, 1},
12034 {0x161, 0, 1},
12035 {0x162, 0, 1},
12036 {0x163, 0, 1},
12037 {0x164, 0, 0},
12038 {0x165, 0, 0},
12039 {0x166, 0, 0},
12040 {0x167, 0, 0},
12041 {0x168, 0, 0},
12042 {0x169, 0, 0},
12043 {0x16A, 0, 1},
12044 {0x16B, 0, 1},
12045 {0x16C, 0, 1},
12046 {0x16D, 0, 0},
12047 {0x170, 0, 0},
12048 {0x171, 0x77, 0},
12049 {0x172, 0x77, 0},
12050 {0x173, 0x77, 0},
12051 {0x174, 0x77, 0},
12052 {0x175, 0, 0},
12053 {0x176, 0x3, 0},
12054 {0x177, 0x37, 0},
12055 {0x178, 0x3, 0},
12056 {0x179, 0, 0},
12057 {0x17B, 0x21, 0},
12058 {0x17C, 0, 0},
12059 {0x17D, 0xaa, 0},
12060 {0x17E, 0, 0},
12061 {0x190, 0, 0},
12062 {0x191, 0x77, 0},
12063 {0x192, 0x77, 0},
12064 {0x193, 0x77, 0},
12065 {0x194, 0x77, 0},
12066 {0x195, 0, 0},
12067 {0x196, 0x3, 0},
12068 {0x197, 0x37, 0},
12069 {0x198, 0x3, 0},
12070 {0x199, 0, 0},
12071 {0x19B, 0x21, 0},
12072 {0x19C, 0, 0},
12073 {0x19D, 0xaa, 0},
12074 {0x19E, 0, 0},
12075 {0x1A1, 0x2, 0},
12076 {0x1A2, 0xf, 0},
12077 {0x1A3, 0xf, 0},
12078 {0x1A4, 0, 1},
12079 {0x1A5, 0, 1},
12080 {0x1A6, 0, 1},
12081 {0x1A7, 0x2, 0},
12082 {0x1A8, 0xf, 0},
12083 {0x1A9, 0xf, 0},
12084 {0x1AA, 0, 1},
12085 {0x1AB, 0, 1},
12086 {0x1AC, 0, 1},
12087 {0x1AD, 0x84, 0},
12088 {0x1AE, 0x60, 0},
12089 {0x1AF, 0x47, 0},
12090 {0x1B0, 0x47, 0},
12091 {0x1B1, 0, 0},
12092 {0x1B2, 0, 0},
12093 {0x1B3, 0, 0},
12094 {0x1B4, 0, 0},
12095 {0x1B5, 0, 0},
12096 {0x1B6, 0, 0},
12097 {0x1B7, 0xc, 1},
12098 {0x1B8, 0, 0},
12099 {0x1B9, 0, 0},
12100 {0x1BA, 0, 0},
12101 {0x1BB, 0, 0},
12102 {0x1BC, 0, 0},
12103 {0x1BD, 0, 0},
12104 {0x1BE, 0, 0},
12105 {0x1BF, 0, 0},
12106 {0x1C0, 0, 0},
12107 {0x1C1, 0x1, 1},
12108 {0x1C2, 0x80, 1},
12109 {0x1C3, 0, 0},
12110 {0x1C4, 0, 0},
12111 {0x1C5, 0, 0},
12112 {0x1C6, 0, 0},
12113 {0x1C7, 0, 0},
12114 {0x1C8, 0, 0},
12115 {0x1C9, 0, 0},
12116 {0x1CA, 0, 0},
12117 {0xFFFF, 0, 0}
12120 radio_20xx_regs_t regs_2057_rev5v1[] = {
12121 {0x00, 0x15, 1},
12122 {0x01, 0x57, 1},
12123 {0x02, 0x20, 1},
12124 {0x03, 0x1f, 0},
12125 {0x04, 0x4, 0},
12126 {0x05, 0x2, 0},
12127 {0x06, 0x1, 0},
12128 {0x07, 0x1, 0},
12129 {0x08, 0x1, 0},
12130 {0x09, 0x69, 0},
12131 {0x0A, 0x66, 0},
12132 {0x0B, 0x6, 0},
12133 {0x0C, 0x18, 0},
12134 {0x0D, 0x3, 0},
12135 {0x0E, 0x20, 0},
12136 {0x0F, 0x20, 0},
12137 {0x10, 0, 0},
12138 {0x11, 0x7c, 0},
12139 {0x12, 0x42, 0},
12140 {0x13, 0xbd, 0},
12141 {0x14, 0x7, 0},
12142 {0x15, 0x87, 0},
12143 {0x16, 0x8, 0},
12144 {0x17, 0x17, 0},
12145 {0x18, 0x7, 0},
12146 {0x19, 0, 0},
12147 {0x1A, 0x2, 0},
12148 {0x1B, 0x13, 0},
12149 {0x1C, 0x3e, 0},
12150 {0x1D, 0x3e, 0},
12151 {0x1E, 0x96, 0},
12152 {0x1F, 0x4, 0},
12153 {0x20, 0, 0},
12154 {0x21, 0, 0},
12155 {0x22, 0x17, 0},
12156 {0x23, 0x6, 1},
12157 {0x24, 0x1, 0},
12158 {0x25, 0x6, 0},
12159 {0x26, 0x4, 0},
12160 {0x27, 0xd, 0},
12161 {0x28, 0xd, 0},
12162 {0x29, 0x30, 0},
12163 {0x2A, 0x32, 0},
12164 {0x2B, 0x8, 0},
12165 {0x2C, 0x1c, 0},
12166 {0x2D, 0x2, 0},
12167 {0x2E, 0x4, 0},
12168 {0x2F, 0x7f, 0},
12169 {0x30, 0x27, 0},
12170 {0x31, 0, 1},
12171 {0x32, 0, 1},
12172 {0x33, 0, 1},
12173 {0x34, 0, 0},
12174 {0x35, 0x20, 0},
12175 {0x36, 0x18, 0},
12176 {0x37, 0x7, 0},
12177 {0x38, 0x66, 0},
12178 {0x39, 0x66, 0},
12179 {0x3C, 0xff, 0},
12180 {0x3D, 0xff, 0},
12181 {0x40, 0x16, 0},
12182 {0x41, 0x7, 0},
12183 {0x45, 0x3, 0},
12184 {0x46, 0x1, 0},
12185 {0x47, 0x7, 0},
12186 {0x4B, 0x66, 0},
12187 {0x4C, 0x66, 0},
12188 {0x4D, 0, 0},
12189 {0x4E, 0x4, 0},
12190 {0x4F, 0xc, 0},
12191 {0x50, 0, 0},
12192 {0x51, 0x70, 1},
12193 {0x56, 0x7, 0},
12194 {0x57, 0, 0},
12195 {0x58, 0, 0},
12196 {0x59, 0x88, 1},
12197 {0x5A, 0, 0},
12198 {0x5B, 0x1f, 0},
12199 {0x5C, 0x20, 1},
12200 {0x5D, 0x1, 0},
12201 {0x5E, 0x30, 0},
12202 {0x5F, 0x70, 0},
12203 {0x60, 0, 0},
12204 {0x61, 0, 0},
12205 {0x62, 0x33, 1},
12206 {0x63, 0xf, 1},
12207 {0x64, 0xf, 1},
12208 {0x65, 0, 0},
12209 {0x66, 0x11, 0},
12210 {0x80, 0x3c, 0},
12211 {0x81, 0x1, 1},
12212 {0x82, 0xa, 0},
12213 {0x85, 0, 0},
12214 {0x86, 0x40, 0},
12215 {0x87, 0x40, 0},
12216 {0x88, 0x88, 0},
12217 {0x89, 0x10, 0},
12218 {0x8A, 0xf0, 0},
12219 {0x8B, 0x10, 0},
12220 {0x8C, 0xf0, 0},
12221 {0x8F, 0x10, 0},
12222 {0x90, 0x55, 0},
12223 {0x91, 0x3f, 1},
12224 {0x92, 0x36, 1},
12225 {0x93, 0, 0},
12226 {0x94, 0, 0},
12227 {0x95, 0, 0},
12228 {0x96, 0x87, 0},
12229 {0x97, 0x11, 0},
12230 {0x98, 0, 0},
12231 {0x99, 0x33, 0},
12232 {0x9A, 0x88, 0},
12233 {0xA1, 0x20, 1},
12234 {0xA2, 0x3f, 0},
12235 {0xA3, 0x44, 0},
12236 {0xA4, 0x8c, 0},
12237 {0xA5, 0x6c, 0},
12238 {0xA6, 0x22, 0},
12239 {0xA7, 0xbe, 0},
12240 {0xA8, 0x55, 0},
12241 {0xAA, 0xc, 0},
12242 {0xAB, 0xaa, 0},
12243 {0xAC, 0x2, 0},
12244 {0xAD, 0, 0},
12245 {0xAE, 0x10, 0},
12246 {0xAF, 0x1, 0},
12247 {0xB0, 0, 0},
12248 {0xB1, 0, 0},
12249 {0xB2, 0x80, 0},
12250 {0xB3, 0x60, 0},
12251 {0xB4, 0x44, 0},
12252 {0xB5, 0x55, 0},
12253 {0xB6, 0x1, 0},
12254 {0xB7, 0x55, 0},
12255 {0xB8, 0x1, 0},
12256 {0xB9, 0x5, 0},
12257 {0xBA, 0x55, 0},
12258 {0xBB, 0x55, 0},
12259 {0xC3, 0, 0},
12260 {0xC4, 0, 0},
12261 {0xC5, 0, 0},
12262 {0xC6, 0, 0},
12263 {0xC7, 0, 0},
12264 {0xC8, 0, 0},
12265 {0xC9, 0x1, 1},
12266 {0xCA, 0, 0},
12267 {0xCB, 0, 0},
12268 {0xCD, 0, 0},
12269 {0xCE, 0x5e, 0},
12270 {0xCF, 0xc, 0},
12271 {0xD0, 0xc, 0},
12272 {0xD1, 0xc, 0},
12273 {0xD2, 0, 0},
12274 {0xD3, 0x2b, 0},
12275 {0xD4, 0xc, 0},
12276 {0xD5, 0, 0},
12277 {0xD6, 0x70, 1},
12278 {0xDB, 0x7, 0},
12279 {0xDC, 0, 0},
12280 {0xDD, 0, 0},
12281 {0xDE, 0x88, 1},
12282 {0xDF, 0, 0},
12283 {0xE0, 0x1f, 0},
12284 {0xE1, 0x20, 1},
12285 {0xE2, 0x1, 0},
12286 {0xE3, 0x30, 0},
12287 {0xE4, 0x70, 0},
12288 {0xE5, 0, 0},
12289 {0xE6, 0, 0},
12290 {0xE7, 0x33, 0},
12291 {0xE8, 0xf, 1},
12292 {0xE9, 0xf, 1},
12293 {0xEA, 0, 0},
12294 {0xEB, 0x11, 0},
12295 {0x105, 0x3c, 0},
12296 {0x106, 0x1, 1},
12297 {0x107, 0xa, 0},
12298 {0x10A, 0, 0},
12299 {0x10B, 0x40, 0},
12300 {0x10C, 0x40, 0},
12301 {0x10D, 0x88, 0},
12302 {0x10E, 0x10, 0},
12303 {0x10F, 0xf0, 0},
12304 {0x110, 0x10, 0},
12305 {0x111, 0xf0, 0},
12306 {0x114, 0x10, 0},
12307 {0x115, 0x55, 0},
12308 {0x116, 0x3f, 1},
12309 {0x117, 0x36, 1},
12310 {0x118, 0, 0},
12311 {0x119, 0, 0},
12312 {0x11A, 0, 0},
12313 {0x11B, 0x87, 0},
12314 {0x11C, 0x11, 0},
12315 {0x11D, 0, 0},
12316 {0x11E, 0x33, 0},
12317 {0x11F, 0x88, 0},
12318 {0x126, 0x20, 1},
12319 {0x127, 0x3f, 0},
12320 {0x128, 0x44, 0},
12321 {0x129, 0x8c, 0},
12322 {0x12A, 0x6c, 0},
12323 {0x12B, 0x22, 0},
12324 {0x12C, 0xbe, 0},
12325 {0x12D, 0x55, 0},
12326 {0x12F, 0xc, 0},
12327 {0x130, 0xaa, 0},
12328 {0x131, 0x2, 0},
12329 {0x132, 0, 0},
12330 {0x133, 0x10, 0},
12331 {0x134, 0x1, 0},
12332 {0x135, 0, 0},
12333 {0x136, 0, 0},
12334 {0x137, 0x80, 0},
12335 {0x138, 0x60, 0},
12336 {0x139, 0x44, 0},
12337 {0x13A, 0x55, 0},
12338 {0x13B, 0x1, 0},
12339 {0x13C, 0x55, 0},
12340 {0x13D, 0x1, 0},
12341 {0x13E, 0x5, 0},
12342 {0x13F, 0x55, 0},
12343 {0x140, 0x55, 0},
12344 {0x148, 0, 0},
12345 {0x149, 0, 0},
12346 {0x14A, 0, 0},
12347 {0x14B, 0, 0},
12348 {0x14C, 0, 0},
12349 {0x14D, 0, 0},
12350 {0x14E, 0x1, 1},
12351 {0x14F, 0, 0},
12352 {0x150, 0, 0},
12353 {0x154, 0xc, 0},
12354 {0x155, 0xc, 0},
12355 {0x156, 0xc, 0},
12356 {0x157, 0, 0},
12357 {0x158, 0x2b, 0},
12358 {0x159, 0x84, 0},
12359 {0x15A, 0x15, 0},
12360 {0x15B, 0xf, 0},
12361 {0x15C, 0, 0},
12362 {0x15D, 0, 0},
12363 {0x15E, 0, 1},
12364 {0x15F, 0, 1},
12365 {0x160, 0, 1},
12366 {0x161, 0, 1},
12367 {0x162, 0, 1},
12368 {0x163, 0, 1},
12369 {0x164, 0, 0},
12370 {0x165, 0, 0},
12371 {0x166, 0, 0},
12372 {0x167, 0, 0},
12373 {0x168, 0, 0},
12374 {0x169, 0, 0},
12375 {0x16A, 0, 1},
12376 {0x16B, 0, 1},
12377 {0x16C, 0, 1},
12378 {0x16D, 0, 0},
12379 {0x170, 0, 0},
12380 {0x171, 0x77, 0},
12381 {0x172, 0x77, 0},
12382 {0x173, 0x77, 0},
12383 {0x174, 0x77, 0},
12384 {0x175, 0, 0},
12385 {0x176, 0x3, 0},
12386 {0x177, 0x37, 0},
12387 {0x178, 0x3, 0},
12388 {0x179, 0, 0},
12389 {0x17B, 0x21, 0},
12390 {0x17C, 0, 0},
12391 {0x17D, 0xaa, 0},
12392 {0x17E, 0, 0},
12393 {0x190, 0, 0},
12394 {0x191, 0x77, 0},
12395 {0x192, 0x77, 0},
12396 {0x193, 0x77, 0},
12397 {0x194, 0x77, 0},
12398 {0x195, 0, 0},
12399 {0x196, 0x3, 0},
12400 {0x197, 0x37, 0},
12401 {0x198, 0x3, 0},
12402 {0x199, 0, 0},
12403 {0x19B, 0x21, 0},
12404 {0x19C, 0, 0},
12405 {0x19D, 0xaa, 0},
12406 {0x19E, 0, 0},
12407 {0x1A1, 0x2, 0},
12408 {0x1A2, 0xf, 0},
12409 {0x1A3, 0xf, 0},
12410 {0x1A4, 0, 1},
12411 {0x1A5, 0, 1},
12412 {0x1A6, 0, 1},
12413 {0x1A7, 0x2, 0},
12414 {0x1A8, 0xf, 0},
12415 {0x1A9, 0xf, 0},
12416 {0x1AA, 0, 1},
12417 {0x1AB, 0, 1},
12418 {0x1AC, 0, 1},
12419 {0x1AD, 0x84, 0},
12420 {0x1AE, 0x60, 0},
12421 {0x1AF, 0x47, 0},
12422 {0x1B0, 0x47, 0},
12423 {0x1B1, 0, 0},
12424 {0x1B2, 0, 0},
12425 {0x1B3, 0, 0},
12426 {0x1B4, 0, 0},
12427 {0x1B5, 0, 0},
12428 {0x1B6, 0, 0},
12429 {0x1B7, 0xc, 1},
12430 {0x1B8, 0, 0},
12431 {0x1B9, 0, 0},
12432 {0x1BA, 0, 0},
12433 {0x1BB, 0, 0},
12434 {0x1BC, 0, 0},
12435 {0x1BD, 0, 0},
12436 {0x1BE, 0, 0},
12437 {0x1BF, 0, 0},
12438 {0x1C0, 0, 0},
12439 {0x1C1, 0x1, 1},
12440 {0x1C2, 0x80, 1},
12441 {0x1C3, 0, 0},
12442 {0x1C4, 0, 0},
12443 {0x1C5, 0, 0},
12444 {0x1C6, 0, 0},
12445 {0x1C7, 0, 0},
12446 {0x1C8, 0, 0},
12447 {0x1C9, 0, 0},
12448 {0x1CA, 0, 0},
12449 {0xFFFF, 0, 0}
12452 radio_20xx_regs_t regs_2057_rev7[] = {
12453 {0x00, 0, 1},
12454 {0x01, 0x57, 1},
12455 {0x02, 0x20, 1},
12456 {0x03, 0x1f, 0},
12457 {0x04, 0x4, 0},
12458 {0x05, 0x2, 0},
12459 {0x06, 0x1, 0},
12460 {0x07, 0x1, 0},
12461 {0x08, 0x1, 0},
12462 {0x09, 0x69, 0},
12463 {0x0A, 0x66, 0},
12464 {0x0B, 0x6, 0},
12465 {0x0C, 0x18, 0},
12466 {0x0D, 0x3, 0},
12467 {0x0E, 0x20, 0},
12468 {0x0F, 0x20, 0},
12469 {0x10, 0, 0},
12470 {0x11, 0x7c, 0},
12471 {0x12, 0x42, 0},
12472 {0x13, 0xbd, 0},
12473 {0x14, 0x7, 0},
12474 {0x15, 0x87, 0},
12475 {0x16, 0x8, 0},
12476 {0x17, 0x17, 0},
12477 {0x18, 0x7, 0},
12478 {0x19, 0, 0},
12479 {0x1A, 0x2, 0},
12480 {0x1B, 0x13, 0},
12481 {0x1C, 0x3e, 0},
12482 {0x1D, 0x3e, 0},
12483 {0x1E, 0x96, 0},
12484 {0x1F, 0x4, 0},
12485 {0x20, 0, 0},
12486 {0x21, 0, 0},
12487 {0x22, 0x17, 0},
12488 {0x23, 0x6, 0},
12489 {0x24, 0x1, 0},
12490 {0x25, 0x6, 0},
12491 {0x26, 0x4, 0},
12492 {0x27, 0xd, 0},
12493 {0x28, 0xd, 0},
12494 {0x29, 0x30, 0},
12495 {0x2A, 0x32, 0},
12496 {0x2B, 0x8, 0},
12497 {0x2C, 0x1c, 0},
12498 {0x2D, 0x2, 0},
12499 {0x2E, 0x4, 0},
12500 {0x2F, 0x7f, 0},
12501 {0x30, 0x27, 0},
12502 {0x31, 0, 1},
12503 {0x32, 0, 1},
12504 {0x33, 0, 1},
12505 {0x34, 0, 0},
12506 {0x35, 0x20, 0},
12507 {0x36, 0x18, 0},
12508 {0x37, 0x7, 0},
12509 {0x38, 0x66, 0},
12510 {0x39, 0x66, 0},
12511 {0x3A, 0x66, 0},
12512 {0x3B, 0x66, 0},
12513 {0x3C, 0xff, 0},
12514 {0x3D, 0xff, 0},
12515 {0x3E, 0xff, 0},
12516 {0x3F, 0xff, 0},
12517 {0x40, 0x16, 0},
12518 {0x41, 0x7, 0},
12519 {0x42, 0x19, 0},
12520 {0x43, 0x7, 0},
12521 {0x44, 0x6, 0},
12522 {0x45, 0x3, 0},
12523 {0x46, 0x1, 0},
12524 {0x47, 0x7, 0},
12525 {0x48, 0x33, 0},
12526 {0x49, 0x5, 0},
12527 {0x4A, 0x77, 0},
12528 {0x4B, 0x66, 0},
12529 {0x4C, 0x66, 0},
12530 {0x4D, 0, 0},
12531 {0x4E, 0x4, 0},
12532 {0x4F, 0xc, 0},
12533 {0x50, 0, 0},
12534 {0x51, 0x70, 1},
12535 {0x56, 0x7, 0},
12536 {0x57, 0, 0},
12537 {0x58, 0, 0},
12538 {0x59, 0x88, 1},
12539 {0x5A, 0, 0},
12540 {0x5B, 0x1f, 0},
12541 {0x5C, 0x20, 1},
12542 {0x5D, 0x1, 0},
12543 {0x5E, 0x30, 0},
12544 {0x5F, 0x70, 0},
12545 {0x60, 0, 0},
12546 {0x61, 0, 0},
12547 {0x62, 0x33, 1},
12548 {0x63, 0xf, 1},
12549 {0x64, 0x13, 1},
12550 {0x65, 0, 0},
12551 {0x66, 0xee, 1},
12552 {0x69, 0, 0},
12553 {0x6A, 0x7e, 0},
12554 {0x6B, 0x3f, 0},
12555 {0x6C, 0x7f, 0},
12556 {0x6D, 0x78, 0},
12557 {0x6E, 0x58, 1},
12558 {0x6F, 0x88, 0},
12559 {0x70, 0x8, 0},
12560 {0x71, 0xf, 0},
12561 {0x72, 0xbc, 0},
12562 {0x73, 0x8, 0},
12563 {0x74, 0x60, 0},
12564 {0x75, 0x13, 1},
12565 {0x76, 0x70, 0},
12566 {0x77, 0, 0},
12567 {0x78, 0, 0},
12568 {0x79, 0, 0},
12569 {0x7A, 0x33, 0},
12570 {0x7B, 0x13, 1},
12571 {0x7C, 0x14, 1},
12572 {0x7D, 0xee, 1},
12573 {0x80, 0x3c, 0},
12574 {0x81, 0x1, 1},
12575 {0x82, 0xa, 0},
12576 {0x83, 0x9d, 0},
12577 {0x84, 0xa, 0},
12578 {0x85, 0, 0},
12579 {0x86, 0x40, 0},
12580 {0x87, 0x40, 0},
12581 {0x88, 0x88, 0},
12582 {0x89, 0x10, 0},
12583 {0x8A, 0xf0, 0},
12584 {0x8B, 0x10, 0},
12585 {0x8C, 0xf0, 0},
12586 {0x8D, 0, 0},
12587 {0x8E, 0, 0},
12588 {0x8F, 0x10, 0},
12589 {0x90, 0x55, 0},
12590 {0x91, 0x3f, 1},
12591 {0x92, 0x36, 1},
12592 {0x93, 0, 0},
12593 {0x94, 0, 0},
12594 {0x95, 0, 0},
12595 {0x96, 0x87, 0},
12596 {0x97, 0x11, 0},
12597 {0x98, 0, 0},
12598 {0x99, 0x33, 0},
12599 {0x9A, 0x88, 0},
12600 {0x9B, 0, 0},
12601 {0x9C, 0x87, 0},
12602 {0x9D, 0x11, 0},
12603 {0x9E, 0, 0},
12604 {0x9F, 0x33, 0},
12605 {0xA0, 0x88, 0},
12606 {0xA1, 0x20, 1},
12607 {0xA2, 0x3f, 0},
12608 {0xA3, 0x44, 0},
12609 {0xA4, 0x8c, 0},
12610 {0xA5, 0x6c, 0},
12611 {0xA6, 0x22, 0},
12612 {0xA7, 0xbe, 0},
12613 {0xA8, 0x55, 0},
12614 {0xAA, 0xc, 0},
12615 {0xAB, 0xaa, 0},
12616 {0xAC, 0x2, 0},
12617 {0xAD, 0, 0},
12618 {0xAE, 0x10, 0},
12619 {0xAF, 0x1, 0},
12620 {0xB0, 0, 0},
12621 {0xB1, 0, 0},
12622 {0xB2, 0x80, 0},
12623 {0xB3, 0x60, 0},
12624 {0xB4, 0x44, 0},
12625 {0xB5, 0x55, 0},
12626 {0xB6, 0x1, 0},
12627 {0xB7, 0x55, 0},
12628 {0xB8, 0x1, 0},
12629 {0xB9, 0x5, 0},
12630 {0xBA, 0x55, 0},
12631 {0xBB, 0x55, 0},
12632 {0xC1, 0, 0},
12633 {0xC2, 0, 0},
12634 {0xC3, 0, 0},
12635 {0xC4, 0, 0},
12636 {0xC5, 0, 0},
12637 {0xC6, 0, 0},
12638 {0xC7, 0, 0},
12639 {0xC8, 0, 0},
12640 {0xC9, 0, 0},
12641 {0xCA, 0, 0},
12642 {0xCB, 0, 0},
12643 {0xCC, 0, 0},
12644 {0xCD, 0, 0},
12645 {0xCE, 0x5e, 0},
12646 {0xCF, 0xc, 0},
12647 {0xD0, 0xc, 0},
12648 {0xD1, 0xc, 0},
12649 {0xD2, 0, 0},
12650 {0xD3, 0x2b, 0},
12651 {0xD4, 0xc, 0},
12652 {0xD5, 0, 0},
12653 {0xD6, 0x70, 1},
12654 {0xDB, 0x7, 0},
12655 {0xDC, 0, 0},
12656 {0xDD, 0, 0},
12657 {0xDE, 0x88, 1},
12658 {0xDF, 0, 0},
12659 {0xE0, 0x1f, 0},
12660 {0xE1, 0x20, 1},
12661 {0xE2, 0x1, 0},
12662 {0xE3, 0x30, 0},
12663 {0xE4, 0x70, 0},
12664 {0xE5, 0, 0},
12665 {0xE6, 0, 0},
12666 {0xE7, 0x33, 0},
12667 {0xE8, 0xf, 1},
12668 {0xE9, 0x13, 1},
12669 {0xEA, 0, 0},
12670 {0xEB, 0xee, 1},
12671 {0xEE, 0, 0},
12672 {0xEF, 0x7e, 0},
12673 {0xF0, 0x3f, 0},
12674 {0xF1, 0x7f, 0},
12675 {0xF2, 0x78, 0},
12676 {0xF3, 0x58, 1},
12677 {0xF4, 0x88, 0},
12678 {0xF5, 0x8, 0},
12679 {0xF6, 0xf, 0},
12680 {0xF7, 0xbc, 0},
12681 {0xF8, 0x8, 0},
12682 {0xF9, 0x60, 0},
12683 {0xFA, 0x13, 1},
12684 {0xFB, 0x70, 0},
12685 {0xFC, 0, 0},
12686 {0xFD, 0, 0},
12687 {0xFE, 0, 0},
12688 {0xFF, 0x33, 0},
12689 {0x100, 0x13, 1},
12690 {0x101, 0x14, 1},
12691 {0x102, 0xee, 1},
12692 {0x105, 0x3c, 0},
12693 {0x106, 0x1, 1},
12694 {0x107, 0xa, 0},
12695 {0x108, 0x9d, 0},
12696 {0x109, 0xa, 0},
12697 {0x10A, 0, 0},
12698 {0x10B, 0x40, 0},
12699 {0x10C, 0x40, 0},
12700 {0x10D, 0x88, 0},
12701 {0x10E, 0x10, 0},
12702 {0x10F, 0xf0, 0},
12703 {0x110, 0x10, 0},
12704 {0x111, 0xf0, 0},
12705 {0x112, 0, 0},
12706 {0x113, 0, 0},
12707 {0x114, 0x10, 0},
12708 {0x115, 0x55, 0},
12709 {0x116, 0x3f, 1},
12710 {0x117, 0x36, 1},
12711 {0x118, 0, 0},
12712 {0x119, 0, 0},
12713 {0x11A, 0, 0},
12714 {0x11B, 0x87, 0},
12715 {0x11C, 0x11, 0},
12716 {0x11D, 0, 0},
12717 {0x11E, 0x33, 0},
12718 {0x11F, 0x88, 0},
12719 {0x120, 0, 0},
12720 {0x121, 0x87, 0},
12721 {0x122, 0x11, 0},
12722 {0x123, 0, 0},
12723 {0x124, 0x33, 0},
12724 {0x125, 0x88, 0},
12725 {0x126, 0x20, 1},
12726 {0x127, 0x3f, 0},
12727 {0x128, 0x44, 0},
12728 {0x129, 0x8c, 0},
12729 {0x12A, 0x6c, 0},
12730 {0x12B, 0x22, 0},
12731 {0x12C, 0xbe, 0},
12732 {0x12D, 0x55, 0},
12733 {0x12F, 0xc, 0},
12734 {0x130, 0xaa, 0},
12735 {0x131, 0x2, 0},
12736 {0x132, 0, 0},
12737 {0x133, 0x10, 0},
12738 {0x134, 0x1, 0},
12739 {0x135, 0, 0},
12740 {0x136, 0, 0},
12741 {0x137, 0x80, 0},
12742 {0x138, 0x60, 0},
12743 {0x139, 0x44, 0},
12744 {0x13A, 0x55, 0},
12745 {0x13B, 0x1, 0},
12746 {0x13C, 0x55, 0},
12747 {0x13D, 0x1, 0},
12748 {0x13E, 0x5, 0},
12749 {0x13F, 0x55, 0},
12750 {0x140, 0x55, 0},
12751 {0x146, 0, 0},
12752 {0x147, 0, 0},
12753 {0x148, 0, 0},
12754 {0x149, 0, 0},
12755 {0x14A, 0, 0},
12756 {0x14B, 0, 0},
12757 {0x14C, 0, 0},
12758 {0x14D, 0, 0},
12759 {0x14E, 0, 0},
12760 {0x14F, 0, 0},
12761 {0x150, 0, 0},
12762 {0x151, 0, 0},
12763 {0x154, 0xc, 0},
12764 {0x155, 0xc, 0},
12765 {0x156, 0xc, 0},
12766 {0x157, 0, 0},
12767 {0x158, 0x2b, 0},
12768 {0x159, 0x84, 0},
12769 {0x15A, 0x15, 0},
12770 {0x15B, 0xf, 0},
12771 {0x15C, 0, 0},
12772 {0x15D, 0, 0},
12773 {0x15E, 0, 1},
12774 {0x15F, 0, 1},
12775 {0x160, 0, 1},
12776 {0x161, 0, 1},
12777 {0x162, 0, 1},
12778 {0x163, 0, 1},
12779 {0x164, 0, 0},
12780 {0x165, 0, 0},
12781 {0x166, 0, 0},
12782 {0x167, 0, 0},
12783 {0x168, 0, 0},
12784 {0x169, 0, 0},
12785 {0x16A, 0, 1},
12786 {0x16B, 0, 1},
12787 {0x16C, 0, 1},
12788 {0x16D, 0, 0},
12789 {0x170, 0, 0},
12790 {0x171, 0x77, 0},
12791 {0x172, 0x77, 0},
12792 {0x173, 0x77, 0},
12793 {0x174, 0x77, 0},
12794 {0x175, 0, 0},
12795 {0x176, 0x3, 0},
12796 {0x177, 0x37, 0},
12797 {0x178, 0x3, 0},
12798 {0x179, 0, 0},
12799 {0x17A, 0x21, 0},
12800 {0x17B, 0x21, 0},
12801 {0x17C, 0, 0},
12802 {0x17D, 0xaa, 0},
12803 {0x17E, 0, 0},
12804 {0x17F, 0xaa, 0},
12805 {0x180, 0, 0},
12806 {0x190, 0, 0},
12807 {0x191, 0x77, 0},
12808 {0x192, 0x77, 0},
12809 {0x193, 0x77, 0},
12810 {0x194, 0x77, 0},
12811 {0x195, 0, 0},
12812 {0x196, 0x3, 0},
12813 {0x197, 0x37, 0},
12814 {0x198, 0x3, 0},
12815 {0x199, 0, 0},
12816 {0x19A, 0x21, 0},
12817 {0x19B, 0x21, 0},
12818 {0x19C, 0, 0},
12819 {0x19D, 0xaa, 0},
12820 {0x19E, 0, 0},
12821 {0x19F, 0xaa, 0},
12822 {0x1A0, 0, 0},
12823 {0x1A1, 0x2, 0},
12824 {0x1A2, 0xf, 0},
12825 {0x1A3, 0xf, 0},
12826 {0x1A4, 0, 1},
12827 {0x1A5, 0, 1},
12828 {0x1A6, 0, 1},
12829 {0x1A7, 0x2, 0},
12830 {0x1A8, 0xf, 0},
12831 {0x1A9, 0xf, 0},
12832 {0x1AA, 0, 1},
12833 {0x1AB, 0, 1},
12834 {0x1AC, 0, 1},
12835 {0x1AD, 0x84, 0},
12836 {0x1AE, 0x60, 0},
12837 {0x1AF, 0x47, 0},
12838 {0x1B0, 0x47, 0},
12839 {0x1B1, 0, 0},
12840 {0x1B2, 0, 0},
12841 {0x1B3, 0, 0},
12842 {0x1B4, 0, 0},
12843 {0x1B5, 0, 0},
12844 {0x1B6, 0, 0},
12845 {0x1B7, 0x5, 1},
12846 {0x1B8, 0, 0},
12847 {0x1B9, 0, 0},
12848 {0x1BA, 0, 0},
12849 {0x1BB, 0, 0},
12850 {0x1BC, 0, 0},
12851 {0x1BD, 0, 0},
12852 {0x1BE, 0, 0},
12853 {0x1BF, 0, 0},
12854 {0x1C0, 0, 0},
12855 {0x1C1, 0, 0},
12856 {0x1C2, 0xa0, 1},
12857 {0x1C3, 0, 0},
12858 {0x1C4, 0, 0},
12859 {0x1C5, 0, 0},
12860 {0x1C6, 0, 0},
12861 {0x1C7, 0, 0},
12862 {0x1C8, 0, 0},
12863 {0x1C9, 0, 0},
12864 {0x1CA, 0, 0},
12865 {0xFFFF, 0, 0}
12868 radio_20xx_regs_t regs_2057_rev8[] = {
12869 {0x00, 0x8, 1},
12870 {0x01, 0x57, 1},
12871 {0x02, 0x20, 1},
12872 {0x03, 0x1f, 0},
12873 {0x04, 0x4, 0},
12874 {0x05, 0x2, 0},
12875 {0x06, 0x1, 0},
12876 {0x07, 0x1, 0},
12877 {0x08, 0x1, 0},
12878 {0x09, 0x69, 0},
12879 {0x0A, 0x66, 0},
12880 {0x0B, 0x6, 0},
12881 {0x0C, 0x18, 0},
12882 {0x0D, 0x3, 0},
12883 {0x0E, 0x20, 0},
12884 {0x0F, 0x20, 0},
12885 {0x10, 0, 0},
12886 {0x11, 0x7c, 0},
12887 {0x12, 0x42, 0},
12888 {0x13, 0xbd, 0},
12889 {0x14, 0x7, 0},
12890 {0x15, 0x87, 0},
12891 {0x16, 0x8, 0},
12892 {0x17, 0x17, 0},
12893 {0x18, 0x7, 0},
12894 {0x19, 0, 0},
12895 {0x1A, 0x2, 0},
12896 {0x1B, 0x13, 0},
12897 {0x1C, 0x3e, 0},
12898 {0x1D, 0x3e, 0},
12899 {0x1E, 0x96, 0},
12900 {0x1F, 0x4, 0},
12901 {0x20, 0, 0},
12902 {0x21, 0, 0},
12903 {0x22, 0x17, 0},
12904 {0x23, 0x6, 0},
12905 {0x24, 0x1, 0},
12906 {0x25, 0x6, 0},
12907 {0x26, 0x4, 0},
12908 {0x27, 0xd, 0},
12909 {0x28, 0xd, 0},
12910 {0x29, 0x30, 0},
12911 {0x2A, 0x32, 0},
12912 {0x2B, 0x8, 0},
12913 {0x2C, 0x1c, 0},
12914 {0x2D, 0x2, 0},
12915 {0x2E, 0x4, 0},
12916 {0x2F, 0x7f, 0},
12917 {0x30, 0x27, 0},
12918 {0x31, 0, 1},
12919 {0x32, 0, 1},
12920 {0x33, 0, 1},
12921 {0x34, 0, 0},
12922 {0x35, 0x20, 0},
12923 {0x36, 0x18, 0},
12924 {0x37, 0x7, 0},
12925 {0x38, 0x66, 0},
12926 {0x39, 0x66, 0},
12927 {0x3A, 0x66, 0},
12928 {0x3B, 0x66, 0},
12929 {0x3C, 0xff, 0},
12930 {0x3D, 0xff, 0},
12931 {0x3E, 0xff, 0},
12932 {0x3F, 0xff, 0},
12933 {0x40, 0x16, 0},
12934 {0x41, 0x7, 0},
12935 {0x42, 0x19, 0},
12936 {0x43, 0x7, 0},
12937 {0x44, 0x6, 0},
12938 {0x45, 0x3, 0},
12939 {0x46, 0x1, 0},
12940 {0x47, 0x7, 0},
12941 {0x48, 0x33, 0},
12942 {0x49, 0x5, 0},
12943 {0x4A, 0x77, 0},
12944 {0x4B, 0x66, 0},
12945 {0x4C, 0x66, 0},
12946 {0x4D, 0, 0},
12947 {0x4E, 0x4, 0},
12948 {0x4F, 0xc, 0},
12949 {0x50, 0, 0},
12950 {0x51, 0x70, 1},
12951 {0x56, 0x7, 0},
12952 {0x57, 0, 0},
12953 {0x58, 0, 0},
12954 {0x59, 0x88, 1},
12955 {0x5A, 0, 0},
12956 {0x5B, 0x1f, 0},
12957 {0x5C, 0x20, 1},
12958 {0x5D, 0x1, 0},
12959 {0x5E, 0x30, 0},
12960 {0x5F, 0x70, 0},
12961 {0x60, 0, 0},
12962 {0x61, 0, 0},
12963 {0x62, 0x33, 1},
12964 {0x63, 0xf, 1},
12965 {0x64, 0xf, 1},
12966 {0x65, 0, 0},
12967 {0x66, 0x11, 0},
12968 {0x69, 0, 0},
12969 {0x6A, 0x7e, 0},
12970 {0x6B, 0x3f, 0},
12971 {0x6C, 0x7f, 0},
12972 {0x6D, 0x78, 0},
12973 {0x6E, 0x58, 1},
12974 {0x6F, 0x88, 0},
12975 {0x70, 0x8, 0},
12976 {0x71, 0xf, 0},
12977 {0x72, 0xbc, 0},
12978 {0x73, 0x8, 0},
12979 {0x74, 0x60, 0},
12980 {0x75, 0x13, 1},
12981 {0x76, 0x70, 0},
12982 {0x77, 0, 0},
12983 {0x78, 0, 0},
12984 {0x79, 0, 0},
12985 {0x7A, 0x33, 0},
12986 {0x7B, 0x13, 1},
12987 {0x7C, 0xf, 1},
12988 {0x7D, 0xee, 1},
12989 {0x80, 0x3c, 0},
12990 {0x81, 0x1, 1},
12991 {0x82, 0xa, 0},
12992 {0x83, 0x9d, 0},
12993 {0x84, 0xa, 0},
12994 {0x85, 0, 0},
12995 {0x86, 0x40, 0},
12996 {0x87, 0x40, 0},
12997 {0x88, 0x88, 0},
12998 {0x89, 0x10, 0},
12999 {0x8A, 0xf0, 0},
13000 {0x8B, 0x10, 0},
13001 {0x8C, 0xf0, 0},
13002 {0x8D, 0, 0},
13003 {0x8E, 0, 0},
13004 {0x8F, 0x10, 0},
13005 {0x90, 0x55, 0},
13006 {0x91, 0x3f, 1},
13007 {0x92, 0x36, 1},
13008 {0x93, 0, 0},
13009 {0x94, 0, 0},
13010 {0x95, 0, 0},
13011 {0x96, 0x87, 0},
13012 {0x97, 0x11, 0},
13013 {0x98, 0, 0},
13014 {0x99, 0x33, 0},
13015 {0x9A, 0x88, 0},
13016 {0x9B, 0, 0},
13017 {0x9C, 0x87, 0},
13018 {0x9D, 0x11, 0},
13019 {0x9E, 0, 0},
13020 {0x9F, 0x33, 0},
13021 {0xA0, 0x88, 0},
13022 {0xA1, 0x20, 1},
13023 {0xA2, 0x3f, 0},
13024 {0xA3, 0x44, 0},
13025 {0xA4, 0x8c, 0},
13026 {0xA5, 0x6c, 0},
13027 {0xA6, 0x22, 0},
13028 {0xA7, 0xbe, 0},
13029 {0xA8, 0x55, 0},
13030 {0xAA, 0xc, 0},
13031 {0xAB, 0xaa, 0},
13032 {0xAC, 0x2, 0},
13033 {0xAD, 0, 0},
13034 {0xAE, 0x10, 0},
13035 {0xAF, 0x1, 0},
13036 {0xB0, 0, 0},
13037 {0xB1, 0, 0},
13038 {0xB2, 0x80, 0},
13039 {0xB3, 0x60, 0},
13040 {0xB4, 0x44, 0},
13041 {0xB5, 0x55, 0},
13042 {0xB6, 0x1, 0},
13043 {0xB7, 0x55, 0},
13044 {0xB8, 0x1, 0},
13045 {0xB9, 0x5, 0},
13046 {0xBA, 0x55, 0},
13047 {0xBB, 0x55, 0},
13048 {0xC1, 0, 0},
13049 {0xC2, 0, 0},
13050 {0xC3, 0, 0},
13051 {0xC4, 0, 0},
13052 {0xC5, 0, 0},
13053 {0xC6, 0, 0},
13054 {0xC7, 0, 0},
13055 {0xC8, 0, 0},
13056 {0xC9, 0x1, 1},
13057 {0xCA, 0, 0},
13058 {0xCB, 0, 0},
13059 {0xCC, 0, 0},
13060 {0xCD, 0, 0},
13061 {0xCE, 0x5e, 0},
13062 {0xCF, 0xc, 0},
13063 {0xD0, 0xc, 0},
13064 {0xD1, 0xc, 0},
13065 {0xD2, 0, 0},
13066 {0xD3, 0x2b, 0},
13067 {0xD4, 0xc, 0},
13068 {0xD5, 0, 0},
13069 {0xD6, 0x70, 1},
13070 {0xDB, 0x7, 0},
13071 {0xDC, 0, 0},
13072 {0xDD, 0, 0},
13073 {0xDE, 0x88, 1},
13074 {0xDF, 0, 0},
13075 {0xE0, 0x1f, 0},
13076 {0xE1, 0x20, 1},
13077 {0xE2, 0x1, 0},
13078 {0xE3, 0x30, 0},
13079 {0xE4, 0x70, 0},
13080 {0xE5, 0, 0},
13081 {0xE6, 0, 0},
13082 {0xE7, 0x33, 0},
13083 {0xE8, 0xf, 1},
13084 {0xE9, 0xf, 1},
13085 {0xEA, 0, 0},
13086 {0xEB, 0x11, 0},
13087 {0xEE, 0, 0},
13088 {0xEF, 0x7e, 0},
13089 {0xF0, 0x3f, 0},
13090 {0xF1, 0x7f, 0},
13091 {0xF2, 0x78, 0},
13092 {0xF3, 0x58, 1},
13093 {0xF4, 0x88, 0},
13094 {0xF5, 0x8, 0},
13095 {0xF6, 0xf, 0},
13096 {0xF7, 0xbc, 0},
13097 {0xF8, 0x8, 0},
13098 {0xF9, 0x60, 0},
13099 {0xFA, 0x13, 1},
13100 {0xFB, 0x70, 0},
13101 {0xFC, 0, 0},
13102 {0xFD, 0, 0},
13103 {0xFE, 0, 0},
13104 {0xFF, 0x33, 0},
13105 {0x100, 0x13, 1},
13106 {0x101, 0xf, 1},
13107 {0x102, 0xee, 1},
13108 {0x105, 0x3c, 0},
13109 {0x106, 0x1, 1},
13110 {0x107, 0xa, 0},
13111 {0x108, 0x9d, 0},
13112 {0x109, 0xa, 0},
13113 {0x10A, 0, 0},
13114 {0x10B, 0x40, 0},
13115 {0x10C, 0x40, 0},
13116 {0x10D, 0x88, 0},
13117 {0x10E, 0x10, 0},
13118 {0x10F, 0xf0, 0},
13119 {0x110, 0x10, 0},
13120 {0x111, 0xf0, 0},
13121 {0x112, 0, 0},
13122 {0x113, 0, 0},
13123 {0x114, 0x10, 0},
13124 {0x115, 0x55, 0},
13125 {0x116, 0x3f, 1},
13126 {0x117, 0x36, 1},
13127 {0x118, 0, 0},
13128 {0x119, 0, 0},
13129 {0x11A, 0, 0},
13130 {0x11B, 0x87, 0},
13131 {0x11C, 0x11, 0},
13132 {0x11D, 0, 0},
13133 {0x11E, 0x33, 0},
13134 {0x11F, 0x88, 0},
13135 {0x120, 0, 0},
13136 {0x121, 0x87, 0},
13137 {0x122, 0x11, 0},
13138 {0x123, 0, 0},
13139 {0x124, 0x33, 0},
13140 {0x125, 0x88, 0},
13141 {0x126, 0x20, 1},
13142 {0x127, 0x3f, 0},
13143 {0x128, 0x44, 0},
13144 {0x129, 0x8c, 0},
13145 {0x12A, 0x6c, 0},
13146 {0x12B, 0x22, 0},
13147 {0x12C, 0xbe, 0},
13148 {0x12D, 0x55, 0},
13149 {0x12F, 0xc, 0},
13150 {0x130, 0xaa, 0},
13151 {0x131, 0x2, 0},
13152 {0x132, 0, 0},
13153 {0x133, 0x10, 0},
13154 {0x134, 0x1, 0},
13155 {0x135, 0, 0},
13156 {0x136, 0, 0},
13157 {0x137, 0x80, 0},
13158 {0x138, 0x60, 0},
13159 {0x139, 0x44, 0},
13160 {0x13A, 0x55, 0},
13161 {0x13B, 0x1, 0},
13162 {0x13C, 0x55, 0},
13163 {0x13D, 0x1, 0},
13164 {0x13E, 0x5, 0},
13165 {0x13F, 0x55, 0},
13166 {0x140, 0x55, 0},
13167 {0x146, 0, 0},
13168 {0x147, 0, 0},
13169 {0x148, 0, 0},
13170 {0x149, 0, 0},
13171 {0x14A, 0, 0},
13172 {0x14B, 0, 0},
13173 {0x14C, 0, 0},
13174 {0x14D, 0, 0},
13175 {0x14E, 0x1, 1},
13176 {0x14F, 0, 0},
13177 {0x150, 0, 0},
13178 {0x151, 0, 0},
13179 {0x154, 0xc, 0},
13180 {0x155, 0xc, 0},
13181 {0x156, 0xc, 0},
13182 {0x157, 0, 0},
13183 {0x158, 0x2b, 0},
13184 {0x159, 0x84, 0},
13185 {0x15A, 0x15, 0},
13186 {0x15B, 0xf, 0},
13187 {0x15C, 0, 0},
13188 {0x15D, 0, 0},
13189 {0x15E, 0, 1},
13190 {0x15F, 0, 1},
13191 {0x160, 0, 1},
13192 {0x161, 0, 1},
13193 {0x162, 0, 1},
13194 {0x163, 0, 1},
13195 {0x164, 0, 0},
13196 {0x165, 0, 0},
13197 {0x166, 0, 0},
13198 {0x167, 0, 0},
13199 {0x168, 0, 0},
13200 {0x169, 0, 0},
13201 {0x16A, 0, 1},
13202 {0x16B, 0, 1},
13203 {0x16C, 0, 1},
13204 {0x16D, 0, 0},
13205 {0x170, 0, 0},
13206 {0x171, 0x77, 0},
13207 {0x172, 0x77, 0},
13208 {0x173, 0x77, 0},
13209 {0x174, 0x77, 0},
13210 {0x175, 0, 0},
13211 {0x176, 0x3, 0},
13212 {0x177, 0x37, 0},
13213 {0x178, 0x3, 0},
13214 {0x179, 0, 0},
13215 {0x17A, 0x21, 0},
13216 {0x17B, 0x21, 0},
13217 {0x17C, 0, 0},
13218 {0x17D, 0xaa, 0},
13219 {0x17E, 0, 0},
13220 {0x17F, 0xaa, 0},
13221 {0x180, 0, 0},
13222 {0x190, 0, 0},
13223 {0x191, 0x77, 0},
13224 {0x192, 0x77, 0},
13225 {0x193, 0x77, 0},
13226 {0x194, 0x77, 0},
13227 {0x195, 0, 0},
13228 {0x196, 0x3, 0},
13229 {0x197, 0x37, 0},
13230 {0x198, 0x3, 0},
13231 {0x199, 0, 0},
13232 {0x19A, 0x21, 0},
13233 {0x19B, 0x21, 0},
13234 {0x19C, 0, 0},
13235 {0x19D, 0xaa, 0},
13236 {0x19E, 0, 0},
13237 {0x19F, 0xaa, 0},
13238 {0x1A0, 0, 0},
13239 {0x1A1, 0x2, 0},
13240 {0x1A2, 0xf, 0},
13241 {0x1A3, 0xf, 0},
13242 {0x1A4, 0, 1},
13243 {0x1A5, 0, 1},
13244 {0x1A6, 0, 1},
13245 {0x1A7, 0x2, 0},
13246 {0x1A8, 0xf, 0},
13247 {0x1A9, 0xf, 0},
13248 {0x1AA, 0, 1},
13249 {0x1AB, 0, 1},
13250 {0x1AC, 0, 1},
13251 {0x1AD, 0x84, 0},
13252 {0x1AE, 0x60, 0},
13253 {0x1AF, 0x47, 0},
13254 {0x1B0, 0x47, 0},
13255 {0x1B1, 0, 0},
13256 {0x1B2, 0, 0},
13257 {0x1B3, 0, 0},
13258 {0x1B4, 0, 0},
13259 {0x1B5, 0, 0},
13260 {0x1B6, 0, 0},
13261 {0x1B7, 0x5, 1},
13262 {0x1B8, 0, 0},
13263 {0x1B9, 0, 0},
13264 {0x1BA, 0, 0},
13265 {0x1BB, 0, 0},
13266 {0x1BC, 0, 0},
13267 {0x1BD, 0, 0},
13268 {0x1BE, 0, 0},
13269 {0x1BF, 0, 0},
13270 {0x1C0, 0, 0},
13271 {0x1C1, 0, 0},
13272 {0x1C2, 0xa0, 1},
13273 {0x1C3, 0, 0},
13274 {0x1C4, 0, 0},
13275 {0x1C5, 0, 0},
13276 {0x1C6, 0, 0},
13277 {0x1C7, 0, 0},
13278 {0x1C8, 0, 0},
13279 {0x1C9, 0, 0},
13280 {0x1CA, 0, 0},
13281 {0xFFFF, 0, 0}
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,
13766 5, 4, 3, 2, 1
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,
13773 1, 0
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 *,
14097 u32 *buf);
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,
14120 u8 type, bool d);
14121 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14122 u16 *rg, u8 type);
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,
14141 u32 e);
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,
14153 u8 *dlys, u8 len);
14155 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14157 static void
14158 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14159 u8 core_mask, u8 off,
14160 u8 override_id);
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,
14167 u16 *pwr_offset,
14168 u8 tmp_max_pwr, u8 rate_start,
14169 u8 rate_end);
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,
14179 u8 idx1);
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,
14187 u16 max_val,
14188 u8 dac_test_mode);
14189 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14190 u16 num_samps);
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))
14201 return true;
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)) {
14211 return true;
14214 return false;
14217 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14219 u16 addr, val;
14221 val = 0x1e1f;
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))
14226 val = 0x3e3f;
14227 else
14228 val -= 0x0202;
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);
14239 } else {
14241 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14245 void
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;
14251 tbl.tbl_id = id;
14252 tbl.tbl_len = len;
14253 tbl.tbl_offset = offset;
14254 tbl.tbl_width = width;
14255 tbl.tbl_ptr = data;
14256 wlc_phy_write_table_nphy(pi, &tbl);
14259 void
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;
14265 tbl.tbl_id = id;
14266 tbl.tbl_len = len;
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)
14275 uint idx;
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]);
14289 } else {
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)
14298 uint idx = 0;
14299 u8 antswctrllut;
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) {
14310 case 0:
14312 break;
14314 case 1:
14316 if (pi->aa2g == 7) {
14318 wlc_phy_table_write_nphy(pi,
14319 NPHY_TBL_ID_ANTSWCTRLLUT,
14320 2, 0x21, 8,
14321 &ant_sw_ctrl_tbl_rev8_2o3
14322 [0]);
14323 } else {
14324 wlc_phy_table_write_nphy(pi,
14325 NPHY_TBL_ID_ANTSWCTRLLUT,
14326 2, 0x21, 8,
14327 &ant_sw_ctrl_tbl_rev8
14328 [0]);
14330 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14331 2, 0x25, 8,
14332 &ant_sw_ctrl_tbl_rev8[2]);
14333 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14334 2, 0x29, 8,
14335 &ant_sw_ctrl_tbl_rev8[4]);
14336 break;
14338 case 2:
14340 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14341 2, 0x1, 8,
14342 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14343 [0]);
14344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14345 2, 0x5, 8,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14347 [2]);
14348 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14349 2, 0x9, 8,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14351 [4]);
14353 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14354 2, 0x21, 8,
14355 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14356 [0]);
14357 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14358 2, 0x25, 8,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14360 [2]);
14361 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14362 2, 0x29, 8,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14364 [4]);
14365 break;
14367 default:
14368 break;
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) {
14379 case 0:
14380 wlc_phy_write_table_nphy(pi,
14381 &mimophytbl_info_rev3_volatile
14382 [idx]);
14383 break;
14384 case 1:
14385 wlc_phy_write_table_nphy(pi,
14386 &mimophytbl_info_rev3_volatile1
14387 [idx]);
14388 break;
14389 case 2:
14390 wlc_phy_write_table_nphy(pi,
14391 &mimophytbl_info_rev3_volatile2
14392 [idx]);
14393 break;
14394 case 3:
14395 wlc_phy_write_table_nphy(pi,
14396 &mimophytbl_info_rev3_volatile3
14397 [idx]);
14398 break;
14399 default:
14400 break;
14402 } else {
14403 wlc_phy_write_table_nphy(pi,
14404 &mimophytbl_info_rev3_volatile
14405 [idx]);
14408 } else {
14409 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14410 wlc_phy_write_table_nphy(pi,
14411 &mimophytbl_info_rev0_volatile
14412 [idx]);
14417 static void
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;
14428 if (rifs) {
14430 holdoff = 0x10;
14431 delay = 0x258;
14432 } else {
14434 holdoff = 0x15;
14435 delay = 0x320;
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)
14447 uint i;
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))
14499 return false;
14501 return true;
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;
14510 return;
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)
14526 u16 val;
14527 u16 clip1_ths[2];
14528 nphy_txgains_t target_gain;
14529 u8 tx_pwr_ctrl_state;
14530 bool do_nphy_cal = false;
14531 uint core;
14532 uint origidx, intr_val;
14533 d11regs_t *regs;
14534 u32 d11_clk_ctl_st;
14536 core = 0;
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,
14549 0x40);
14553 if ((!PHY_IPA(pi)) && (pi->sh->chip == BCM5357_CHIP_ID)) {
14554 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14555 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(&regs->clk_ctl_st);
14564 AND_REG(&regs->clk_ctl_st,
14565 ~(CCS_FORCEHT | CCS_HTAREQ));
14567 W_REG(&regs->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 =
14573 (PHY_IPA(pi) ||
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);
14598 } else {
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);
14614 } else {
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);
14628 else
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);
14648 if (PHY_IPA(pi)) {
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);
14661 } else {
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;
14701 u16 idx;
14702 s16 pga_gn = 0;
14703 s16 pad_gn = 0;
14704 s32 rfpwr_offset = 0;
14706 if (PHY_IPA(pi)) {
14707 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14708 } else {
14709 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14710 if NREV_IS
14711 (pi->pubpi.phy_rev, 3) {
14712 tx_pwrctrl_tbl =
14713 nphy_tpc_5GHz_txgain_rev3;
14714 } else if NREV_IS
14715 (pi->pubpi.phy_rev, 4) {
14716 tx_pwrctrl_tbl =
14717 (pi->srom_fem5g.extpagain == 3) ?
14718 nphy_tpc_5GHz_txgain_HiPwrEPA :
14719 nphy_tpc_5GHz_txgain_rev4;
14720 } else {
14721 tx_pwrctrl_tbl =
14722 nphy_tpc_5GHz_txgain_rev5;
14725 } else {
14726 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14727 if (pi->pubpi.radiorev == 5) {
14728 tx_pwrctrl_tbl =
14729 nphy_tpc_txgain_epa_2057rev5;
14730 } else if (pi->pubpi.radiorev == 3) {
14731 tx_pwrctrl_tbl =
14732 nphy_tpc_txgain_epa_2057rev3;
14735 } else {
14736 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14737 (pi->srom_fem2g.extpagain == 3)) {
14738 tx_pwrctrl_tbl =
14739 nphy_tpc_txgain_HiPwrEPA;
14740 } else {
14741 tx_pwrctrl_tbl =
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
14767 [pad_gn];
14768 } else if (pi->pubpi.radiorev == 5) {
14769 rfpwr_offset = (s16)
14770 nphy_papd_padgain_dlt_2g_2057rev5
14771 [pad_gn];
14772 } else if ((pi->pubpi.radiorev == 7)
14773 || (pi->pubpi.radiorev ==
14774 8)) {
14775 rfpwr_offset = (s16)
14776 nphy_papd_padgain_dlt_2g_2057rev7
14777 [pad_gn];
14779 } else {
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
14785 [pga_gn];
14786 } else if ((pi->pubpi.radiorev == 7)
14787 || (pi->pubpi.radiorev ==
14788 8)) {
14789 rfpwr_offset = (s16)
14790 nphy_papd_pgagain_dlt_5g_2057rev7
14791 [pga_gn];
14794 wlc_phy_table_write_nphy(pi,
14795 NPHY_TBL_ID_CORE1TXPWRCTL,
14796 1, 576 + idx, 32,
14797 &rfpwr_offset);
14798 wlc_phy_table_write_nphy(pi,
14799 NPHY_TBL_ID_CORE2TXPWRCTL,
14800 1, 576 + idx, 32,
14801 &rfpwr_offset);
14803 } else {
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
14810 [pga_gn];
14811 } else {
14812 rfpwr_offset = (s16)
14813 nphy_papd_pga_gain_delta_ipa_5g
14814 [pga_gn];
14817 wlc_phy_table_write_nphy(pi,
14818 NPHY_TBL_ID_CORE1TXPWRCTL,
14819 1, 576 + idx, 32,
14820 &rfpwr_offset);
14821 wlc_phy_table_write_nphy(pi,
14822 NPHY_TBL_ID_CORE2TXPWRCTL,
14823 1, 576 + idx, 32,
14824 &rfpwr_offset);
14828 } else {
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);
14853 if (do_rssi_cal) {
14854 wlc_phy_rssi_cal_nphy(pi);
14855 } else {
14856 wlc_phy_restore_rssical_nphy(pi);
14858 } else {
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;
14871 if (do_nphy_cal) {
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].
14884 index_internal;
14885 pi->nphy_cal_orig_pwr_idx[1] =
14886 pi->nphy_txpwrindex[PHY_CORE_1].
14887 index_internal;
14889 wlc_phy_precal_txgain_nphy(pi);
14890 target_gain =
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,
14898 false) == 0) {
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);
14909 } else {
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;
14933 u16 val;
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;
14943 if (gf_preamble)
14944 val |= RX_GF_OR_MM;
14946 write_phy_reg(pi, 0xed, val);
14949 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14951 u16 val;
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);
14959 udelay(1);
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;
14971 if (!en) {
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;
14981 } else {
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);
14988 } else {
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)
14999 u16 txrx_chain =
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);
15025 } else {
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)
15033 u16 regval;
15034 u16 tbl_buf[16];
15035 uint i;
15036 phy_info_t *pi = (phy_info_t *) pih;
15037 u16 tbl_opcode;
15038 bool suspend;
15040 pi->sh->phyrxchain = rxcore_bitmask;
15042 if (!pi->sh->clk)
15043 return;
15045 suspend =
15046 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
15047 if (!suspend)
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,
15066 16, tbl_buf);
15068 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15069 if (tbl_buf[i] ==
15070 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15072 pi->rx2tx_biasentry = (u8) i;
15073 tbl_opcode =
15074 NPHY_REV3_RFSEQ_CMD_NOP;
15075 wlc_phy_table_write_nphy(pi,
15076 NPHY_TBL_ID_RFSEQ,
15077 1, i,
15079 &tbl_opcode);
15080 break;
15081 } else if (tbl_buf[i] ==
15082 NPHY_REV3_RFSEQ_CMD_END) {
15083 break;
15088 } else {
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,
15097 16, &tbl_opcode);
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);
15108 if (!suspend)
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++) {
15137 idx2 = 0;
15139 delta_ind = 0;
15141 switch (i) {
15142 case 0:
15144 if (CHSPEC_IS40(pi->radio_chanspec)
15145 && NPHY_IS_SROM_REINTERPRET) {
15146 idx = TXP_FIRST_MCS_40_SISO;
15147 } else {
15148 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15149 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15150 delta_ind = 1;
15152 break;
15154 case 1:
15156 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15157 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15158 break;
15160 case 2:
15162 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15163 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15164 break;
15166 case 3:
15168 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15169 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15170 break;
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);
15232 } else {
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);
15239 } else {
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;
15251 if (!txchain0) {
15252 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15255 if (!txchain1) {
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,
15323 stbc_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 };
15330 u16 *aux_adc_vmid;
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 };
15334 u16 *aux_adc_gain;
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;
15339 u8 pdetrange;
15340 u8 triso;
15341 u16 regval;
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;
15367 u16 freq;
15368 int coreNum;
15370 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15371 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15372 } else {
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,
15416 &dac_control);
15417 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15418 &dac_control);
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,
15427 2, 0x15e, 16,
15428 rfseq_rx2tx_dacbufpu_rev7);
15429 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15430 rfseq_rx2tx_dacbufpu_rev7);
15432 if (PHY_IPA(pi)) {
15433 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15434 rfseq_rx2tx_events_rev3_ipa,
15435 rfseq_rx2tx_dlys_rev3_ipa,
15436 sizeof
15437 (rfseq_rx2tx_events_rev3_ipa) /
15438 sizeof
15439 (rfseq_rx2tx_events_rev3_ipa
15440 [0]));
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);
15450 if (PHY_IPA(pi)) {
15452 if (((pi->pubpi.radiorev == 5)
15453 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15454 || (pi->pubpi.radiorev == 7)
15455 || (pi->pubpi.radiorev == 8)) {
15457 rccal_bcap_val =
15458 read_radio_reg(pi,
15459 RADIO_2057_RCCAL_BCAP_VAL);
15460 rccal_scap_val =
15461 read_radio_reg(pi,
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;
15475 rccal_ovrd = true;
15477 } else if ((pi->pubpi.radiorev == 7)
15478 || (pi->pubpi.radiorev == 8)) {
15480 tx_lpf_bw_ofdm_20mhz = 4;
15481 tx_lpf_bw_11b = 1;
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;
15488 } else {
15489 rccal_tx20_11n_bcap = 0x14;
15490 rccal_tx20_11n_scap = 0x14;
15491 rccal_tx40_11n_bcap = 0xf;
15492 rccal_tx40_11n_scap = 0xf;
15495 rccal_ovrd = true;
15499 } else {
15501 if (pi->pubpi.radiorev == 5) {
15503 tx_lpf_bw_ofdm_20mhz = 1;
15504 tx_lpf_bw_ofdm_40mhz = 3;
15506 rccal_bcap_val =
15507 read_radio_reg(pi,
15508 RADIO_2057_RCCAL_BCAP_VAL);
15509 rccal_scap_val =
15510 read_radio_reg(pi,
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;
15521 rccal_ovrd = true;
15525 if (rccal_ovrd) {
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),
15578 1, 0x3, 0,
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),
15588 1, 0x3, 0,
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,
15600 0x5);
15601 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15602 0x30);
15603 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15604 or_radio_reg(pi,
15605 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15606 0x1);
15607 or_radio_reg(pi,
15608 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15609 0x1);
15611 ipa2g_mainbias = 0x1f;
15613 ipa2g_casconv = 0x6f;
15615 ipa2g_biasfilt = 0xaa;
15616 } else {
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,
15629 ipa2g_mainbias);
15630 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15631 coreNum, IPA2G_CASCONV,
15632 ipa2g_casconv);
15633 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15634 coreNum,
15635 IPA2G_BIAS_FILTER,
15636 ipa2g_biasfilt);
15641 if (PHY_IPA(pi)) {
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,
15653 CORE, coreNum,
15654 TXGM_IDAC_BLEED,
15655 txgm_idac_bleed);
15658 if (pi->pubpi.radiorev == 5) {
15660 for (coreNum = 0; coreNum <= 1;
15661 coreNum++) {
15662 WRITE_RADIO_REG4(pi, RADIO_2057,
15663 CORE, coreNum,
15664 IPA2G_CASCONV,
15665 0x13);
15666 WRITE_RADIO_REG4(pi, RADIO_2057,
15667 CORE, coreNum,
15668 IPA2G_IMAIN,
15669 0x1f);
15670 WRITE_RADIO_REG4(pi, RADIO_2057,
15671 CORE, coreNum,
15672 IPA2G_BIAS_FILTER,
15673 0xee);
15674 WRITE_RADIO_REG4(pi, RADIO_2057,
15675 CORE, coreNum,
15676 PAD2G_IDACS,
15677 0x8a);
15678 WRITE_RADIO_REG4(pi, RADIO_2057,
15679 CORE, coreNum,
15680 PAD_BIAS_FILTER_BWS,
15681 0x3e);
15684 } else if ((pi->pubpi.radiorev == 7)
15685 || (pi->pubpi.radiorev == 8)) {
15687 if (CHSPEC_IS40(pi->radio_chanspec) ==
15688 0) {
15689 WRITE_RADIO_REG4(pi, RADIO_2057,
15690 CORE, 0,
15691 IPA2G_IMAIN,
15692 0x14);
15693 WRITE_RADIO_REG4(pi, RADIO_2057,
15694 CORE, 1,
15695 IPA2G_IMAIN,
15696 0x12);
15697 } else {
15698 WRITE_RADIO_REG4(pi, RADIO_2057,
15699 CORE, 0,
15700 IPA2G_IMAIN,
15701 0x16);
15702 WRITE_RADIO_REG4(pi, RADIO_2057,
15703 CORE, 1,
15704 IPA2G_IMAIN,
15705 0x16);
15709 } else {
15710 freq =
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,
15717 0xff);
15718 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15719 1, IPA5G_BIAS_FILTER,
15720 0xff);
15723 } else {
15725 if (pi->pubpi.radiorev != 5) {
15726 for (coreNum = 0; coreNum <= 1; coreNum++) {
15727 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15728 coreNum,
15729 TXMIX2G_TUNE_BOOST_PU,
15730 0x61);
15731 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15732 coreNum,
15733 TXGM_IDAC_BLEED, 0x70);
15738 if (pi->pubpi.radiorev == 4) {
15739 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15740 0x05, 16,
15741 &afectrl_adc_ctrl1_rev7);
15742 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15743 0x15, 16,
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);
15754 } else {
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,
15766 0x05, 16,
15767 &afectrl_adc_ctrl2_rev7);
15768 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15769 0x15, 16,
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);
15806 } else {
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);
15818 pdetrange =
15819 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15820 pdetrange : pi->srom_fem2g.pdetrange;
15822 if (pdetrange == 0) {
15823 chan_freq_range =
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;
15829 } else {
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;
15839 } else {
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] =
15852 0x8c;
15853 aux_adc_vmid_rev7_core1[3] =
15854 0x8c;
15855 aux_adc_gain_rev7[3] = 0;
15856 } else {
15857 aux_adc_vmid_rev7_core0[3] =
15858 0x96;
15859 aux_adc_vmid_rev7_core1[3] =
15860 0x96;
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;
15879 } else {
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);
15906 alpha0 = 293;
15907 alpha1 = 435;
15908 alpha2 = 261;
15909 beta0 = 366;
15910 beta1 = 205;
15911 beta2 = 32;
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]));
15928 if (PHY_IPA(pi)) {
15929 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15930 rfseq_rx2tx_events_rev3_ipa,
15931 rfseq_rx2tx_dlys_rev3_ipa,
15932 sizeof
15933 (rfseq_rx2tx_events_rev3_ipa) /
15934 sizeof
15935 (rfseq_rx2tx_events_rev3_ipa
15936 [0]));
15939 if ((pi->sh->hw_phyrxchain != 0x3) &&
15940 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15942 if (PHY_IPA(pi)) {
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
15954 [0]));
15957 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15958 write_phy_reg(pi, 0x6a, 0x2);
15959 } else {
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);
15970 } else {
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,
15983 &dac_control);
15984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15985 &dac_control);
15987 pdetrange =
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;
15995 } else {
15996 aux_adc_vmid = aux_adc_vmid_rev3;
15997 aux_adc_gain = aux_adc_gain_rev3;
15999 chan_freq_range =
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;
16006 break;
16007 case WL_CHAN_FREQ_RANGE_5GM:
16008 aux_adc_vmid[3] = 0x89;
16009 aux_adc_gain[3] = 0;
16010 break;
16011 case WL_CHAN_FREQ_RANGE_5GH:
16012 aux_adc_vmid[3] = 0x89;
16013 aux_adc_gain[3] = 0;
16014 break;
16015 default:
16016 break;
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)) {
16042 chan_freq_range =
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;
16047 } else {
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) {
16065 chan_freq_range =
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];
16093 chan_freq_range =
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;
16100 } else {
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),
16124 0x0);
16125 write_radio_reg(pi,
16126 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16127 0x0);
16129 write_radio_reg(pi,
16130 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16131 0x6);
16132 write_radio_reg(pi,
16133 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16134 0x6);
16136 write_radio_reg(pi,
16137 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16138 0x7);
16139 write_radio_reg(pi,
16140 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16141 0x7);
16143 write_radio_reg(pi,
16144 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16145 0x88);
16146 write_radio_reg(pi,
16147 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16148 0x88);
16150 write_radio_reg(pi,
16151 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16152 0x0);
16153 write_radio_reg(pi,
16154 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16155 0x0);
16157 write_radio_reg(pi,
16158 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16159 0x0);
16160 write_radio_reg(pi,
16161 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16162 0x0);
16164 triso =
16165 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16166 triso : pi->srom_fem2g.triso;
16167 if (triso == 7) {
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;
16182 } else {
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,
16224 MHF4_BPHY_TXCORE0,
16225 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16228 } else {
16230 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16231 (pi->sh->boardtype == 0x8b)) {
16232 uint i;
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);
16241 } else {
16242 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16243 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16246 regval = 0x000a;
16247 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, &regval);
16248 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, &regval);
16250 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16251 regval = 0xcdaa;
16252 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, &regval);
16253 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, &regval);
16256 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16257 regval = 0x0000;
16258 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, &regval);
16259 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, &regval);
16261 regval = 0x7aab;
16262 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, &regval);
16263 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, &regval);
16265 regval = 0x0800;
16266 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, &regval);
16267 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, &regval);
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,
16276 rfseq_rx2tx_dlys,
16277 sizeof(rfseq_rx2tx_events) /
16278 sizeof(rfseq_rx2tx_events[0]));
16280 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16281 rfseq_tx2rx_dlys,
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,
16293 WLC_BAND_ALL);
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);
16303 alpha0 = 293;
16304 alpha1 = 435;
16305 alpha2 = 261;
16306 beta0 = 366;
16307 beta1 = 205;
16308 beta2 = 32;
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;
16338 int ctr;
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 };
16374 s8 *tia_gain_db;
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 };
16385 s8 *tia_gainbits;
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;
16415 u16 init_gaincode;
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;
16451 u8 crsmin_th;
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;
16459 u8 crsminl_th = 0;
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;
16468 u8 crsminu_th;
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;
16477 u16 nbclip_th = 0;
16478 u8 w1clipG_th = 5;
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;
16486 u8 rssi_gain;
16487 u16 regval[21];
16488 u8 triso;
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));
16513 } else {
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));
16523 currband =
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;
16530 rfseq_init_gain =
16531 rfseqG_init_gain_rev6_224B0;
16532 init_gaincode =
16533 initG_gaincode_rev6_224B0;
16534 clip1hi_gaincode =
16535 clip1hiG_gaincode_rev6;
16536 clip1lo_gaincode =
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;
16544 } else {
16545 lna1_gain_db = lna1G_gain_db_rev6;
16546 lna2_gain_db = lna2G_gain_db_rev6;
16547 if (pi->sh->boardflags & BFL_EXTLNA) {
16549 rfseq_init_gain =
16550 rfseqG_init_gain_rev6_elna;
16551 init_gaincode =
16552 initG_gaincode_rev6_elna;
16553 } else {
16554 rfseq_init_gain =
16555 rfseqG_init_gain_rev6;
16556 init_gaincode =
16557 initG_gaincode_rev6;
16559 clip1hi_gaincode =
16560 clip1hiG_gaincode_rev6;
16561 switch (triso) {
16562 case 0:
16563 clip1lo_gaincode =
16564 clip1loG_gaincode_rev6[0];
16565 break;
16566 case 1:
16567 clip1lo_gaincode =
16568 clip1loG_gaincode_rev6[1];
16569 break;
16570 case 2:
16571 clip1lo_gaincode =
16572 clip1loG_gaincode_rev6[2];
16573 break;
16574 case 3:
16575 default:
16577 clip1lo_gaincode =
16578 clip1loG_gaincode_rev6[3];
16579 break;
16580 case 4:
16581 clip1lo_gaincode =
16582 clip1loG_gaincode_rev6[4];
16583 break;
16584 case 5:
16585 clip1lo_gaincode =
16586 clip1loG_gaincode_rev6[5];
16587 break;
16588 case 6:
16589 clip1lo_gaincode =
16590 clip1loG_gaincode_rev6[6];
16591 break;
16592 case 7:
16593 clip1lo_gaincode =
16594 clip1loG_gaincode_rev6[7];
16595 break;
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) {
16609 rfseq_init_gain =
16610 rfseqG_init_gain_rev5_elna;
16611 init_gaincode =
16612 initG_gaincode_rev5_elna;
16613 } else {
16614 rfseq_init_gain = rfseqG_init_gain_rev5;
16615 init_gaincode = initG_gaincode_rev5;
16617 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16618 switch (triso) {
16619 case 0:
16620 clip1lo_gaincode =
16621 clip1loG_gaincode_rev5[0];
16622 break;
16623 case 1:
16624 clip1lo_gaincode =
16625 clip1loG_gaincode_rev5[1];
16626 break;
16627 case 2:
16628 clip1lo_gaincode =
16629 clip1loG_gaincode_rev5[2];
16630 break;
16631 case 3:
16633 clip1lo_gaincode =
16634 clip1loG_gaincode_rev5[3];
16635 break;
16636 case 4:
16637 clip1lo_gaincode =
16638 clip1loG_gaincode_rev5[4];
16639 break;
16640 case 5:
16641 clip1lo_gaincode =
16642 clip1loG_gaincode_rev5[5];
16643 break;
16644 case 6:
16645 clip1lo_gaincode =
16646 clip1loG_gaincode_rev5[6];
16647 break;
16648 case 7:
16649 clip1lo_gaincode =
16650 clip1loG_gaincode_rev5[7];
16651 break;
16652 default:
16653 clip1lo_gaincode =
16654 clip1loG_gaincode_rev5[3];
16655 break;
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;
16676 } else {
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;
16693 } else {
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;
16709 } else {
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) {
16736 rfseq_init_gain =
16737 rfseqA_init_gain_rev4_elna;
16738 init_gaincode =
16739 initA_gaincode_rev4_elna;
16740 } else {
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;
16752 } else {
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),
16779 0xf0);
16780 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16781 0xf0);
16783 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16784 0x0);
16785 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16786 0x0);
16788 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16789 rssi_gain);
16790 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16791 rssi_gain);
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),
16801 0xFF);
16802 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16803 0xFF);
16805 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16806 8, lna1_gain_db);
16807 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16808 8, lna1_gain_db);
16810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16811 8, lna2_gain_db);
16812 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16813 8, lna2_gain_db);
16815 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16816 8, tia_gain_db);
16817 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16818 8, tia_gain_db);
16820 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16821 8, tia_gainbits);
16822 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16823 8, tia_gainbits);
16825 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16826 8, &lpf_gain_db);
16827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16828 8, &lpf_gain_db);
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16830 8, &lpf_gainbits);
16831 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16832 8, &lpf_gainbits);
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,
16839 rfseq_init_gain);
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);
16862 } else {
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)))
16894 hpf_code = 4;
16895 else
16896 hpf_code = 5;
16897 else if (CHSPEC_IS40(pi->radio_chanspec))
16898 hpf_code = 6;
16899 else
16900 hpf_code = 7;
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) {
16913 regval[0] = 0;
16914 regval[1] = 1;
16915 regval[2] = 1;
16916 regval[3] = 1;
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))
16949 mod_phy_reg(pi,
16950 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16951 0x7f, 0x4);
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,
16972 lna1_gain_db);
16973 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16974 lna1_gain_db);
16976 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16977 lna2_gain_db);
16978 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16979 lna2_gain_db);
16981 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
16982 tia_gain_db);
16983 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
16984 tia_gain_db);
16986 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
16987 tia_gainbits);
16988 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
16989 tia_gainbits);
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));
17003 } else {
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)
17012 u16 currband;
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 };
17018 s8 *tia_gain_db;
17019 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17020 s8 *tia_gainbits;
17021 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17022 u16 *rfseq_init_gain;
17023 u16 init_gaincode;
17024 u16 clip1hi_gaincode;
17025 u16 clip1md_gaincode = 0;
17026 u16 clip1md_gaincode_B;
17027 u16 clip1lo_gaincode;
17028 u16 clip1lo_gaincode_B;
17029 u8 crsminl_th = 0;
17030 u8 crsminu_th;
17031 u16 nbclip_th = 0;
17032 u8 w1clip_th;
17033 u16 freq;
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,
17046 lna1_gain_db);
17047 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17048 lna1_gain_db);
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));
17063 } else {
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)) {
17078 w1clip_th = 25;
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[] = {
17085 11, 17, 22, 25 };
17086 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17088 crsminu_th = 0x3e;
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[] = {
17096 12, 18, 22, 26 };
17097 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17099 crsminu_th = 0x45;
17100 clip1md_gaincode_B = 0x14;
17101 nbclip_th = 0xff;
17102 chg_nbclip_th = 1;
17103 lna1_gain_db = lna1A_gain_db_rev7;
17104 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17105 lna2_gain_db = lna2A_gain_db_rev7;
17106 } else {
17108 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17109 s8 lna1A_gain_db_2_rev7[] = {
17110 12, 18, 22, 26 };
17111 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17113 crsminu_th = 0x41;
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;
17128 } else {
17129 nvar_baseline_offset0 = 4;
17130 nvar_baseline_offset1 = 0;
17132 } else {
17134 crsminu_th = 0x3a;
17135 crsminl_th = 0x3a;
17136 w1clip_th = 20;
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;
17144 } else {
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,
17155 rfseq_init_gain);
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,
17169 tia_gain_db);
17170 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17171 tia_gain_db);
17173 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17174 tia_gainbits);
17175 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17176 tia_gainbits);
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,
17197 lna1_gain_db);
17198 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17199 lna1_gain_db_2);
17201 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17202 8, lna2_gain_db);
17203 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17204 8, lna2_gain_db);
17206 write_phy_reg(pi, 0x24, clip1md_gaincode);
17207 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17208 } else {
17209 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17216 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17218 uint core;
17219 int ctr;
17220 s16 gain_delta[2];
17221 u8 curr_channel;
17222 u16 minmax_gain[2];
17223 u16 regval[4];
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))) {
17231 gain_delta[0] = 6;
17232 gain_delta[1] = 6;
17233 } else {
17235 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17236 gain_delta[0] =
17237 (s16)
17238 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17239 curr_channel) +
17240 nphy_lnagain_est0[1]), 13);
17241 gain_delta[1] =
17242 (s16)
17243 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17244 curr_channel) +
17245 nphy_lnagain_est1[1]), 13);
17247 } else {
17249 gain_delta[0] = 0;
17250 gain_delta[1] = 0;
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];
17260 } else {
17261 for (ctr = 0; ctr < 4; ctr++) {
17262 regval[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)
17281 if (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);
17298 } else {
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;
17306 } else {
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);
17325 mod_radio_reg(pi,
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);
17344 mod_radio_reg(pi,
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);
17399 udelay(1000);
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));
17429 } else {
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);
17436 udelay(2);
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;
17464 } else {
17465 switch (pi->pubpi.radiorev) {
17466 case 5:
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;
17470 break;
17472 case 6:
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;
17476 break;
17478 case 7:
17479 case 9:
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;
17483 break;
17485 case 8:
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;
17489 break;
17491 case 11:
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;
17495 break;
17497 default:
17498 break;
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);
17519 udelay(1000);
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);
17526 } else {
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) {
17548 case 5:
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;
17557 } else {
17558 break;
17561 case 7:
17563 regs_2057_ptr = regs_2057_rev7;
17564 break;
17566 case 8:
17568 regs_2057_ptr = regs_2057_rev8;
17569 break;
17571 default:
17572 break;
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);
17591 mdelay(2);
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);
17603 static bool
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)
17610 uint i;
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;
17614 u32 tbl_len = 0;
17616 int freq = 0;
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) {
17629 case 5:
17631 if (pi->pubpi.radiover == 0x0) {
17633 chan_info_tbl_p_2 =
17634 chan_info_nphyrev8_2057_rev5;
17635 tbl_len =
17636 ARRAY_SIZE
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;
17643 tbl_len =
17644 ARRAY_SIZE
17645 (chan_info_nphyrev9_2057_rev5v1);
17648 break;
17650 case 7:
17651 chan_info_tbl_p_0 =
17652 chan_info_nphyrev8_2057_rev7;
17653 tbl_len =
17654 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17655 break;
17657 case 8:
17658 chan_info_tbl_p_0 =
17659 chan_info_nphyrev8_2057_rev8;
17660 tbl_len =
17661 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17662 break;
17664 default:
17665 if (NORADIO_ENAB(pi->pubpi)) {
17666 goto fail;
17668 break;
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);
17674 } else {
17675 goto fail;
17678 for (i = 0; i < tbl_len; i++) {
17679 if (pi->pubpi.radiorev == 5) {
17681 if (chan_info_tbl_p_2[i].chan == channel)
17682 break;
17683 } else {
17685 if (chan_info_tbl_p_0[i].chan == channel)
17686 break;
17690 if (i >= tbl_len) {
17691 goto fail;
17693 if (pi->pubpi.radiorev == 5) {
17694 *t2 = &chan_info_tbl_p_2[i];
17695 freq = chan_info_tbl_p_2[i].freq;
17696 } else {
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) {
17711 case 5:
17712 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17713 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17714 break;
17715 case 6:
17716 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17717 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17718 break;
17719 case 7:
17720 case 9:
17721 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17722 tbl_len =
17723 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17724 break;
17725 case 8:
17726 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17727 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17728 break;
17729 case 11:
17730 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17731 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17732 break;
17733 default:
17734 if (NORADIO_ENAB(pi->pubpi)) {
17735 goto fail;
17737 break;
17741 for (i = 0; i < tbl_len; i++) {
17742 if (chan_info_tbl_p_1[i].chan == channel)
17743 break;
17746 if (i >= tbl_len) {
17747 goto fail;
17749 *t1 = &chan_info_tbl_p_1[i];
17750 freq = chan_info_tbl_p_1[i].freq;
17752 } else {
17753 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17754 if (chan_info_nphy_2055[i].chan == channel)
17755 break;
17757 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17758 goto fail;
17760 *t3 = &chan_info_nphy_2055[i];
17761 freq = chan_info_nphy_2055[i].freq;
17764 *f = freq;
17765 return true;
17767 fail:
17768 *f = WL_CHAN_FREQ_RANGE_2G;
17769 return false;
17772 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17774 int freq;
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;
17783 if (channel == 0)
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;
17795 } else {
17796 return WL_CHAN_FREQ_RANGE_5GH;
17800 static void
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);
17850 udelay(50);
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);
17859 udelay(300);
17862 static void
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;
17952 else {
17953 switch (pi->pubpi.radiorev) {
17954 case 5:
17955 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17956 break;
17957 case 6:
17958 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17959 break;
17960 case 7:
17961 case 9:
17962 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17963 break;
17964 case 8:
17965 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17966 break;
17967 case 11:
17968 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17969 break;
17972 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17973 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17974 RADIO_2056_SYN,
17975 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
17976 } else {
17977 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17978 RADIO_2056_SYN,
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);
17998 } else {
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,
18013 0x1f);
18014 write_radio_reg(pi,
18015 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18016 0x1f);
18017 write_radio_reg(pi,
18018 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18019 0xb);
18020 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18021 0x20);
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;
18043 uint core;
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,
18050 PADG_IDAC, 0xcc);
18052 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18053 (pi->sh->chip ==
18054 BCM47162_CHIP_ID)) {
18055 bias = 0x40;
18056 cascbias = 0x45;
18057 pag_boost_tune = 0x5;
18058 pgag_boost_tune = 0x33;
18059 padg_boost_tune = 0x77;
18060 mixg_boost_tune = 0x55;
18061 } else {
18062 bias = 0x25;
18063 cascbias = 0x20;
18065 if ((pi->sh->chip ==
18066 BCM43224_CHIP_ID)
18067 || (pi->sh->chip ==
18068 BCM43225_CHIP_ID)
18069 || (pi->sh->chip ==
18070 BCM43421_CHIP_ID)) {
18071 if (pi->sh->chippkg ==
18072 BCM43224_FAB_SMIC) {
18073 bias = 0x2a;
18074 cascbias = 0x38;
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,
18092 INTPAG_BOOST_TUNE,
18093 pag_boost_tune);
18094 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18095 PGAG_BOOST_TUNE,
18096 pgag_boost_tune);
18097 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18098 PADG_BOOST_TUNE,
18099 padg_boost_tune);
18100 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18101 MIXG_BOOST_TUNE,
18102 mixg_boost_tune);
18103 } else {
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,
18115 0xee);
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;
18126 uint core;
18128 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18130 if (freq < 5150) {
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;
18148 } else {
18150 paa_boost_tune = 0x0;
18151 pada_boost_tune = 0x77;
18152 if (freq != 5825) {
18153 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18154 } else {
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,
18171 TXSPARE1, 0x30);
18172 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18173 PA_SPARE2, 0xee);
18175 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18176 PADA_CASCBIAS, 0x3);
18178 cascbias = 0x30;
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) {
18184 cascbias = 0x35;
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);
18199 udelay(50);
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,
18210 (1 << 2));
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);
18220 udelay(300);
18223 #define MAX_205x_RCAL_WAITLOOPS 10000
18225 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18227 u16 rcal_reg = 0;
18228 int i;
18230 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18232 if (pi->pubpi.radiorev == 5) {
18234 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18236 udelay(10);
18238 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18239 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18240 0x1);
18242 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18244 udelay(10);
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) {
18251 break;
18253 udelay(100);
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,
18267 0x0);
18270 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18272 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18273 rcal_reg);
18274 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18275 rcal_reg << 2);
18278 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18279 u16 savereg;
18281 savereg =
18282 read_radio_reg(pi,
18283 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18284 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18285 savereg | 0x7);
18286 udelay(10);
18288 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18289 0x1);
18290 udelay(10);
18292 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18293 0x9);
18295 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18296 rcal_reg = read_radio_reg(pi,
18297 RADIO_2056_SYN_RCAL_CODE_OUT |
18298 RADIO_2056_SYN);
18299 if (rcal_reg & 0x80) {
18300 break;
18302 udelay(100);
18305 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18307 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18308 0x1);
18310 rcal_reg =
18311 read_radio_reg(pi,
18312 RADIO_2056_SYN_RCAL_CODE_OUT |
18313 RADIO_2056_SYN);
18315 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18316 0x0);
18318 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18319 savereg);
18321 return rcal_reg & 0x1f;
18323 return rcal_reg & 0x3e;
18326 static void
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)
18331 int coreNum;
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);
18380 } else {
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,
18448 0x3f);
18449 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18450 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18451 0x8);
18452 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18453 0x8);
18454 } else {
18455 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18456 0x1f);
18457 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18458 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18459 0x8);
18460 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18461 0x8);
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,
18468 0x1b);
18469 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18470 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18471 0xa);
18472 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18473 0xa);
18474 } else {
18475 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18476 0x1f);
18477 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18478 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18479 0x8);
18480 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18481 0x8);
18486 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18487 if (PHY_IPA(pi)) {
18488 if (pi->pubpi.radiorev == 3) {
18489 txmix2g_tune_boost_pu = 0x6b;
18492 if (pi->pubpi.radiorev == 5)
18493 pad2g_tune_pus = 0x73;
18495 } else {
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,
18512 PAD2G_TUNE_PUS,
18513 pad2g_tune_pus);
18517 udelay(50);
18519 wlc_phy_radio205x_vcocal_nphy(pi);
18522 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18524 u16 rccal_valid;
18525 int i;
18526 bool chip43226_6362A0;
18528 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18529 || (pi->pubpi.radiorev == 4)
18530 || (pi->pubpi.radiorev == 6));
18532 rccal_valid = 0;
18533 if (chip43226_6362A0) {
18534 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18535 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18536 } else {
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) {
18547 break;
18549 udelay(500);
18552 ASSERT(rccal_valid & 0x2);
18554 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18556 rccal_valid = 0;
18557 if (chip43226_6362A0) {
18558 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18559 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18560 } else {
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) {
18571 break;
18573 udelay(500);
18576 ASSERT(rccal_valid & 0x2);
18578 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18580 rccal_valid = 0;
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);
18586 } else {
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) {
18596 break;
18598 udelay(500);
18601 ASSERT(rccal_valid & 0x2);
18603 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18605 return rccal_valid;
18608 static void
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 |
18617 RADIO_2056_RX0),
18618 ((pi->nphy_rccal_value +
18619 reduction_factr) | 0x80));
18621 pi->nphy_anarxlpf_adjusted = true;
18623 } else {
18624 if (pi->nphy_anarxlpf_adjusted) {
18625 write_radio_reg(pi,
18626 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18627 RADIO_2056_RX0),
18628 (pi->nphy_rccal_value | 0x80));
18630 pi->nphy_anarxlpf_adjusted = false;
18636 static void
18637 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18638 u32 *noise_var_buf)
18640 int i;
18641 u32 offset;
18642 int tone_id;
18643 int tbllen =
18644 CHSPEC_IS40(pi->
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,
18654 offset, 32,
18655 (void *)&pi->
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,
18673 offset, 32,
18674 &pi->nphy_saved_noisevars.
18675 min_noise_vars[i]);
18676 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18677 offset, 32,
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)
18688 u16 regval;
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;
18696 regval &= 0xff00;
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;
18702 regval &= 0xff00;
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;
18708 regval &= 0xff00;
18709 regval |= (u16) minpwr;
18710 write_phy_reg(pi, 0x283, regval);
18712 pi->nphy_crsminpwr_adjusted = true;
18714 } else {
18715 if (pi->nphy_crsminpwr_adjusted) {
18716 regval = read_phy_reg(pi, 0x27d);
18717 regval &= 0xff00;
18718 regval |= pi->nphy_crsminpwr[0];
18719 write_phy_reg(pi, 0x27d, regval);
18721 regval = read_phy_reg(pi, 0x280);
18722 regval &= 0xff00;
18723 regval |= pi->nphy_crsminpwr[1];
18724 write_phy_reg(pi, 0x280, regval);
18726 regval = read_phy_reg(pi, 0x283);
18727 regval &= 0xff00;
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)
18739 u8 tx_lpf_bw = 0;
18741 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18742 if (CHSPEC_IS40(pi->radio_chanspec)) {
18743 tx_lpf_bw = 3;
18744 } else {
18745 tx_lpf_bw = 1;
18748 if (PHY_IPA(pi)) {
18749 if (CHSPEC_IS40(pi->radio_chanspec)) {
18750 tx_lpf_bw = 5;
18751 } else {
18752 tx_lpf_bw = 4;
18755 write_phy_reg(pi, 0xe8,
18756 (tx_lpf_bw << 0) |
18757 (tx_lpf_bw << 3) |
18758 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18760 if (PHY_IPA(pi)) {
18762 if (CHSPEC_IS40(pi->radio_chanspec)) {
18763 tx_lpf_bw = 4;
18764 } else {
18765 tx_lpf_bw = 1;
18768 write_phy_reg(pi, 0xe9,
18769 (tx_lpf_bw << 0) |
18770 (tx_lpf_bw << 3) |
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;
18783 u32 tempval = 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);
18803 } else {
18805 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18806 NULL,
18807 NULL);
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) {
18819 case 3:
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;
18825 break;
18826 case 4:
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;
18832 break;
18833 case 5:
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;
18839 break;
18840 case 6:
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;
18846 break;
18847 case 7:
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;
18853 break;
18854 case 8:
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;
18860 break;
18861 case 9:
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;
18867 break;
18868 case 10:
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;
18874 break;
18875 default:
18876 isAdjustNoiseVar = false;
18877 break;
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,
18886 numTonesAdjust,
18887 nphy_adj_tone_id_buf,
18888 nphy_adj_noise_var_buf);
18890 tempval = 0;
18892 } else {
18894 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18895 NULL);
18899 if ((pi->nphy_aband_spurwar_en) &&
18900 (CHSPEC_IS5G(pi->radio_chanspec))) {
18901 switch (cur_channel) {
18902 case 54:
18903 nphy_adj_tone_id_buf[0] = 32;
18904 nphy_adj_noise_var_buf[0] = 0x25f;
18905 break;
18906 case 38:
18907 case 102:
18908 case 118:
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;
18913 } else {
18914 nphy_adj_tone_id_buf[0] = 0;
18915 nphy_adj_noise_var_buf[0] = 0x0;
18917 break;
18918 case 134:
18919 nphy_adj_tone_id_buf[0] = 32;
18920 nphy_adj_noise_var_buf[0] = 0x21f;
18921 break;
18922 case 151:
18923 nphy_adj_tone_id_buf[0] = 16;
18924 nphy_adj_noise_var_buf[0] = 0x23f;
18925 break;
18926 case 153:
18927 case 161:
18928 nphy_adj_tone_id_buf[0] = 48;
18929 nphy_adj_noise_var_buf[0] = 0x23f;
18930 break;
18931 default:
18932 nphy_adj_tone_id_buf[0] = 0;
18933 nphy_adj_noise_var_buf[0] = 0x0;
18934 break;
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);
18942 } else {
18943 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18944 NULL);
18948 if (pi->phyhang_avoid)
18949 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18953 static void
18954 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18955 const nphy_sfo_cfg_t *ci)
18957 u16 val;
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);
18998 } else {
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)) {
19019 u8 spuravoid = 0;
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)) {
19025 spuravoid = 1;
19027 } else {
19029 if (((val >= 5) && (val <= 8)) || (val == 13)
19030 || (val == 14)) {
19031 spuravoid = 1;
19034 } else {
19035 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19036 if (val == 54) {
19037 spuravoid = 1;
19039 } else {
19041 if (pi->nphy_aband_spurwar_en &&
19042 ((val == 38) || (val == 102)
19043 || (val == 118))) {
19044 if ((pi->sh->chip ==
19045 BCM4716_CHIP_ID)
19046 && (pi->sh->chippkg ==
19047 BCM4717_PKG_ID)) {
19048 spuravoid = 0;
19049 } else {
19050 spuravoid = 1;
19056 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19057 spuravoid = 1;
19059 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
19060 (pi->sh->chip == BCM47162_CHIP_ID)) {
19061 si_pmu_spuravoid(pi->sh->sih, spuravoid);
19062 } else {
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,
19075 0x5341);
19076 W_REG(&pi->regs->tsf_clk_frac_h,
19077 0x8);
19078 } else {
19080 W_REG(&pi->regs->tsf_clk_frac_l,
19081 0x8889);
19082 W_REG(&pi->regs->tsf_clk_frac_h,
19083 0x8);
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)
19108 int freq;
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)) {
19115 return;
19118 if (!wlc_phy_chan2freq_nphy
19119 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19120 return;
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);
19133 } else {
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,
19148 0x2,
19149 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19150 : 0));
19151 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19152 0x2,
19153 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19154 : 0));
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
19161 *)&(t2->
19162 PHY_BW1a)
19163 : (const nphy_sfo_cfg_t *)
19164 &(t0->PHY_BW1a));
19166 } else {
19168 mod_radio_reg(pi,
19169 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19170 0x4,
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 *)
19176 &(t1->PHY_BW1a));
19179 } else {
19181 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19182 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19183 : (0x05 << 4)));
19185 wlc_phy_chanspec_radio2055_setup(pi, t3);
19186 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19187 (const nphy_sfo_cfg_t *)&(t3->
19188 PHY_BW1a));
19193 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19195 void *tbl_ptr;
19196 int coreNum;
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.
19206 rxcal_coeffs_2G);
19208 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19209 txcal_radio_regs =
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] =
19214 read_radio_reg(pi,
19215 RADIO_2056_TX_LOFT_FINE_I |
19216 RADIO_2056_TX0);
19217 pi->calibration_cache.txcal_radio_regs_2G[1] =
19218 read_radio_reg(pi,
19219 RADIO_2056_TX_LOFT_FINE_Q |
19220 RADIO_2056_TX0);
19221 pi->calibration_cache.txcal_radio_regs_2G[2] =
19222 read_radio_reg(pi,
19223 RADIO_2056_TX_LOFT_FINE_I |
19224 RADIO_2056_TX1);
19225 pi->calibration_cache.txcal_radio_regs_2G[3] =
19226 read_radio_reg(pi,
19227 RADIO_2056_TX_LOFT_FINE_Q |
19228 RADIO_2056_TX1);
19230 pi->calibration_cache.txcal_radio_regs_2G[4] =
19231 read_radio_reg(pi,
19232 RADIO_2056_TX_LOFT_COARSE_I |
19233 RADIO_2056_TX0);
19234 pi->calibration_cache.txcal_radio_regs_2G[5] =
19235 read_radio_reg(pi,
19236 RADIO_2056_TX_LOFT_COARSE_Q |
19237 RADIO_2056_TX0);
19238 pi->calibration_cache.txcal_radio_regs_2G[6] =
19239 read_radio_reg(pi,
19240 RADIO_2056_TX_LOFT_COARSE_I |
19241 RADIO_2056_TX1);
19242 pi->calibration_cache.txcal_radio_regs_2G[7] =
19243 read_radio_reg(pi,
19244 RADIO_2056_TX_LOFT_COARSE_Q |
19245 RADIO_2056_TX1);
19246 } else {
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;
19259 } else {
19261 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19262 &pi->calibration_cache.
19263 rxcal_coeffs_5G);
19265 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19266 txcal_radio_regs =
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] =
19271 read_radio_reg(pi,
19272 RADIO_2056_TX_LOFT_FINE_I |
19273 RADIO_2056_TX0);
19274 pi->calibration_cache.txcal_radio_regs_5G[1] =
19275 read_radio_reg(pi,
19276 RADIO_2056_TX_LOFT_FINE_Q |
19277 RADIO_2056_TX0);
19278 pi->calibration_cache.txcal_radio_regs_5G[2] =
19279 read_radio_reg(pi,
19280 RADIO_2056_TX_LOFT_FINE_I |
19281 RADIO_2056_TX1);
19282 pi->calibration_cache.txcal_radio_regs_5G[3] =
19283 read_radio_reg(pi,
19284 RADIO_2056_TX_LOFT_FINE_Q |
19285 RADIO_2056_TX1);
19287 pi->calibration_cache.txcal_radio_regs_5G[4] =
19288 read_radio_reg(pi,
19289 RADIO_2056_TX_LOFT_COARSE_I |
19290 RADIO_2056_TX0);
19291 pi->calibration_cache.txcal_radio_regs_5G[5] =
19292 read_radio_reg(pi,
19293 RADIO_2056_TX_LOFT_COARSE_Q |
19294 RADIO_2056_TX0);
19295 pi->calibration_cache.txcal_radio_regs_5G[6] =
19296 read_radio_reg(pi,
19297 RADIO_2056_TX_LOFT_COARSE_I |
19298 RADIO_2056_TX1);
19299 pi->calibration_cache.txcal_radio_regs_5G[7] =
19300 read_radio_reg(pi,
19301 RADIO_2056_TX_LOFT_COARSE_Q |
19302 RADIO_2056_TX1);
19303 } else {
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,
19322 LOFT_FINE_I);
19323 txcal_radio_regs[2 * coreNum + 1] =
19324 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19325 LOFT_FINE_Q);
19327 txcal_radio_regs[2 * coreNum + 4] =
19328 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19329 LOFT_COARSE_I);
19330 txcal_radio_regs[2 * coreNum + 5] =
19331 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19332 LOFT_COARSE_Q);
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)
19344 u16 *loft_comp;
19345 u16 txcal_coeffs_bphy[4];
19346 u16 *tbl_ptr;
19347 int coreNum;
19348 u16 *txcal_radio_regs = NULL;
19350 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19351 if (pi->nphy_iqcal_chanspec_2G == 0)
19352 return;
19354 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19355 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19356 } else {
19357 if (pi->nphy_iqcal_chanspec_5G == 0)
19358 return;
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,
19365 (void *)tbl_ptr);
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];
19372 } else {
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)) {
19391 txcal_radio_regs =
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 |
19397 RADIO_2056_TX0,
19398 pi->calibration_cache.
19399 txcal_radio_regs_2G[0]);
19400 write_radio_reg(pi,
19401 RADIO_2056_TX_LOFT_FINE_Q |
19402 RADIO_2056_TX0,
19403 pi->calibration_cache.
19404 txcal_radio_regs_2G[1]);
19405 write_radio_reg(pi,
19406 RADIO_2056_TX_LOFT_FINE_I |
19407 RADIO_2056_TX1,
19408 pi->calibration_cache.
19409 txcal_radio_regs_2G[2]);
19410 write_radio_reg(pi,
19411 RADIO_2056_TX_LOFT_FINE_Q |
19412 RADIO_2056_TX1,
19413 pi->calibration_cache.
19414 txcal_radio_regs_2G[3]);
19416 write_radio_reg(pi,
19417 RADIO_2056_TX_LOFT_COARSE_I |
19418 RADIO_2056_TX0,
19419 pi->calibration_cache.
19420 txcal_radio_regs_2G[4]);
19421 write_radio_reg(pi,
19422 RADIO_2056_TX_LOFT_COARSE_Q |
19423 RADIO_2056_TX0,
19424 pi->calibration_cache.
19425 txcal_radio_regs_2G[5]);
19426 write_radio_reg(pi,
19427 RADIO_2056_TX_LOFT_COARSE_I |
19428 RADIO_2056_TX1,
19429 pi->calibration_cache.
19430 txcal_radio_regs_2G[6]);
19431 write_radio_reg(pi,
19432 RADIO_2056_TX_LOFT_COARSE_Q |
19433 RADIO_2056_TX1,
19434 pi->calibration_cache.
19435 txcal_radio_regs_2G[7]);
19436 } else {
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.
19453 rxcal_coeffs_2G);
19454 } else {
19455 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19456 txcal_radio_regs =
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 |
19462 RADIO_2056_TX0,
19463 pi->calibration_cache.
19464 txcal_radio_regs_5G[0]);
19465 write_radio_reg(pi,
19466 RADIO_2056_TX_LOFT_FINE_Q |
19467 RADIO_2056_TX0,
19468 pi->calibration_cache.
19469 txcal_radio_regs_5G[1]);
19470 write_radio_reg(pi,
19471 RADIO_2056_TX_LOFT_FINE_I |
19472 RADIO_2056_TX1,
19473 pi->calibration_cache.
19474 txcal_radio_regs_5G[2]);
19475 write_radio_reg(pi,
19476 RADIO_2056_TX_LOFT_FINE_Q |
19477 RADIO_2056_TX1,
19478 pi->calibration_cache.
19479 txcal_radio_regs_5G[3]);
19481 write_radio_reg(pi,
19482 RADIO_2056_TX_LOFT_COARSE_I |
19483 RADIO_2056_TX0,
19484 pi->calibration_cache.
19485 txcal_radio_regs_5G[4]);
19486 write_radio_reg(pi,
19487 RADIO_2056_TX_LOFT_COARSE_Q |
19488 RADIO_2056_TX0,
19489 pi->calibration_cache.
19490 txcal_radio_regs_5G[5]);
19491 write_radio_reg(pi,
19492 RADIO_2056_TX_LOFT_COARSE_I |
19493 RADIO_2056_TX1,
19494 pi->calibration_cache.
19495 txcal_radio_regs_5G[6]);
19496 write_radio_reg(pi,
19497 RADIO_2056_TX_LOFT_COARSE_Q |
19498 RADIO_2056_TX1,
19499 pi->calibration_cache.
19500 txcal_radio_regs_5G[7]);
19501 } else {
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.
19518 rxcal_coeffs_5G);
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,
19525 LOFT_FINE_I,
19526 txcal_radio_regs[2 * coreNum]);
19527 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19528 LOFT_FINE_Q,
19529 txcal_radio_regs[2 * coreNum + 1]);
19531 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19532 LOFT_COARSE_I,
19533 txcal_radio_regs[2 * coreNum + 4]);
19534 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19535 LOFT_COARSE_Q,
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;
19544 u16 mask = 0xfc00;
19545 u32 mc = 0;
19547 if (NREV_GE(pi->pubpi.phy_rev, 7))
19548 return;
19550 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19551 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19553 if (lut_init == false)
19554 return;
19556 if (pi->srom_fem2g.antswctrllut == 0) {
19557 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19558 1, 0x02, 16, &v0);
19559 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19560 1, 0x03, 16, &v1);
19561 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19562 1, 0x08, 16, &v2);
19563 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19564 1, 0x0C, 16, &v3);
19567 if (pi->srom_fem5g.antswctrllut == 0) {
19568 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19569 1, 0x12, 16, &v0);
19570 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19571 1, 0x13, 16, &v1);
19572 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19573 1, 0x18, 16, &v2);
19574 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19575 1, 0x1C, 16, &v3);
19577 } else {
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);
19592 if (lut_init) {
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)) {
19607 suspended =
19608 (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC) ?
19609 false : true;
19610 if (!suspended)
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);
19623 return new_ctl;
19626 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19629 if (write == 0) {
19630 vals[0] = read_phy_reg(pi, 0x2c);
19631 vals[1] = read_phy_reg(pi, 0x42);
19632 } else {
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;
19643 switch (cmd) {
19644 case NPHY_RFSEQ_RX2TX:
19645 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19646 status_mask = NPHY_RfseqStatus_rx2tx;
19647 break;
19648 case NPHY_RFSEQ_TX2RX:
19649 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19650 status_mask = NPHY_RfseqStatus_tx2rx;
19651 break;
19652 case NPHY_RFSEQ_RESET2RX:
19653 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19654 status_mask = NPHY_RfseqStatus_reset2rx;
19655 break;
19656 case NPHY_RFSEQ_UPDATEGAINH:
19657 trigger_mask = NPHY_RfseqTrigger_updategainh;
19658 status_mask = NPHY_RfseqStatus_updategainh;
19659 break;
19660 case NPHY_RFSEQ_UPDATEGAINL:
19661 trigger_mask = NPHY_RfseqTrigger_updategainl;
19662 status_mask = NPHY_RfseqStatus_updategainl;
19663 break;
19664 case NPHY_RFSEQ_UPDATEGAINU:
19665 trigger_mask = NPHY_RfseqTrigger_updategainu;
19666 status_mask = NPHY_RfseqStatus_updategainu;
19667 break;
19668 default:
19669 return;
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);
19683 static void
19684 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19685 u8 len)
19687 u32 t1_offset, t2_offset;
19688 u8 ctr;
19689 u8 end_event =
19690 NREV_GE(pi->pubpi.phy_rev,
19691 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19692 u8 end_dly = 1;
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,
19699 events);
19700 t2_offset = t1_offset + 0x080;
19701 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19702 dlys);
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;
19720 if (offset == 0) {
19721 if (CHSPEC_IS40(pi->radio_chanspec)) {
19722 rx2tx_lpf_rc_lut_offset = 0x159;
19723 } else {
19724 rx2tx_lpf_rc_lut_offset = 0x154;
19726 } else {
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,
19731 &lpf_bw_ctl_val);
19733 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19735 return lpf_bw_ctl_val;
19738 static void
19739 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19740 u8 core_mask, u8 off, u8 override_id)
19742 u8 core_num;
19743 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19744 u8 val_shift = 0;
19746 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19747 en_mask = field;
19748 for (core_num = 0; core_num < 2; core_num++) {
19749 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19751 switch (field) {
19752 case (0x1 << 2):
19753 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19754 val_addr = (core_num == 0) ? 0x7a :
19755 0x7d;
19756 val_mask = (0x1 << 1);
19757 val_shift = 1;
19758 break;
19759 case (0x1 << 3):
19760 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19761 val_addr = (core_num == 0) ? 0x7a :
19762 0x7d;
19763 val_mask = (0x1 << 2);
19764 val_shift = 2;
19765 break;
19766 case (0x1 << 4):
19767 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19768 val_addr = (core_num == 0) ? 0x7a :
19769 0x7d;
19770 val_mask = (0x1 << 4);
19771 val_shift = 4;
19772 break;
19773 case (0x1 << 5):
19774 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19775 val_addr = (core_num == 0) ? 0x7a :
19776 0x7d;
19777 val_mask = (0x1 << 5);
19778 val_shift = 5;
19779 break;
19780 case (0x1 << 6):
19781 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19782 val_addr = (core_num == 0) ? 0x7a :
19783 0x7d;
19784 val_mask = (0x1 << 6);
19785 val_shift = 6;
19786 break;
19787 case (0x1 << 7):
19788 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19789 val_addr = (core_num == 0) ? 0x7a :
19790 0x7d;
19791 val_mask = (0x1 << 7);
19792 val_shift = 7;
19793 break;
19794 case (0x1 << 10):
19795 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19796 val_addr = (core_num == 0) ? 0xf8 :
19797 0xfa;
19798 val_mask = (0x7 << 4);
19799 val_shift = 4;
19800 break;
19801 case (0x1 << 11):
19802 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19803 val_addr = (core_num == 0) ? 0x7b :
19804 0x7e;
19805 val_mask = (0xffff << 0);
19806 val_shift = 0;
19807 break;
19808 case (0x1 << 12):
19809 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19810 val_addr = (core_num == 0) ? 0x7c :
19811 0x7f;
19812 val_mask = (0xffff << 0);
19813 val_shift = 0;
19814 break;
19815 case (0x3 << 13):
19816 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19817 val_addr = (core_num == 0) ? 0x348 :
19818 0x349;
19819 val_mask = (0xff << 0);
19820 val_shift = 0;
19821 break;
19822 case (0x1 << 13):
19823 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19824 val_addr = (core_num == 0) ? 0x348 :
19825 0x349;
19826 val_mask = (0xf << 0);
19827 val_shift = 0;
19828 break;
19829 default:
19830 addr = 0xffff;
19831 break;
19833 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19835 switch (field) {
19836 case (0x1 << 1):
19837 en_addr = (core_num == 0) ? 0x342 :
19838 0x343;
19839 val_addr = (core_num == 0) ? 0x340 :
19840 0x341;
19841 val_mask = (0x1 << 1);
19842 val_shift = 1;
19843 break;
19844 case (0x1 << 3):
19845 en_addr = (core_num == 0) ? 0x342 :
19846 0x343;
19847 val_addr = (core_num == 0) ? 0x340 :
19848 0x341;
19849 val_mask = (0x1 << 3);
19850 val_shift = 3;
19851 break;
19852 case (0x1 << 5):
19853 en_addr = (core_num == 0) ? 0x342 :
19854 0x343;
19855 val_addr = (core_num == 0) ? 0x340 :
19856 0x341;
19857 val_mask = (0x1 << 5);
19858 val_shift = 5;
19859 break;
19860 case (0x1 << 4):
19861 en_addr = (core_num == 0) ? 0x342 :
19862 0x343;
19863 val_addr = (core_num == 0) ? 0x340 :
19864 0x341;
19865 val_mask = (0x1 << 4);
19866 val_shift = 4;
19867 break;
19868 case (0x1 << 2):
19870 en_addr = (core_num == 0) ? 0x342 :
19871 0x343;
19872 val_addr = (core_num == 0) ? 0x340 :
19873 0x341;
19874 val_mask = (0x1 << 2);
19875 val_shift = 2;
19876 break;
19877 case (0x1 << 7):
19879 en_addr = (core_num == 0) ? 0x342 :
19880 0x343;
19881 val_addr = (core_num == 0) ? 0x340 :
19882 0x341;
19883 val_mask = (0x7 << 8);
19884 val_shift = 8;
19885 break;
19886 case (0x1 << 11):
19887 en_addr = (core_num == 0) ? 0x342 :
19888 0x343;
19889 val_addr = (core_num == 0) ? 0x340 :
19890 0x341;
19891 val_mask = (0x1 << 14);
19892 val_shift = 14;
19893 break;
19894 case (0x1 << 10):
19895 en_addr = (core_num == 0) ? 0x342 :
19896 0x343;
19897 val_addr = (core_num == 0) ? 0x340 :
19898 0x341;
19899 val_mask = (0x1 << 13);
19900 val_shift = 13;
19901 break;
19902 case (0x1 << 9):
19903 en_addr = (core_num == 0) ? 0x342 :
19904 0x343;
19905 val_addr = (core_num == 0) ? 0x340 :
19906 0x341;
19907 val_mask = (0x1 << 12);
19908 val_shift = 12;
19909 break;
19910 case (0x1 << 8):
19911 en_addr = (core_num == 0) ? 0x342 :
19912 0x343;
19913 val_addr = (core_num == 0) ? 0x340 :
19914 0x341;
19915 val_mask = (0x1 << 11);
19916 val_shift = 11;
19917 break;
19918 case (0x1 << 6):
19919 en_addr = (core_num == 0) ? 0x342 :
19920 0x343;
19921 val_addr = (core_num == 0) ? 0x340 :
19922 0x341;
19923 val_mask = (0x1 << 6);
19924 val_shift = 6;
19925 break;
19926 case (0x1 << 0):
19927 en_addr = (core_num == 0) ? 0x342 :
19928 0x343;
19929 val_addr = (core_num == 0) ? 0x340 :
19930 0x341;
19931 val_mask = (0x1 << 0);
19932 val_shift = 0;
19933 break;
19934 default:
19935 addr = 0xffff;
19936 break;
19938 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19940 switch (field) {
19941 case (0x1 << 3):
19942 en_addr = (core_num == 0) ? 0x346 :
19943 0x347;
19944 val_addr = (core_num == 0) ? 0x344 :
19945 0x345;
19946 val_mask = (0x1 << 3);
19947 val_shift = 3;
19948 break;
19949 case (0x1 << 1):
19950 en_addr = (core_num == 0) ? 0x346 :
19951 0x347;
19952 val_addr = (core_num == 0) ? 0x344 :
19953 0x345;
19954 val_mask = (0x1 << 1);
19955 val_shift = 1;
19956 break;
19957 case (0x1 << 0):
19958 en_addr = (core_num == 0) ? 0x346 :
19959 0x347;
19960 val_addr = (core_num == 0) ? 0x344 :
19961 0x345;
19962 val_mask = (0x1 << 0);
19963 val_shift = 0;
19964 break;
19965 case (0x1 << 2):
19966 en_addr = (core_num == 0) ? 0x346 :
19967 0x347;
19968 val_addr = (core_num == 0) ? 0x344 :
19969 0x345;
19970 val_mask = (0x1 << 2);
19971 val_shift = 2;
19972 break;
19973 case (0x1 << 4):
19974 en_addr = (core_num == 0) ? 0x346 :
19975 0x347;
19976 val_addr = (core_num == 0) ? 0x344 :
19977 0x345;
19978 val_mask = (0x1 << 4);
19979 val_shift = 4;
19980 break;
19981 default:
19982 addr = 0xffff;
19983 break;
19987 if (off) {
19988 and_phy_reg(pi, en_addr, ~en_mask);
19989 and_phy_reg(pi, val_addr, ~val_mask);
19990 } else {
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,
19998 val_mask,
19999 (value <<
20000 val_shift));
20008 static void
20009 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20010 u8 core_mask, u8 off)
20012 u8 core_num;
20013 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20014 0, val_mask = 0;
20015 u8 shift = 0, val_shift = 0;
20017 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20019 en_mask = field;
20020 for (core_num = 0; core_num < 2; core_num++) {
20022 switch (field) {
20023 case (0x1 << 1):
20024 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20025 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20026 val_mask = (0x1 << 0);
20027 val_shift = 0;
20028 break;
20029 case (0x1 << 2):
20030 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20031 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20032 val_mask = (0x1 << 1);
20033 val_shift = 1;
20034 break;
20035 case (0x1 << 3):
20036 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20037 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20038 val_mask = (0x1 << 2);
20039 val_shift = 2;
20040 break;
20041 case (0x1 << 4):
20042 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20043 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20044 val_mask = (0x1 << 4);
20045 val_shift = 4;
20046 break;
20047 case (0x1 << 5):
20048 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20049 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20050 val_mask = (0x1 << 5);
20051 val_shift = 5;
20052 break;
20053 case (0x1 << 6):
20054 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20055 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20056 val_mask = (0x1 << 6);
20057 val_shift = 6;
20058 break;
20059 case (0x1 << 7):
20060 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20061 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20062 val_mask = (0x1 << 7);
20063 val_shift = 7;
20064 break;
20065 case (0x1 << 8):
20066 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20067 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20068 val_mask = (0x7 << 8);
20069 val_shift = 8;
20070 break;
20071 case (0x1 << 11):
20072 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20073 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20074 val_mask = (0x7 << 13);
20075 val_shift = 13;
20076 break;
20078 case (0x1 << 9):
20079 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20080 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20081 val_mask = (0x7 << 0);
20082 val_shift = 0;
20083 break;
20085 case (0x1 << 10):
20086 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20087 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20088 val_mask = (0x7 << 4);
20089 val_shift = 4;
20090 break;
20092 case (0x1 << 12):
20093 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20094 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20095 val_mask = (0xffff << 0);
20096 val_shift = 0;
20097 break;
20098 case (0x1 << 13):
20099 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20100 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20101 val_mask = (0xffff << 0);
20102 val_shift = 0;
20103 break;
20104 case (0x1 << 14):
20105 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20106 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20107 val_mask = (0x3 << 6);
20108 val_shift = 6;
20109 break;
20110 case (0x1 << 0):
20111 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20112 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20113 val_mask = (0x1 << 15);
20114 val_shift = 15;
20115 break;
20116 default:
20117 addr = 0xffff;
20118 break;
20121 if (off) {
20122 and_phy_reg(pi, en_addr, ~en_mask);
20123 and_phy_reg(pi, val_addr, ~val_mask);
20124 } else {
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,
20132 val_mask,
20133 (value <<
20134 val_shift));
20139 } else {
20141 if (off) {
20142 and_phy_reg(pi, 0xec, ~field);
20143 value = 0x0;
20144 } else {
20145 or_phy_reg(pi, 0xec, field);
20148 for (core_num = 0; core_num < 2; core_num++) {
20150 switch (field) {
20151 case (0x1 << 1):
20152 case (0x1 << 9):
20153 case (0x1 << 12):
20154 case (0x1 << 13):
20155 case (0x1 << 14):
20156 addr = 0x78;
20158 core_mask = 0x1;
20159 break;
20160 case (0x1 << 2):
20161 case (0x1 << 3):
20162 case (0x1 << 4):
20163 case (0x1 << 5):
20164 case (0x1 << 6):
20165 case (0x1 << 7):
20166 case (0x1 << 8):
20167 addr = (core_num == 0) ? 0x7a : 0x7d;
20168 break;
20169 case (0x1 << 10):
20170 addr = (core_num == 0) ? 0x7b : 0x7e;
20171 break;
20172 case (0x1 << 11):
20173 addr = (core_num == 0) ? 0x7c : 0x7f;
20174 break;
20175 default:
20176 addr = 0xffff;
20179 switch (field) {
20180 case (0x1 << 1):
20181 mask = (0x7 << 3);
20182 shift = 3;
20183 break;
20184 case (0x1 << 9):
20185 mask = (0x1 << 2);
20186 shift = 2;
20187 break;
20188 case (0x1 << 12):
20189 mask = (0x1 << 8);
20190 shift = 8;
20191 break;
20192 case (0x1 << 13):
20193 mask = (0x1 << 9);
20194 shift = 9;
20195 break;
20196 case (0x1 << 14):
20197 mask = (0xf << 12);
20198 shift = 12;
20199 break;
20200 case (0x1 << 2):
20201 mask = (0x1 << 0);
20202 shift = 0;
20203 break;
20204 case (0x1 << 3):
20205 mask = (0x1 << 1);
20206 shift = 1;
20207 break;
20208 case (0x1 << 4):
20209 mask = (0x1 << 2);
20210 shift = 2;
20211 break;
20212 case (0x1 << 5):
20213 mask = (0x3 << 4);
20214 shift = 4;
20215 break;
20216 case (0x1 << 6):
20217 mask = (0x3 << 6);
20218 shift = 6;
20219 break;
20220 case (0x1 << 7):
20221 mask = (0x1 << 8);
20222 shift = 8;
20223 break;
20224 case (0x1 << 8):
20225 mask = (0x1 << 9);
20226 shift = 9;
20227 break;
20228 case (0x1 << 10):
20229 mask = 0x1fff;
20230 shift = 0x0;
20231 break;
20232 case (0x1 << 11):
20233 mask = 0x1fff;
20234 shift = 0x0;
20235 break;
20236 default:
20237 mask = 0x0;
20238 shift = 0x0;
20239 break;
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));
20249 udelay(1);
20250 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20254 static void
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;
20259 u16 tgain = 0;
20261 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20263 switch (cmd) {
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,
20269 core_mask, off,
20270 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20271 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20272 core_mask, off,
20273 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20274 break;
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,
20280 core_mask, off,
20281 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20282 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20283 core_mask, off,
20284 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20285 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20286 core_mask, off,
20287 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20288 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20289 core_mask, off,
20290 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20291 break;
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,
20297 core_mask, off,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20300 core_mask, off,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20302 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20303 core_mask, off,
20304 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20305 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20306 core_mask, off,
20307 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20308 break;
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,
20316 off,
20317 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20318 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20319 lpfgain, core_mask,
20320 off,
20321 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20322 break;
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,
20333 off,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20335 break;
20340 static void
20341 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20342 u8 coresel, u8 rail, u8 rssi_type)
20344 u16 valuetostuff;
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)
20483 u16 mask, val;
20484 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20485 startseq;
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;
20490 u8 core;
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);
20508 } else {
20509 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20510 if (core_code == RADIO_MIMO_CORESEL_CORE1
20511 && core == PHY_CORE_1)
20512 continue;
20513 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20514 && core == PHY_CORE_0)
20515 continue;
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) {
20524 mod_phy_reg(pi,
20525 (core ==
20526 PHY_CORE_0) ? 0xa6 : 0xa7,
20527 (0x3 << 8), 0);
20529 mask = (0x1 << 2) |
20530 (0x1 << 3) |
20531 (0x1 << 4) | (0x1 << 5);
20532 mod_phy_reg(pi,
20533 (core ==
20534 PHY_CORE_0) ? 0xf9 : 0xfb,
20535 mask, 0);
20537 if (rssi_type == NPHY_RSSI_SEL_W1) {
20538 if (CHSPEC_IS5G
20539 (pi->radio_chanspec)) {
20540 mask = (0x1 << 2);
20541 val = 1 << 2;
20542 } else {
20543 mask = (0x1 << 3);
20544 val = 1 << 3;
20546 } else if (rssi_type ==
20547 NPHY_RSSI_SEL_W2) {
20548 mask = (0x1 << 4);
20549 val = 1 << 4;
20550 } else {
20551 mask = (0x1 << 5);
20552 val = 1 << 5;
20554 mod_phy_reg(pi,
20555 (core ==
20556 PHY_CORE_0) ? 0xf9 : 0xfb,
20557 mask, val);
20559 mask = (0x1 << 5);
20560 val = 1 << 5;
20561 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20562 0xe5 : 0xe6, mask, val);
20563 } else {
20564 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20566 mask = (0x3 << 8);
20567 val = 1 << 8;
20568 mod_phy_reg(pi,
20569 (core ==
20570 PHY_CORE_0) ? 0xa6
20571 : 0xa7, mask, val);
20572 mask = (0x3 << 10);
20573 val = 1 << 10;
20574 mod_phy_reg(pi,
20575 (core ==
20576 PHY_CORE_0) ? 0xa6
20577 : 0xa7, mask, val);
20578 } else if (rssi_type ==
20579 NPHY_RSSI_SEL_IQ) {
20581 mask = (0x3 << 8);
20582 val = 2 << 8;
20583 mod_phy_reg(pi,
20584 (core ==
20585 PHY_CORE_0) ? 0xa6
20586 : 0xa7, mask, val);
20587 mask = (0x3 << 10);
20588 val = 2 << 10;
20589 mod_phy_reg(pi,
20590 (core ==
20591 PHY_CORE_0) ? 0xa6
20592 : 0xa7, mask, val);
20593 } else {
20595 mask = (0x3 << 8);
20596 val = 3 << 8;
20597 mod_phy_reg(pi,
20598 (core ==
20599 PHY_CORE_0) ? 0xa6
20600 : 0xa7, mask, val);
20601 mask = (0x3 << 10);
20602 val = 3 << 10;
20603 mod_phy_reg(pi,
20604 (core ==
20605 PHY_CORE_0) ? 0xa6
20606 : 0xa7, mask, val);
20608 if (PHY_IPA(pi)) {
20609 if (NREV_GE
20610 (pi->pubpi.phy_rev,
20611 7)) {
20613 write_radio_reg
20614 (pi,
20615 ((core ==
20616 PHY_CORE_0)
20618 RADIO_2057_TX0_TX_SSI_MUX
20620 RADIO_2057_TX1_TX_SSI_MUX),
20621 (CHSPEC_IS5G
20622 (pi->
20623 radio_chanspec)
20624 ? 0xc :
20625 0xe));
20626 } else {
20627 write_radio_reg
20628 (pi,
20629 RADIO_2056_TX_TX_SSI_MUX
20631 ((core ==
20632 PHY_CORE_0)
20634 RADIO_2056_TX0
20636 RADIO_2056_TX1),
20637 (CHSPEC_IS5G
20638 (pi->
20639 radio_chanspec)
20640 ? 0xc :
20641 0xe));
20643 } else {
20645 if (NREV_GE
20646 (pi->pubpi.phy_rev,
20647 7)) {
20648 write_radio_reg
20649 (pi,
20650 ((core ==
20651 PHY_CORE_0)
20653 RADIO_2057_TX0_TX_SSI_MUX
20655 RADIO_2057_TX1_TX_SSI_MUX),
20656 0x11);
20658 if (pi->pubpi.
20659 radioid ==
20660 BCM2057_ID)
20661 write_radio_reg
20662 (pi,
20663 RADIO_2057_IQTEST_SEL_PU,
20664 0x1);
20666 } else {
20667 write_radio_reg
20668 (pi,
20669 RADIO_2056_TX_TX_SSI_MUX
20671 ((core ==
20672 PHY_CORE_0)
20674 RADIO_2056_TX0
20676 RADIO_2056_TX1),
20677 0x11);
20681 afectrlovr_rssi_val = 1 << 9;
20682 mod_phy_reg(pi,
20683 (core ==
20684 PHY_CORE_0) ? 0x8f
20685 : 0xa5, (0x1 << 9),
20686 afectrlovr_rssi_val);
20691 } else {
20693 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20694 (rssi_type == NPHY_RSSI_SEL_W2) ||
20695 (rssi_type == NPHY_RSSI_SEL_NB)) {
20697 val = 0x0;
20698 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20700 val = 0x1;
20701 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20703 val = 0x2;
20704 } else {
20706 val = 0x3;
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) {
20717 val = 0x1;
20719 if (rssi_type == NPHY_RSSI_SEL_W2) {
20720 val = 0x2;
20722 if (rssi_type == NPHY_RSSI_SEL_NB) {
20723 val = 0x3;
20725 mask = (0x3 << 4);
20726 val = (val << 4);
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;
20739 startseq = 0;
20740 } else {
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;
20748 startseq = 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) |
20765 (0x1 << 12) |
20766 (0x1 << 1) | (0x1 << 0));
20767 rfctrlovr_val = (rfctrlovr_rssi_val <<
20768 5) |
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));
20777 udelay(20);
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,
20786 u8 nsamps)
20788 s16 rssi0, rssi1;
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;
20801 s8 tmp_buf[4];
20802 u8 ctr = 0, samp = 0;
20803 s32 rssi_out_val;
20804 u16 gpiosel_orig;
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);
20815 } else {
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++) {
20831 rssi_buf[ctr] = 0;
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);
20838 } else {
20839 rssi0 = read_phy_reg(pi, 0x219);
20840 rssi1 = read_phy_reg(pi, 0x21a);
20843 ctr = 0;
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);
20873 } else {
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;
20895 u16 gpioSel_save;
20896 s32 radio_temp[4];
20897 s32 radio_temp2[4];
20898 u16 syn_tempprocsense_save;
20899 s16 offset = 0;
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;
20905 s32 auxADC_Vl;
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,
20927 &auxADC_Av_save);
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),
20948 1, 0, 0,
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));
20959 udelay(5);
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;
20972 auxADC_Av = 0x0;
20973 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20974 &auxADC_Vmid);
20975 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20976 &auxADC_Av);
20978 udelay(3);
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);
20984 udelay(5);
20985 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
20987 auxADC_Av = 0x7;
20988 if (radio_temp[1] + radio_temp2[1] < -30) {
20989 auxADC_Vmid = 0x45;
20990 auxADC_Vl = 263;
20991 } else if (radio_temp[1] + radio_temp2[1] < -9) {
20992 auxADC_Vmid = 0x200;
20993 auxADC_Vl = 467;
20994 } else if (radio_temp[1] + radio_temp2[1] < 11) {
20995 auxADC_Vmid = 0x266;
20996 auxADC_Vl = 634;
20997 } else {
20998 auxADC_Vmid = 0x2D5;
20999 auxADC_Vl = 816;
21002 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21003 &auxADC_Vmid);
21004 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21005 &auxADC_Av);
21007 udelay(3);
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);
21013 udelay(5);
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,
21032 &auxADC_Av_save);
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 +
21041 128) / 256;
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 +
21045 128) / 256;
21046 } else {
21047 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21048 + 82 * (auxADC_Vl) - 28861 +
21049 128) / 256;
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)) {
21068 } else {
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);
21075 } else {
21076 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21079 radio_temp[0] =
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;
21092 } else {
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]);
21135 radio_temp[0] =
21136 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21137 radio_temp[3]);
21139 radio_temp[0] =
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;
21167 static void
21168 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21170 u8 core;
21172 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21173 if (rssi_type == NPHY_RSSI_SEL_NB) {
21174 if (core == PHY_CORE_0) {
21175 mod_radio_reg(pi,
21176 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21177 RADIO_2055_NBRSSI_VCM_I_MASK,
21178 vcm_buf[2 *
21179 core] <<
21180 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21181 mod_radio_reg(pi,
21182 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21183 RADIO_2055_NBRSSI_VCM_Q_MASK,
21184 vcm_buf[2 * core +
21185 1] <<
21186 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21187 } else {
21188 mod_radio_reg(pi,
21189 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21190 RADIO_2055_NBRSSI_VCM_I_MASK,
21191 vcm_buf[2 *
21192 core] <<
21193 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21194 mod_radio_reg(pi,
21195 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21196 RADIO_2055_NBRSSI_VCM_Q_MASK,
21197 vcm_buf[2 * core +
21198 1] <<
21199 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21201 } else {
21203 if (core == PHY_CORE_0) {
21204 mod_radio_reg(pi,
21205 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21206 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21207 vcm_buf[2 *
21208 core] <<
21209 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21210 } else {
21211 mod_radio_reg(pi,
21212 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21213 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21214 vcm_buf[2 *
21215 core] <<
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);
21227 } else {
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)
21236 s32 target_code;
21237 u16 classif_state;
21238 u16 clip_state[2];
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] = {
21248 {0, 0, 0, 0},
21249 {0, 0, 0, 0},
21250 {0, 0, 0, 0},
21251 {0, 0, 0, 0}
21253 s32 poll_miniq[4][2] = {
21254 {0, 0},
21255 {0, 0},
21256 {0, 0},
21257 {0, 0}
21259 s32 min_d, curr_d;
21260 s32 fine_digital_offset[4];
21261 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21262 s32 min_poll;
21264 switch (rssi_type) {
21265 case NPHY_RSSI_SEL_NB:
21266 target_code = NPHY_RSSICAL_NB_TARGET;
21267 break;
21268 case NPHY_RSSI_SEL_W1:
21269 target_code = NPHY_RSSICAL_W1_TARGET;
21270 break;
21271 case NPHY_RSSI_SEL_W2:
21272 target_code = NPHY_RSSICAL_W2_TARGET;
21273 break;
21274 default:
21275 return;
21276 break;
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;
21300 pd_state[0] =
21301 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21302 pd_state[1] =
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;
21341 min_vcm = 0;
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) {
21349 min_d = curr_d;
21350 min_vcm = vcm;
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];
21376 } else {
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,
21389 (s8)
21390 fine_digital_offset[result_idx],
21391 (result_idx / 2 ==
21392 0) ? RADIO_MIMO_CORESEL_CORE1 :
21393 RADIO_MIMO_CORESEL_CORE2,
21394 (result_idx % 2 ==
21395 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21396 rssi_type);
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,
21403 NPHY_RSSI_SEL_NB);
21404 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21405 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21406 NPHY_RSSI_SEL_W1);
21407 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21408 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21409 NPHY_RSSI_SEL_W2);
21410 } else {
21411 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21412 NPHY_RSSI_SEL_W2);
21414 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21415 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21416 NPHY_RSSI_SEL_NB);
21417 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21418 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21419 NPHY_RSSI_SEL_W1);
21420 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21421 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21422 NPHY_RSSI_SEL_W2);
21423 } else {
21424 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21425 NPHY_RSSI_SEL_W2);
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);
21441 int BCMFASTPATH
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;
21448 rxpwr = 0;
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;
21452 if (rxpwr0 > 127)
21453 rxpwr0 -= 256;
21454 if (rxpwr1 > 127)
21455 rxpwr1 -= 256;
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)
21460 phyRx2_l -= 256;
21462 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21463 rxpwr0 = rxpwr1;
21464 rxpwr1 = phyRx2_l;
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;
21478 return rxpwr;
21481 static void
21482 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21483 u8 core_code)
21485 u16 mask;
21486 u16 val;
21487 u8 core;
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)
21493 continue;
21494 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21495 && core == PHY_CORE_0)
21496 continue;
21498 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21500 mask = (0x1 << 10);
21501 val = 1 << 10;
21502 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21503 0x92, mask, val);
21506 if (field == NPHY_RfctrlIntc_override_OFF) {
21508 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21509 0x92, 0);
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);
21519 val = value << 6;
21520 mod_phy_reg(pi,
21521 (core ==
21522 PHY_CORE_0) ? 0x91 : 0x92,
21523 mask, val);
21525 or_phy_reg(pi,
21526 (core ==
21527 PHY_CORE_0) ? 0x91 : 0x92,
21528 (0x1 << 10));
21530 and_phy_reg(pi, 0x2ff, (u16)
21531 ~(0x3 << 14));
21532 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21533 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21534 } else {
21536 mask = (0x1 << 6) |
21537 (0x1 << 7) |
21538 (0x1 << 8) | (0x1 << 9);
21539 val = value << 6;
21540 mod_phy_reg(pi,
21541 (core ==
21542 PHY_CORE_0) ? 0x91 : 0x92,
21543 mask, val);
21545 mask = (0x1 << 0);
21546 val = 1 << 0;
21547 mod_phy_reg(pi,
21548 (core ==
21549 PHY_CORE_0) ? 0xe7 : 0xec,
21550 mask, val);
21552 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21553 : (0x1 << 1);
21554 val = 1 << ((core == PHY_CORE_0) ?
21555 0 : 1);
21556 mod_phy_reg(pi, 0x78, mask, val);
21558 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21559 != 0), 10000);
21560 ASSERT((read_phy_reg(pi, 0x78) & val) ==
21563 mask = (0x1 << 0);
21564 val = 0 << 0;
21565 mod_phy_reg(pi,
21566 (core ==
21567 PHY_CORE_0) ? 0xe7 : 0xec,
21568 mask, val);
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)) {
21576 val = value << 5;
21577 } else {
21578 val = value << 4;
21581 mod_phy_reg(pi,
21582 (core ==
21583 PHY_CORE_0) ? 0x91 : 0x92,
21584 mask, val);
21586 or_phy_reg(pi,
21587 (core ==
21588 PHY_CORE_0) ? 0x91 : 0x92,
21589 (0x1 << 12));
21590 } else {
21592 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21593 mask = (0x1 << 5);
21594 val = value << 5;
21595 } else {
21596 mask = (0x1 << 4);
21597 val = value << 4;
21599 mod_phy_reg(pi,
21600 (core ==
21601 PHY_CORE_0) ? 0x91 : 0x92,
21602 mask, val);
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)) {
21608 mask = (0x1 << 0);
21609 val = value << 0;
21610 mod_phy_reg(pi,
21611 (core ==
21612 PHY_CORE_0) ? 0x91
21613 : 0x92, mask, val);
21615 mask = (0x1 << 2);
21616 mod_phy_reg(pi,
21617 (core ==
21618 PHY_CORE_0) ? 0x91
21619 : 0x92, mask, 0);
21620 } else {
21622 mask = (0x1 << 2);
21623 val = value << 2;
21624 mod_phy_reg(pi,
21625 (core ==
21626 PHY_CORE_0) ? 0x91
21627 : 0x92, mask, val);
21629 mask = (0x1 << 0);
21630 mod_phy_reg(pi,
21631 (core ==
21632 PHY_CORE_0) ? 0x91
21633 : 0x92, mask, 0);
21636 mask = (0x1 << 11);
21637 val = 1 << 11;
21638 mod_phy_reg(pi,
21639 (core ==
21640 PHY_CORE_0) ? 0x91 : 0x92,
21641 mask, val);
21642 } else {
21644 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21645 mask = (0x1 << 0);
21646 val = value << 0;
21647 } else {
21648 mask = (0x1 << 2);
21649 val = value << 2;
21651 mod_phy_reg(pi,
21652 (core ==
21653 PHY_CORE_0) ? 0x91 : 0x92,
21654 mask, val);
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)) {
21661 mask = (0x1 << 1);
21662 val = value << 1;
21663 mod_phy_reg(pi,
21664 (core ==
21665 PHY_CORE_0) ? 0x91
21666 : 0x92, mask, val);
21668 mask = (0x1 << 3);
21669 mod_phy_reg(pi,
21670 (core ==
21671 PHY_CORE_0) ? 0x91
21672 : 0x92, mask, 0);
21673 } else {
21675 mask = (0x1 << 3);
21676 val = value << 3;
21677 mod_phy_reg(pi,
21678 (core ==
21679 PHY_CORE_0) ? 0x91
21680 : 0x92, mask, val);
21682 mask = (0x1 << 1);
21683 mod_phy_reg(pi,
21684 (core ==
21685 PHY_CORE_0) ? 0x91
21686 : 0x92, mask, 0);
21689 mask = (0x1 << 11);
21690 val = 1 << 11;
21691 mod_phy_reg(pi,
21692 (core ==
21693 PHY_CORE_0) ? 0x91 : 0x92,
21694 mask, val);
21695 } else {
21697 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21698 mask = (0x1 << 1);
21699 val = value << 1;
21700 } else {
21701 mask = (0x1 << 3);
21702 val = value << 3;
21704 mod_phy_reg(pi,
21705 (core ==
21706 PHY_CORE_0) ? 0x91 : 0x92,
21707 mask, val);
21711 } else {
21712 return;
21716 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21718 u16 classif_state;
21719 u16 clip_state[2];
21720 u16 clip_off[] = { 0xffff, 0xffff };
21721 s32 target_code;
21722 u8 vcm, min_vcm;
21723 u8 vcm_final = 0;
21724 u8 result_idx;
21725 s32 poll_results[8][4] = {
21726 {0, 0, 0, 0},
21727 {0, 0, 0, 0},
21728 {0, 0, 0, 0},
21729 {0, 0, 0, 0},
21730 {0, 0, 0, 0},
21731 {0, 0, 0, 0},
21732 {0, 0, 0, 0},
21733 {0, 0, 0, 0}
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 };
21739 s32 min_poll;
21740 u8 vcm_level_max;
21741 u8 core;
21742 u8 wb_cnt;
21743 u8 rssi_type;
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;
21752 u8 rxcore_state;
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,
21804 0, 0, 0);
21805 } else {
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,
21812 1, 0, 0);
21813 } else {
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),
21819 1, 0, 0,
21820 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21821 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21822 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21823 } else {
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),
21831 0, 0, 0,
21832 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21833 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21835 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21836 } else {
21837 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21838 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21841 } else {
21842 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21843 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21844 0, 0, 0,
21845 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21846 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21848 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21849 } else {
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);
21857 vcm_level_max = 8;
21859 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21861 if ((rxcore_state & (1 << core)) == 0)
21862 continue;
21864 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21865 core ==
21866 PHY_CORE_0 ?
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,
21871 core ==
21872 PHY_CORE_0 ?
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);
21884 } else {
21886 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21887 ((core ==
21888 PHY_CORE_0) ? RADIO_2056_RX0 :
21889 RADIO_2056_RX1),
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;
21903 min_vcm = 0;
21904 min_poll =
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) {
21913 min_d = curr_d;
21914 min_vcm = vcm;
21916 if (poll_results[vcm][result_idx] <
21917 min_poll) {
21918 min_poll =
21919 poll_results[vcm]
21920 [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);
21933 } else {
21934 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21935 ((core ==
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
21950 [result_idx]);
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];
21957 } else {
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,
21972 (s8)
21973 fine_digital_offset
21974 [result_idx],
21975 (result_idx /
21976 2 ==
21977 0) ?
21978 RADIO_MIMO_CORESEL_CORE1
21980 RADIO_MIMO_CORESEL_CORE2,
21981 (result_idx %
21982 2 ==
21983 0) ? NPHY_RAIL_I
21984 : NPHY_RAIL_Q,
21985 NPHY_RSSI_SEL_NB);
21991 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21993 if ((rxcore_state & (1 << core)) == 0)
21994 continue;
21996 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
21997 if (wb_cnt == 0) {
21998 rssi_type = NPHY_RSSI_SEL_W1;
21999 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22000 } else {
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,
22006 core ==
22007 PHY_CORE_0 ?
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,
22013 core ==
22014 PHY_CORE_0 ?
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
22032 [result_idx]);
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
22040 [result_idx];
22041 } else {
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,
22049 (s8)
22050 fine_digital_offset
22051 [core *
22053 (core ==
22054 PHY_CORE_0)
22056 RADIO_MIMO_CORESEL_CORE1
22058 RADIO_MIMO_CORESEL_CORE2,
22059 (result_idx
22060 % 2 ==
22061 0) ?
22062 NPHY_RAIL_I
22064 NPHY_RAIL_Q,
22065 rssi_type);
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);
22117 } else {
22118 pi->rssical_cache.rssical_radio_regs_2G[0] =
22119 read_radio_reg(pi,
22120 RADIO_2056_RX_RSSI_MISC |
22121 RADIO_2056_RX0);
22122 pi->rssical_cache.rssical_radio_regs_2G[1] =
22123 read_radio_reg(pi,
22124 RADIO_2056_RX_RSSI_MISC |
22125 RADIO_2056_RX1);
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;
22154 } else {
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);
22160 } else {
22161 pi->rssical_cache.rssical_radio_regs_5G[0] =
22162 read_radio_reg(pi,
22163 RADIO_2056_RX_RSSI_MISC |
22164 RADIO_2056_RX0);
22165 pi->rssical_cache.rssical_radio_regs_5G[1] =
22166 read_radio_reg(pi,
22167 RADIO_2056_RX_RSSI_MISC |
22168 RADIO_2056_RX1);
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)
22207 return;
22209 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22210 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22211 RADIO_2057_VCM_MASK,
22212 pi->rssical_cache.
22213 rssical_radio_regs_2G[0]);
22214 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22215 RADIO_2057_VCM_MASK,
22216 pi->rssical_cache.
22217 rssical_radio_regs_2G[1]);
22218 } else {
22219 mod_radio_reg(pi,
22220 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22221 RADIO_2056_VCM_MASK,
22222 pi->rssical_cache.
22223 rssical_radio_regs_2G[0]);
22224 mod_radio_reg(pi,
22225 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22226 RADIO_2056_VCM_MASK,
22227 pi->rssical_cache.
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]);
22256 } else {
22257 if (pi->nphy_rssical_chanspec_5G == 0)
22258 return;
22260 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22261 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22262 RADIO_2057_VCM_MASK,
22263 pi->rssical_cache.
22264 rssical_radio_regs_5G[0]);
22265 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22266 RADIO_2057_VCM_MASK,
22267 pi->rssical_cache.
22268 rssical_radio_regs_5G[1]);
22269 } else {
22270 mod_radio_reg(pi,
22271 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22272 RADIO_2056_VCM_MASK,
22273 pi->rssical_cache.
22274 rssical_radio_regs_5G[0]);
22275 mod_radio_reg(pi,
22276 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22277 RADIO_2056_VCM_MASK,
22278 pi->rssical_cache.
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]);
22309 static u16
22310 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22311 u8 dac_test_mode)
22313 u8 phy_bw, is_phybw40;
22314 u16 num_samps, t, spur;
22315 fixed theta = 0, rot = 0;
22316 u32 tbl_len;
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) {
22334 return 0;
22337 num_samps = (u16) tbl_len;
22338 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22339 theta = 0;
22341 for (t = 0; t < num_samps; t++) {
22343 wlc_phy_cordic(theta, &tone_buf[t]);
22345 theta += rot;
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);
22353 kfree(tone_buf);
22355 return 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)
22362 u16 num_samps;
22363 u16 loops = 0xffff;
22364 u16 wait = 0;
22366 num_samps =
22367 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22368 if (num_samps == 0) {
22369 return BCME_ERROR;
22372 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22373 dac_test_mode, modify_bbmult);
22375 return 0;
22378 static void
22379 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22380 u16 num_samps)
22382 u16 t;
22383 u32 *data_buf = NULL;
22385 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22386 if (data_buf == NULL) {
22387 return;
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,
22398 data_buf);
22400 kfree(data_buf);
22402 if (pi->phyhang_avoid)
22403 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22406 static void
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)
22411 u16 bb_mult;
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);
22420 phy_bw = 20;
22421 if (CHSPEC_IS40(pi->radio_chanspec))
22422 phy_bw = 40;
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) &
22430 (0x7 << 8);
22431 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22432 (0x7 << 8);
22433 } else {
22434 wlc_phy_rfctrl_override_nphy_rev7(pi,
22435 (0x1 << 7),
22436 wlc_phy_read_lpf_bw_ctl_nphy
22437 (pi, 0), 0, 0,
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) &
22443 (0x7 << 8);
22444 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22445 (0x7 << 8);
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,
22452 &bb_mult);
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,
22461 &bb_mult);
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);
22471 } else {
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);
22478 if (iqmode) {
22480 and_phy_reg(pi, 0xc2, 0x7FFF);
22482 or_phy_reg(pi, 0xc2, 0x8000);
22483 } else {
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;
22497 u16 bb_mult;
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,
22517 &bb_mult);
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,
22525 (0x1 << 7),
22526 0, 0, 1,
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];
22539 u8 core_no;
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,
22548 curr_gain);
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);
22574 } else {
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);
22585 } else {
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)) {
22590 if (PHY_IPA(pi)) {
22591 tx_pwrctrl_tbl =
22592 wlc_phy_get_ipa_gaintbl_nphy(pi);
22593 } else {
22594 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22595 if NREV_IS
22596 (pi->pubpi.phy_rev, 3) {
22597 tx_pwrctrl_tbl =
22598 nphy_tpc_5GHz_txgain_rev3;
22599 } else if NREV_IS
22600 (pi->pubpi.phy_rev, 4) {
22601 tx_pwrctrl_tbl =
22602 (pi->srom_fem5g.
22603 extpagain ==
22604 3) ?
22605 nphy_tpc_5GHz_txgain_HiPwrEPA
22607 nphy_tpc_5GHz_txgain_rev4;
22608 } else {
22609 tx_pwrctrl_tbl =
22610 nphy_tpc_5GHz_txgain_rev5;
22612 } else {
22613 if (NREV_GE
22614 (pi->pubpi.phy_rev, 7)) {
22615 if (pi->pubpi.
22616 radiorev == 3) {
22617 tx_pwrctrl_tbl =
22618 nphy_tpc_txgain_epa_2057rev3;
22619 } else if (pi->pubpi.
22620 radiorev ==
22621 5) {
22622 tx_pwrctrl_tbl =
22623 nphy_tpc_txgain_epa_2057rev5;
22626 } else {
22627 if (NREV_GE
22628 (pi->pubpi.phy_rev,
22630 && (pi->srom_fem2g.
22631 extpagain ==
22632 3)) {
22633 tx_pwrctrl_tbl =
22634 nphy_tpc_txgain_HiPwrEPA;
22635 } else {
22636 tx_pwrctrl_tbl =
22637 nphy_tpc_txgain_rev3;
22642 if NREV_GE
22643 (pi->pubpi.phy_rev, 7) {
22644 target_gain.ipa[core_no] =
22645 (tx_pwrctrl_tbl[base_idx[core_no]]
22646 >> 16) & 0x7;
22647 target_gain.pad[core_no] =
22648 (tx_pwrctrl_tbl[base_idx[core_no]]
22649 >> 19) & 0x1f;
22650 target_gain.pga[core_no] =
22651 (tx_pwrctrl_tbl[base_idx[core_no]]
22652 >> 24) & 0xf;
22653 target_gain.txgm[core_no] =
22654 (tx_pwrctrl_tbl[base_idx[core_no]]
22655 >> 28) & 0x7;
22656 target_gain.txlpf[core_no] =
22657 (tx_pwrctrl_tbl[base_idx[core_no]]
22658 >> 31) & 0x1;
22659 } else {
22660 target_gain.ipa[core_no] =
22661 (tx_pwrctrl_tbl[base_idx[core_no]]
22662 >> 16) & 0xf;
22663 target_gain.pad[core_no] =
22664 (tx_pwrctrl_tbl[base_idx[core_no]]
22665 >> 20) & 0xf;
22666 target_gain.pga[core_no] =
22667 (tx_pwrctrl_tbl[base_idx[core_no]]
22668 >> 24) & 0xf;
22669 target_gain.txgm[core_no] =
22670 (tx_pwrctrl_tbl[base_idx[core_no]]
22671 >> 28) & 0x7;
22673 } else {
22674 target_gain.ipa[core_no] =
22675 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22676 0x3;
22677 target_gain.pad[core_no] =
22678 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22679 0x3;
22680 target_gain.pga[core_no] =
22681 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22682 0x7;
22683 target_gain.txgm[core_no] =
22684 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22685 0x7;
22690 return target_gain;
22693 static void
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)
22698 u8 k;
22699 int idx;
22700 u16 gain_index;
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)) {
22712 params->cal_gain =
22713 ((params->txlpf << 15) | (params->
22714 txgm << 12) | (params->
22715 pga << 8) |
22716 (params->pad << 3) | (params->ipa));
22717 } else {
22718 params->cal_gain =
22719 ((params->txgm << 12) | (params->
22720 pga << 8) | (params->
22721 pad << 4) |
22722 (params->ipa));
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;
22729 } else {
22731 gain_index = ((target_gain.pad[core_no] << 0) |
22732 (target_gain.pga[core_no] << 4) | (target_gain.
22733 txgm[core_no]
22734 << 8));
22736 idx = -1;
22737 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22738 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22739 gain_index) {
22740 idx = k;
22741 break;
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,
22767 TX_SSI_MASTER);
22769 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22770 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22771 IQCAL_VCM_HG);
22773 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22774 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22775 IQCAL_IDAC);
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,
22784 TX_SSI_MUX);
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,
22789 TSSIA);
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,
22796 TSSI_MISC1);
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,
22804 IQCAL_IDAC, 0x55);
22805 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22806 TSSI_VCM, 0x00);
22807 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22808 TSSIG, 0x00);
22809 if (pi->use_int_tx_iqlo_cal_nphy) {
22810 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22811 core, TX_SSI_MUX, 0x4);
22812 if (!
22813 (pi->
22814 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22816 WRITE_RADIO_REG3(pi, RADIO_2057,
22817 TX, core,
22818 TSSIA, 0x31);
22819 } else {
22821 WRITE_RADIO_REG3(pi, RADIO_2057,
22822 TX, core,
22823 TSSIA, 0x21);
22826 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22827 TSSI_MISC1, 0x00);
22828 } else {
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,
22834 IQCAL_IDAC, 0x55);
22835 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22836 TSSI_VCM, 0x00);
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,
22843 core, TX_SSI_MUX,
22844 0x06);
22845 if (!
22846 (pi->
22847 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22849 WRITE_RADIO_REG3(pi, RADIO_2057,
22850 TX, core,
22851 TSSIG, 0x31);
22852 } else {
22854 WRITE_RADIO_REG3(pi, RADIO_2057,
22855 TX, core,
22856 TSSIG, 0x21);
22859 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22860 TSSI_MISC1, 0x00);
22863 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22865 for (core = 0; core <= 1; core++) {
22866 jtag_core =
22867 (core ==
22868 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22870 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22871 read_radio_reg(pi,
22872 RADIO_2056_TX_TX_SSI_MASTER |
22873 jtag_core);
22875 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22876 read_radio_reg(pi,
22877 RADIO_2056_TX_IQCAL_VCM_HG |
22878 jtag_core);
22880 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22881 read_radio_reg(pi,
22882 RADIO_2056_TX_IQCAL_IDAC |
22883 jtag_core);
22885 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22886 read_radio_reg(pi,
22887 RADIO_2056_TX_TSSI_VCM | jtag_core);
22889 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22890 read_radio_reg(pi,
22891 RADIO_2056_TX_TX_AMP_DET |
22892 jtag_core);
22894 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22895 read_radio_reg(pi,
22896 RADIO_2056_TX_TX_SSI_MUX |
22897 jtag_core);
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] =
22906 read_radio_reg(pi,
22907 RADIO_2056_TX_TSSI_MISC1 |
22908 jtag_core);
22910 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22911 read_radio_reg(pi,
22912 RADIO_2056_TX_TSSI_MISC2 |
22913 jtag_core);
22915 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22916 read_radio_reg(pi,
22917 RADIO_2056_TX_TSSI_MISC3 |
22918 jtag_core);
22920 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22921 write_radio_reg(pi,
22922 RADIO_2056_TX_TX_SSI_MASTER |
22923 jtag_core, 0x0a);
22924 write_radio_reg(pi,
22925 RADIO_2056_TX_IQCAL_VCM_HG |
22926 jtag_core, 0x40);
22927 write_radio_reg(pi,
22928 RADIO_2056_TX_IQCAL_IDAC |
22929 jtag_core, 0x55);
22930 write_radio_reg(pi,
22931 RADIO_2056_TX_TSSI_VCM |
22932 jtag_core, 0x00);
22933 write_radio_reg(pi,
22934 RADIO_2056_TX_TX_AMP_DET |
22935 jtag_core, 0x00);
22937 if (PHY_IPA(pi)) {
22938 write_radio_reg(pi,
22939 RADIO_2056_TX_TX_SSI_MUX
22940 | jtag_core, 0x4);
22941 write_radio_reg(pi,
22942 RADIO_2056_TX_TSSIA |
22943 jtag_core, 0x1);
22944 } else {
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 |
22950 jtag_core, 0x2f);
22952 write_radio_reg(pi,
22953 RADIO_2056_TX_TSSIG | jtag_core,
22954 0x00);
22955 write_radio_reg(pi,
22956 RADIO_2056_TX_TSSI_MISC1 |
22957 jtag_core, 0x00);
22959 write_radio_reg(pi,
22960 RADIO_2056_TX_TSSI_MISC2 |
22961 jtag_core, 0x00);
22962 write_radio_reg(pi,
22963 RADIO_2056_TX_TSSI_MISC3 |
22964 jtag_core, 0x00);
22965 } else {
22966 write_radio_reg(pi,
22967 RADIO_2056_TX_TX_SSI_MASTER |
22968 jtag_core, 0x06);
22969 write_radio_reg(pi,
22970 RADIO_2056_TX_IQCAL_VCM_HG |
22971 jtag_core, 0x40);
22972 write_radio_reg(pi,
22973 RADIO_2056_TX_IQCAL_IDAC |
22974 jtag_core, 0x55);
22975 write_radio_reg(pi,
22976 RADIO_2056_TX_TSSI_VCM |
22977 jtag_core, 0x00);
22978 write_radio_reg(pi,
22979 RADIO_2056_TX_TX_AMP_DET |
22980 jtag_core, 0x00);
22981 write_radio_reg(pi,
22982 RADIO_2056_TX_TSSIA | jtag_core,
22983 0x00);
22985 if (PHY_IPA(pi)) {
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
22994 | jtag_core,
22995 0x11);
22996 } else {
22998 write_radio_reg(pi,
22999 RADIO_2056_TX_TSSIG
23000 | jtag_core,
23001 0x1);
23003 } else {
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 |
23009 jtag_core, 0x20);
23012 write_radio_reg(pi,
23013 RADIO_2056_TX_TSSI_MISC1 |
23014 jtag_core, 0x00);
23015 write_radio_reg(pi,
23016 RADIO_2056_TX_TSSI_MISC2 |
23017 jtag_core, 0x00);
23018 write_radio_reg(pi,
23019 RADIO_2056_TX_TSSI_MISC3 |
23020 jtag_core, 0x00);
23023 } else {
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) ==
23045 0) {
23047 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23048 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23049 } else {
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);
23059 } else {
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,
23075 TX_SSI_MASTER,
23076 pi->
23077 tx_rx_cal_radio_saveregs[(core * 11) +
23078 0]);
23080 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23081 pi->
23082 tx_rx_cal_radio_saveregs[(core * 11) +
23083 1]);
23085 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23086 pi->
23087 tx_rx_cal_radio_saveregs[(core * 11) +
23088 2]);
23090 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23091 pi->
23092 tx_rx_cal_radio_saveregs[(core * 11) +
23093 3]);
23095 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23096 pi->
23097 tx_rx_cal_radio_saveregs[(core * 11) +
23098 5]);
23100 if (pi->pubpi.radiorev != 5)
23101 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23102 TSSIA,
23103 pi->
23104 tx_rx_cal_radio_saveregs[(core
23106 11) +
23107 6]);
23109 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23110 pi->
23111 tx_rx_cal_radio_saveregs[(core * 11) +
23112 7]);
23114 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23115 pi->
23116 tx_rx_cal_radio_saveregs[(core * 11) +
23117 8]);
23119 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23120 for (core = 0; core <= 1; core++) {
23121 jtag_core =
23122 (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,
23127 pi->
23128 tx_rx_cal_radio_saveregs[(core * 11) +
23129 0]);
23131 write_radio_reg(pi,
23132 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23133 pi->
23134 tx_rx_cal_radio_saveregs[(core * 11) +
23135 1]);
23137 write_radio_reg(pi,
23138 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23139 pi->
23140 tx_rx_cal_radio_saveregs[(core * 11) +
23141 2]);
23143 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23144 pi->
23145 tx_rx_cal_radio_saveregs[(core * 11) +
23146 3]);
23148 write_radio_reg(pi,
23149 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23150 pi->
23151 tx_rx_cal_radio_saveregs[(core * 11) +
23152 4]);
23154 write_radio_reg(pi,
23155 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23156 pi->
23157 tx_rx_cal_radio_saveregs[(core * 11) +
23158 5]);
23160 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23161 pi->
23162 tx_rx_cal_radio_saveregs[(core * 11) +
23163 6]);
23165 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23166 pi->
23167 tx_rx_cal_radio_saveregs[(core * 11) +
23168 7]);
23170 write_radio_reg(pi,
23171 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23172 pi->
23173 tx_rx_cal_radio_saveregs[(core * 11) +
23174 8]);
23176 write_radio_reg(pi,
23177 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23178 pi->
23179 tx_rx_cal_radio_saveregs[(core * 11) +
23180 9]);
23182 write_radio_reg(pi,
23183 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23184 pi->
23185 tx_rx_cal_radio_saveregs[(core * 11) +
23186 10]);
23188 } else {
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)
23207 u16 val, mask;
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));
23214 val = (0x2 << 8);
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,
23233 &val);
23234 pi->tx_rx_cal_phy_saveregs[5] = val;
23235 val = 0;
23236 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23237 &val);
23239 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23240 &val);
23241 pi->tx_rx_cal_phy_saveregs[6] = val;
23242 val = 0;
23243 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23244 &val);
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);
23257 } else {
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
23286 (pi, 0), 0, 0,
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,
23296 1 << 4);
23298 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23299 mod_radio_reg(pi,
23300 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23301 1, 0);
23302 mod_radio_reg(pi,
23303 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23304 1, 0);
23305 } else {
23306 mod_radio_reg(pi,
23307 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23308 1, 0);
23309 mod_radio_reg(pi,
23310 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23311 1, 0);
23313 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23314 wlc_phy_rfctrl_override_nphy_rev7(pi,
23315 (0x1 << 3), 0,
23316 0x3, 0,
23317 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23320 } else {
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));
23325 val = (0x2 << 12);
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,
23336 &val);
23337 pi->tx_rx_cal_phy_saveregs[3] = val;
23338 val |= 0x2000;
23339 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23340 &val);
23342 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23343 &val);
23344 pi->tx_rx_cal_phy_saveregs[4] = val;
23345 val |= 0x2000;
23346 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23347 &val);
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)
23359 u16 mask;
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)) {
23393 mod_radio_reg(pi,
23394 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23395 1, 1);
23396 mod_radio_reg(pi,
23397 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23398 1, 1);
23399 } else {
23400 mod_radio_reg(pi,
23401 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23402 1, 1);
23403 mod_radio_reg(pi,
23404 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23405 1, 1);
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,
23412 (0x1 << 3), 0,
23413 0x3, 1,
23414 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23417 } else {
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
23438 void
23439 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23441 u16 tssi_reg;
23442 s32 temp, pwrindex[2];
23443 s32 idle_tssi[2];
23444 s32 rssi_buf[4];
23445 s32 tssival[2];
23446 u8 tssi_type;
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);
23456 tssi_type =
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) {
23469 pwrindex[0] = 0;
23470 } else if (pwrindex[0] > 63) {
23471 pwrindex[0] = 63;
23474 if (pwrindex[1] < 0) {
23475 pwrindex[1] = 0;
23476 } else if (pwrindex[1] > 63) {
23477 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)
23488 u16 txcal_gain[2];
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,
23496 txcal_gain);
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;
23501 } else {
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,
23507 txcal_gain);
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,
23528 false);
23529 } else {
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,
23537 false);
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,
23547 pi->
23548 nphy_txcal_pwr_idx[0],
23549 true);
23550 save_bbmult = true;
23553 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23554 if (PHY_IPA(pi)) {
23555 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23556 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23557 false);
23558 } else {
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,
23562 false);
23563 save_bbmult = true;
23565 } else {
23567 wlc_phy_internal_cal_txgain_nphy(pi);
23568 save_bbmult = true;
23571 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23572 if (PHY_IPA(pi)) {
23573 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23574 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23575 false);
23576 } else {
23577 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23578 false);
23580 } else {
23582 wlc_phy_internal_cal_txgain_nphy(pi);
23583 save_bbmult = true;
23587 } else {
23588 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23591 if (save_bbmult) {
23592 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23593 &pi->nphy_txcal_bbmult);
23597 void
23598 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23600 int gainctrl_loopidx;
23601 uint core;
23602 u16 m0m1, curr_m0m1;
23603 s32 delta_power;
23604 s32 txpwrindex;
23605 s32 qdBm_power[2];
23606 u16 orig_BBConfig;
23607 u16 phy_saveregs[4];
23608 u32 freq_test;
23609 u16 ampl_test = 250;
23610 uint stepsize;
23611 bool phyhang_avoid_state = false;
23613 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23615 stepsize = 2;
23616 } else {
23618 stepsize = 1;
23621 if (CHSPEC_IS40(pi->radio_chanspec)) {
23622 freq_test = 5000;
23623 } else {
23624 freq_test = 2500;
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);
23644 if (!debug) {
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);
23651 } else {
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,
23671 false);
23673 if (core == PHY_CORE_0) {
23674 curr_m0m1 = m0m1 & 0xff00;
23675 } else {
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);
23682 udelay(50);
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) {
23694 txpwrindex = 0;
23695 } else if (txpwrindex > 127) {
23696 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) {
23703 txpwrindex = 30;
23706 } else {
23707 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23708 (pi->srom_fem2g.extpagain == 3)) {
23709 if (txpwrindex < 50) {
23710 txpwrindex = 50;
23715 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23716 (u8) txpwrindex, true);
23719 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23721 if (debug) {
23722 u16 radio_gain;
23723 u16 dbg_m0m1;
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,
23728 false);
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);
23733 udelay(100);
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,
23739 &radio_gain);
23741 mdelay(4000);
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)
23767 int index;
23768 u32 bbmult_scale;
23769 u16 bbmult;
23770 u16 tblentry;
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;
23792 tblentry =
23793 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23794 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23795 &tblentry);
23797 bbmult_scale = ladder_iq[index].percent * bbmult;
23798 bbmult_scale /= 100;
23800 tblentry =
23801 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23802 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23803 16, &tblentry);
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;
23813 bool mphase;
23815 if (NORADIO_ENAB(pi->pubpi)) {
23816 wlc_phy_cal_perical_mphase_reset(pi);
23817 return;
23820 if (PHY_MUTED(pi))
23821 return;
23823 if (caltype == PHY_PERICAL_AUTO)
23824 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23825 else if (caltype == PHY_PERICAL_PARTIAL)
23826 fullcal = false;
23828 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23829 fullcal =
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,
23855 0x110, 16,
23856 pi->nphy_cal_orig_tx_gain);
23857 } else {
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);
23870 if (!mphase) {
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;
23879 if (0 ==
23880 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23881 if (PHY_IPA(pi))
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,
23887 10000);
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,
23892 (pi->
23893 first_cal_after_assoc
23894 || (pi->
23895 cal_type_override
23897 PHY_PERICAL_FULL))
23898 ? 2 : 0, false)) {
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);
23920 } else {
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++;
23931 break;
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,
23944 true) != 0) {
23946 wlc_phy_cal_perical_mphase_reset(pi);
23947 break;
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;
23954 } else {
23955 pi->mphase_cal_phase_id++;
23957 break;
23959 case MPHASE_CAL_STATE_PAPDCAL:
23960 if ((pi->radar_percal_mask & 0x2) != 0)
23961 pi->nphy_rxcal_active = true;
23963 if (PHY_IPA(pi)) {
23964 wlc_phy_a4(pi, true);
23966 pi->mphase_cal_phase_id++;
23967 break;
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,
23976 false) == 0) {
23977 wlc_phy_savecal_nphy(pi);
23980 pi->mphase_cal_phase_id++;
23981 break;
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++;
23996 } else {
23997 wlc_phy_cal_perical_mphase_reset(pi);
24000 break;
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);
24013 break;
24015 default:
24016 wlc_phy_cal_perical_mphase_reset(pi);
24017 break;
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,
24026 pi->
24027 nphy_cal_orig_pwr_idx
24028 [0], false);
24029 wlc_phy_txpwr_index_nphy(pi, 2,
24030 pi->
24031 nphy_cal_orig_pwr_idx
24032 [1], false);
24034 pi->nphy_txpwrindex[0].index = -1;
24035 pi->nphy_txpwrindex[1].index = -1;
24036 } else {
24037 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24038 (s8) (pi->
24039 nphy_txpwrindex
24040 [0].
24041 index_internal),
24042 false);
24043 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24044 (s8) (pi->
24045 nphy_txpwrindex
24046 [1].
24047 index_internal),
24048 false);
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)
24062 u16 val;
24063 u16 tbl_buf[11];
24064 u8 cal_cnt;
24065 u16 cal_cmd;
24066 u8 num_cals, max_cal_cmds;
24067 u16 core_no, cal_type;
24068 u16 diq_start = 0;
24069 u8 phy_bw;
24070 u16 max_val;
24071 u16 tone_freq;
24072 u16 gain_save[2];
24073 u16 cal_gain[2];
24074 nphy_iqcal_params_t cal_params[2];
24075 u32 tbl_len;
24076 void *tbl_ptr;
24077 bool ladder_updated[2];
24078 u8 mphase_cal_lastphase = 0;
24079 int bcmerror = 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,
24084 0x1902,
24085 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24086 0x6407
24089 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24090 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24091 0x3200,
24092 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24093 0x6407
24096 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24097 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24098 0x1202,
24099 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24100 0x4707
24103 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24104 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24105 0x2300,
24106 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24107 0x4707
24110 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24111 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24112 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,
24128 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)) {
24149 phy_bw = 40;
24150 } else {
24151 phy_bw = 20;
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);
24176 } else {
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,
24181 16, tbl_ptr);
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);
24186 } else {
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,
24191 16, tbl_ptr);
24194 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24195 write_phy_reg(pi, 0xc2, 0x8ad9);
24196 } else {
24197 write_phy_reg(pi, 0xc2, 0x8aa9);
24200 max_val = 250;
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);
24205 bcmerror = 0;
24206 } else {
24207 bcmerror =
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)) {
24218 tbl_len -= 2;
24220 } else {
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)) {
24227 tbl_len -= 2;
24229 } else {
24231 fullcal = true;
24233 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24234 tbl_ptr =
24235 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24236 tbl_len =
24237 ARRAY_SIZE
24238 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24239 } else {
24240 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24241 tbl_len =
24242 ARRAY_SIZE
24243 (tbl_tx_iqlo_cal_startcoefs);
24247 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24248 16, tbl_ptr);
24250 if (fullcal) {
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);
24254 } else {
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);
24260 if (mphase) {
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;
24264 } else {
24265 num_cals = max_cal_cmds;
24267 } else {
24268 cal_cnt = 0;
24269 num_cals = max_cal_cmds;
24272 for (; cal_cnt < num_cals; cal_cnt++) {
24274 if (fullcal) {
24275 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24276 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24277 [cal_cnt] :
24278 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24279 } else {
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) &&
24290 PHY_IPA(pi)
24291 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24292 if (!ladder_updated[core_no]) {
24293 wlc_phy_update_txcal_ladder_nphy(pi,
24294 core_no);
24295 ladder_updated[core_no] = true;
24299 val =
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,
24309 tbl_buf);
24311 diq_start = tbl_buf[0];
24313 tbl_buf[0] = 0;
24314 wlc_phy_table_write_nphy(pi,
24315 NPHY_TBL_ID_IQLOCAL, 1,
24316 69 + core_no, 16,
24317 tbl_buf);
24320 write_phy_reg(pi, 0xc0, cal_cmd);
24322 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24323 20000);
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;
24340 if (mphase) {
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;
24350 if (!mphase
24351 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24353 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24354 16, tbl_buf);
24355 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24356 16, tbl_buf);
24358 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24360 tbl_buf[0] = 0;
24361 tbl_buf[1] = 0;
24362 tbl_buf[2] = 0;
24363 tbl_buf[3] = 0;
24366 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24367 16, tbl_buf);
24369 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24370 16, tbl_buf);
24371 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24372 16, tbl_buf);
24374 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24375 16, tbl_buf);
24377 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24378 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24380 tbl_len -= 2;
24382 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24383 tbl_len, 96, 16,
24384 pi->nphy_txiqlocal_bestc);
24386 pi->nphy_txiqlocal_coeffsvalid = true;
24387 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24388 } else {
24389 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24390 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24392 tbl_len -= 2;
24394 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24395 tbl_len, 96, 16,
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,
24408 gain_save);
24410 wlc_phy_txcal_radio_cleanup_nphy(pi);
24412 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24413 if (!mphase
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);
24424 return bcmerror;
24427 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24429 u16 tbl_buf[7];
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);
24444 tbl_buf[0] = 0;
24445 tbl_buf[1] = 0;
24446 tbl_buf[2] = 0;
24447 tbl_buf[3] = 0;
24448 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24449 16, tbl_buf);
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);
24474 void
24475 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24477 if (write) {
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);
24482 } else {
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);
24490 void
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)
24494 u8 core;
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),
24504 10000);
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++) {
24509 est[core].i_pwr =
24510 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24511 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24512 est[core].q_pwr =
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)
24525 u8 curr_core;
24526 phy_iq_est_t est[PHY_CORE_MAX];
24527 nphy_iq_comp_t old_comp, new_comp;
24528 s32 iq = 0;
24529 u32 ii = 0, qq = 0;
24530 s16 iq_nbits, qq_nbits, brsh, arsh;
24531 s32 a, b, temp;
24532 int bcmerror = 0;
24533 uint cal_retry = 0;
24535 if (core_mask == 0x0)
24536 return;
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);
24542 cal_try:
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;
24557 } else {
24558 continue;
24561 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24562 bcmerror = BCME_ERROR;
24563 break;
24566 iq_nbits = wlc_phy_nbits(iq);
24567 qq_nbits = wlc_phy_nbits(qq);
24569 arsh = 10 - (30 - iq_nbits);
24570 if (arsh >= 0) {
24571 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24572 temp = (s32) (ii >> arsh);
24573 if (temp == 0) {
24574 bcmerror = BCME_ERROR;
24575 break;
24577 } else {
24578 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24579 temp = (s32) (ii << -arsh);
24580 if (temp == 0) {
24581 bcmerror = BCME_ERROR;
24582 break;
24586 a /= temp;
24588 brsh = qq_nbits - 31 + 20;
24589 if (brsh >= 0) {
24590 b = (qq << (31 - qq_nbits));
24591 temp = (s32) (ii >> brsh);
24592 if (temp == 0) {
24593 bcmerror = BCME_ERROR;
24594 break;
24596 } else {
24597 b = (qq << (31 - qq_nbits));
24598 temp = (s32) (ii << -brsh);
24599 if (temp == 0) {
24600 bcmerror = BCME_ERROR;
24601 break;
24604 b /= temp;
24605 b -= a * a;
24606 b = (s32) wlc_phy_sqrt_int((u32) b);
24607 b -= (1 << 10);
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;
24613 } else {
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;
24623 } else {
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) {
24635 cal_retry++;
24636 goto cal_try;
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)
24648 u16 offtune_val;
24649 u16 bias_g = 0;
24650 u16 bias_a = 0;
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] =
24656 read_radio_reg(pi,
24657 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24658 pi->tx_rx_cal_radio_saveregs[1] =
24659 read_radio_reg(pi,
24660 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24662 write_radio_reg(pi,
24663 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24664 0x3);
24665 write_radio_reg(pi,
24666 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24667 0xaf);
24669 } else {
24670 pi->tx_rx_cal_radio_saveregs[0] =
24671 read_radio_reg(pi,
24672 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24673 pi->tx_rx_cal_radio_saveregs[1] =
24674 read_radio_reg(pi,
24675 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24677 write_radio_reg(pi,
24678 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24679 0x3);
24680 write_radio_reg(pi,
24681 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24682 0x7f);
24685 } else {
24686 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24687 pi->tx_rx_cal_radio_saveregs[0] =
24688 read_radio_reg(pi,
24689 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24690 pi->tx_rx_cal_radio_saveregs[1] =
24691 read_radio_reg(pi,
24692 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24694 write_radio_reg(pi,
24695 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24696 0x3);
24697 write_radio_reg(pi,
24698 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24699 0xaf);
24701 } else {
24702 pi->tx_rx_cal_radio_saveregs[0] =
24703 read_radio_reg(pi,
24704 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24705 pi->tx_rx_cal_radio_saveregs[1] =
24706 read_radio_reg(pi,
24707 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24709 write_radio_reg(pi,
24710 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24711 0x3);
24712 write_radio_reg(pi,
24713 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24714 0x7f);
24718 } else {
24719 if (rx_core == PHY_CORE_0) {
24720 pi->tx_rx_cal_radio_saveregs[0] =
24721 read_radio_reg(pi,
24722 RADIO_2056_TX_RXIQCAL_TXMUX |
24723 RADIO_2056_TX1);
24724 pi->tx_rx_cal_radio_saveregs[1] =
24725 read_radio_reg(pi,
24726 RADIO_2056_RX_RXIQCAL_RXMUX |
24727 RADIO_2056_RX0);
24729 if (pi->pubpi.radiorev >= 5) {
24730 pi->tx_rx_cal_radio_saveregs[2] =
24731 read_radio_reg(pi,
24732 RADIO_2056_RX_RXSPARE2 |
24733 RADIO_2056_RX0);
24734 pi->tx_rx_cal_radio_saveregs[3] =
24735 read_radio_reg(pi,
24736 RADIO_2056_TX_TXSPARE2 |
24737 RADIO_2056_TX1);
24740 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24742 if (pi->pubpi.radiorev >= 5) {
24743 pi->tx_rx_cal_radio_saveregs[4] =
24744 read_radio_reg(pi,
24745 RADIO_2056_RX_LNAA_MASTER
24746 | RADIO_2056_RX0);
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);
24759 } else {
24760 pi->tx_rx_cal_radio_saveregs[4] =
24761 read_radio_reg(pi,
24762 RADIO_2056_RX_LNAA_TUNE
24763 | RADIO_2056_RX0);
24765 offtune_val =
24766 (pi->
24767 tx_rx_cal_radio_saveregs[2] & 0xF0)
24768 >> 8;
24769 offtune_val =
24770 (offtune_val <= 0x7) ? 0xF : 0;
24772 mod_radio_reg(pi,
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);
24784 } else {
24785 if (pi->pubpi.radiorev >= 5) {
24786 pi->tx_rx_cal_radio_saveregs[4] =
24787 read_radio_reg(pi,
24788 RADIO_2056_RX_LNAG_MASTER
24789 | RADIO_2056_RX0);
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);
24803 } else {
24804 pi->tx_rx_cal_radio_saveregs[4] =
24805 read_radio_reg(pi,
24806 RADIO_2056_RX_LNAG_TUNE
24807 | RADIO_2056_RX0);
24809 offtune_val =
24810 (pi->
24811 tx_rx_cal_radio_saveregs[2] & 0xF0)
24812 >> 8;
24813 offtune_val =
24814 (offtune_val <= 0x7) ? 0xF : 0;
24816 mod_radio_reg(pi,
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);
24830 } else {
24831 pi->tx_rx_cal_radio_saveregs[0] =
24832 read_radio_reg(pi,
24833 RADIO_2056_TX_RXIQCAL_TXMUX |
24834 RADIO_2056_TX0);
24835 pi->tx_rx_cal_radio_saveregs[1] =
24836 read_radio_reg(pi,
24837 RADIO_2056_RX_RXIQCAL_RXMUX |
24838 RADIO_2056_RX1);
24840 if (pi->pubpi.radiorev >= 5) {
24841 pi->tx_rx_cal_radio_saveregs[2] =
24842 read_radio_reg(pi,
24843 RADIO_2056_RX_RXSPARE2 |
24844 RADIO_2056_RX1);
24845 pi->tx_rx_cal_radio_saveregs[3] =
24846 read_radio_reg(pi,
24847 RADIO_2056_TX_TXSPARE2 |
24848 RADIO_2056_TX0);
24851 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24853 if (pi->pubpi.radiorev >= 5) {
24854 pi->tx_rx_cal_radio_saveregs[4] =
24855 read_radio_reg(pi,
24856 RADIO_2056_RX_LNAA_MASTER
24857 | RADIO_2056_RX1);
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);
24870 } else {
24871 pi->tx_rx_cal_radio_saveregs[4] =
24872 read_radio_reg(pi,
24873 RADIO_2056_RX_LNAA_TUNE
24874 | RADIO_2056_RX1);
24876 offtune_val =
24877 (pi->
24878 tx_rx_cal_radio_saveregs[2] & 0xF0)
24879 >> 8;
24880 offtune_val =
24881 (offtune_val <= 0x7) ? 0xF : 0;
24883 mod_radio_reg(pi,
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);
24895 } else {
24896 if (pi->pubpi.radiorev >= 5) {
24897 pi->tx_rx_cal_radio_saveregs[4] =
24898 read_radio_reg(pi,
24899 RADIO_2056_RX_LNAG_MASTER
24900 | RADIO_2056_RX1);
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);
24913 } else {
24914 pi->tx_rx_cal_radio_saveregs[4] =
24915 read_radio_reg(pi,
24916 RADIO_2056_RX_LNAG_TUNE
24917 | RADIO_2056_RX1);
24919 offtune_val =
24920 (pi->
24921 tx_rx_cal_radio_saveregs[2] & 0xF0)
24922 >> 8;
24923 offtune_val =
24924 (offtune_val <= 0x7) ? 0xF : 0;
24926 mod_radio_reg(pi,
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,
24950 pi->
24951 tx_rx_cal_radio_saveregs[0]);
24952 write_radio_reg(pi,
24953 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24954 pi->
24955 tx_rx_cal_radio_saveregs[1]);
24957 } else {
24958 write_radio_reg(pi,
24959 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24960 pi->
24961 tx_rx_cal_radio_saveregs[0]);
24962 write_radio_reg(pi,
24963 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24964 pi->
24965 tx_rx_cal_radio_saveregs[1]);
24968 } else {
24969 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24970 write_radio_reg(pi,
24971 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24972 pi->
24973 tx_rx_cal_radio_saveregs[0]);
24974 write_radio_reg(pi,
24975 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24976 pi->
24977 tx_rx_cal_radio_saveregs[1]);
24979 } else {
24980 write_radio_reg(pi,
24981 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24982 pi->
24983 tx_rx_cal_radio_saveregs[0]);
24984 write_radio_reg(pi,
24985 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24986 pi->
24987 tx_rx_cal_radio_saveregs[1]);
24991 } else {
24992 if (rx_core == PHY_CORE_0) {
24993 write_radio_reg(pi,
24994 RADIO_2056_TX_RXIQCAL_TXMUX |
24995 RADIO_2056_TX1,
24996 pi->tx_rx_cal_radio_saveregs[0]);
24998 write_radio_reg(pi,
24999 RADIO_2056_RX_RXIQCAL_RXMUX |
25000 RADIO_2056_RX0,
25001 pi->tx_rx_cal_radio_saveregs[1]);
25003 if (pi->pubpi.radiorev >= 5) {
25004 write_radio_reg(pi,
25005 RADIO_2056_RX_RXSPARE2 |
25006 RADIO_2056_RX0,
25007 pi->
25008 tx_rx_cal_radio_saveregs[2]);
25010 write_radio_reg(pi,
25011 RADIO_2056_TX_TXSPARE2 |
25012 RADIO_2056_TX1,
25013 pi->
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
25021 | RADIO_2056_RX0,
25022 pi->
25023 tx_rx_cal_radio_saveregs
25024 [4]);
25025 } else {
25026 write_radio_reg(pi,
25027 RADIO_2056_RX_LNAA_TUNE
25028 | RADIO_2056_RX0,
25029 pi->
25030 tx_rx_cal_radio_saveregs
25031 [4]);
25033 } else {
25034 if (pi->pubpi.radiorev >= 5) {
25035 write_radio_reg(pi,
25036 RADIO_2056_RX_LNAG_MASTER
25037 | RADIO_2056_RX0,
25038 pi->
25039 tx_rx_cal_radio_saveregs
25040 [4]);
25041 } else {
25042 write_radio_reg(pi,
25043 RADIO_2056_RX_LNAG_TUNE
25044 | RADIO_2056_RX0,
25045 pi->
25046 tx_rx_cal_radio_saveregs
25047 [4]);
25051 } else {
25052 write_radio_reg(pi,
25053 RADIO_2056_TX_RXIQCAL_TXMUX |
25054 RADIO_2056_TX0,
25055 pi->tx_rx_cal_radio_saveregs[0]);
25057 write_radio_reg(pi,
25058 RADIO_2056_RX_RXIQCAL_RXMUX |
25059 RADIO_2056_RX1,
25060 pi->tx_rx_cal_radio_saveregs[1]);
25062 if (pi->pubpi.radiorev >= 5) {
25063 write_radio_reg(pi,
25064 RADIO_2056_RX_RXSPARE2 |
25065 RADIO_2056_RX1,
25066 pi->
25067 tx_rx_cal_radio_saveregs[2]);
25069 write_radio_reg(pi,
25070 RADIO_2056_TX_TXSPARE2 |
25071 RADIO_2056_TX0,
25072 pi->
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
25080 | RADIO_2056_RX1,
25081 pi->
25082 tx_rx_cal_radio_saveregs
25083 [4]);
25084 } else {
25085 write_radio_reg(pi,
25086 RADIO_2056_RX_LNAA_TUNE
25087 | RADIO_2056_RX1,
25088 pi->
25089 tx_rx_cal_radio_saveregs
25090 [4]);
25092 } else {
25093 if (pi->pubpi.radiorev >= 5) {
25094 write_radio_reg(pi,
25095 RADIO_2056_RX_LNAG_MASTER
25096 | RADIO_2056_RX1,
25097 pi->
25098 tx_rx_cal_radio_saveregs
25099 [4]);
25100 } else {
25101 write_radio_reg(pi,
25102 RADIO_2056_RX_LNAG_TUNE
25103 | RADIO_2056_RX1,
25104 pi->
25105 tx_rx_cal_radio_saveregs
25106 [4]);
25113 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25115 u8 tx_core;
25116 u16 rx_antval, tx_antval;
25118 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25120 tx_core = rx_core;
25121 } else {
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);
25157 } else {
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) ?
25172 0x8f : 0xa5,
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),
25182 0, 0, 0,
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,
25196 (0x1 << 7),
25197 2, 0, 0,
25198 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25199 } else {
25200 wlc_phy_rfctrl_override_nphy_rev7(pi,
25201 (0x1 << 7),
25202 0, 0, 0,
25203 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25205 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25206 0, 0, 0,
25207 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25208 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25209 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25210 } else {
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,
25220 0x1, rx_core + 1);
25221 } else {
25223 if (rx_core == PHY_CORE_0) {
25224 rx_antval = 0x1;
25225 tx_antval = 0x8;
25226 } else {
25227 rx_antval = 0x4;
25228 tx_antval = 0x2;
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]);
25266 static void
25267 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25268 u16 *rxgain, u8 cal_type)
25271 u16 num_samps;
25272 phy_iq_est_t est[PHY_CORE_MAX];
25273 u8 tx_core;
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 =
25276 10000;
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;
25285 int fine_gain_idx;
25286 s8 txpwrindex;
25287 u16 nphy_rxcal_txgain[2];
25289 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25291 tx_core = rx_core;
25292 } else {
25293 tx_core = 1 - rx_core;
25296 num_samps = 1024;
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)) {
25305 mix_tia_gain = 3;
25306 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25307 mix_tia_gain = 4;
25308 } else {
25309 mix_tia_gain = 6;
25311 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25312 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25313 } else {
25314 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25316 } else {
25317 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25318 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25319 } else {
25320 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25324 do {
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) |
25338 (lpf_biq0 << 8) |
25339 (mix_tia_gain <<
25340 4) | (lna2 << 2)
25341 | lna1), 0x3, 0);
25342 } else {
25343 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25344 ((hpvga << 12) |
25345 (lpf_biq1 << 10) |
25346 (lpf_biq0 << 8) |
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,
25358 2, 0x110, 16,
25359 nphy_rxcal_txgain);
25360 } else {
25361 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25362 false);
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--;
25381 } else {
25382 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25383 prev_gaintbl_index = curr_gaintbl_index;
25384 curr_gaintbl_index++;
25386 break;
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;
25393 } else {
25394 prev_gaintbl_index = curr_gaintbl_index;
25395 curr_gaintbl_index++;
25397 break;
25399 case NPHY_RXCAL_GAIN_DOWN:
25400 if (curr_pwr > thresh_pwr) {
25401 prev_gaintbl_index = curr_gaintbl_index;
25402 curr_gaintbl_index--;
25403 } else {
25404 gainctrl_done = true;
25405 optim_pwr = curr_pwr;
25406 optim_gaintbl_index = curr_gaintbl_index;
25408 break;
25410 default:
25411 break;
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;
25419 } else {
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;
25441 } else {
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) |
25447 (lpf_biq0 << 8) |
25448 (mix_tia_gain << 4) |
25449 (lna2 << 2) | lna1), 0x3,
25451 } else {
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 <<
25456 4) | (lna2 <<
25457 2) |
25458 lna1), 0x3, 0);
25462 if (rxgain != NULL) {
25463 *rxgain++ = lna1;
25464 *rxgain++ = lna2;
25465 *rxgain++ = mix_tia_gain;
25466 *rxgain++ = lpf_biq0;
25467 *rxgain++ = lpf_biq1;
25468 *rxgain = hpvga;
25471 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25474 static void
25475 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25476 u8 cal_type)
25478 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25481 static u8
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;
25499 u16 orig_dcBypass;
25500 u16 orig_RxStrnFilt40Num[6];
25501 u16 orig_RxStrnFilt40Den[4];
25502 u16 orig_rfctrloverride[2];
25503 u16 orig_rfctrlauxreg[2];
25504 u16 orig_rfctrlrssiothers;
25505 u16 tx_lpf_bw = 4;
25507 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25508 u16 lpf_hpc = 7, hpvga_hpc = 7;
25510 s8 rccal_stepsize;
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)) {
25517 return 0;
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];
25527 } else {
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;
25538 } else {
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 =
25545 read_radio_reg(pi,
25546 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25547 orig_rxlpf_rccal_hpc_ovr_val =
25548 read_radio_reg(pi,
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,
25616 0, 1, false);
25617 udelay(2);
25619 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25621 if (core_idx == 0) {
25622 ref_iq_vals =
25623 max_t(u32, (est[0].i_pwr +
25624 est[0].q_pwr) >> (log_num_samps + 1),
25626 } else {
25627 ref_iq_vals =
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,
25634 0, 1, false);
25635 udelay(2);
25638 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25640 if (core_idx == 0) {
25641 target_iq_vals =
25642 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25644 } else {
25645 target_iq_vals =
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) {
25652 rccal_stepsize--;
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;
25657 rccal_stepsize--;
25658 } else {
25659 rccal_stepsize = (rccal_stepsize >> 1);
25660 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25661 rccal_stepsize : (-rccal_stepsize));
25664 if (rccal_stepsize == -1) {
25665 best_rccal_val =
25666 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25667 ABS((int)pwr_ratio -
25668 (int)target_pwr_ratio)) ? last_rccal_val :
25669 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;
25676 } else {
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
25722 static int
25723 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25724 u8 cal_type, bool debug)
25726 u16 orig_BBConfig;
25727 u8 core_no, rx_core;
25728 u8 best_rccal[2];
25729 u16 gain_save[2];
25730 u16 cal_gain[2];
25731 nphy_iqcal_params_t cal_params[2];
25732 u8 rxcore_state;
25733 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25734 s8 txlpf_idac;
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++) {
25762 skip_rxiqcal =
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,
25778 false);
25780 if (debug)
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
25794 *) pi, 3);
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
25806 *) pi,
25807 rxcore_state);
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++) {
25826 rxlpf_rccal_hpc =
25827 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25828 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25830 if (PHY_IPA(pi)) {
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 |
25841 ((rx_core ==
25842 PHY_CORE_0) ? RADIO_2056_RX0 :
25843 RADIO_2056_RX1)),
25844 (rxlpf_rccal_hpc | 0x80));
25846 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25847 ((rx_core ==
25848 PHY_CORE_0) ? RADIO_2056_TX0 :
25849 RADIO_2056_TX1)),
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,
25861 0, 0x3, 1);
25862 } else {
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,
25868 gain_save);
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);
25876 return 0;
25879 static int
25880 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25881 bool debug)
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;
25892 u16 num_samps;
25893 u32 i_pwr, q_pwr, tot_pwr[3];
25894 u8 gain_pass, use_hpf_num;
25895 u16 mask, val1, val2;
25896 u16 core_no;
25897 u16 gain_save[2];
25898 u16 cal_gain[2];
25899 nphy_iqcal_params_t cal_params[2];
25900 u8 phy_bw;
25901 int bcmerror = 0;
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);
25921 num_samps = 1024;
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) ?
25931 0xa6 : 0xa7);
25932 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25933 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25934 0x91 : 0x92);
25935 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25936 0x91 : 0x92);
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)) {
25947 write_phy_reg(pi,
25948 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25949 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
25950 0x110));
25951 } else {
25953 write_phy_reg(pi,
25954 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25955 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
25956 0x120));
25959 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
25960 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
25961 0x114));
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;
25967 } else {
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,
25974 val1);
25975 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
25976 val2);
25979 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
25981 if (debug)
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];
25988 } else {
25990 if (tot_pwr[1] > 10000) {
25991 curr_lna = lna_vals[2];
25992 curr_hpf1 = hpf1_vals[2];
25993 curr_hpf2 = hpf2_vals[2];
25994 use_hpf_num = 1;
25995 curr_hpf = curr_hpf1;
25996 actual_log2_pwr =
25997 wlc_phy_nbits(tot_pwr[2]);
25998 } else {
25999 if (tot_pwr[0] > 10000) {
26000 curr_lna = lna_vals[1];
26001 curr_hpf1 = hpf1_vals[1];
26002 curr_hpf2 = hpf2_vals[1];
26003 use_hpf_num = 1;
26004 curr_hpf = curr_hpf1;
26005 actual_log2_pwr =
26006 wlc_phy_nbits(tot_pwr[1]);
26007 } else {
26008 curr_lna = lna_vals[0];
26009 curr_hpf1 = hpf1_vals[0];
26010 curr_hpf2 = hpf2_vals[0];
26011 use_hpf_num = 2;
26012 curr_hpf = curr_hpf2;
26013 actual_log2_pwr =
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;
26023 } else {
26024 curr_hpf2 = curr_hpf;
26028 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26029 ((curr_hpf2 << 8) |
26030 (curr_hpf1 << 4) |
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,
26038 (u16) (pi->
26039 nphy_rxcalparams
26041 0xffff),
26042 0, 0, true);
26043 first_playtone = false;
26044 } else {
26045 phy_bw =
26046 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26047 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26048 0, 0, 0, true);
26051 if (bcmerror == 0) {
26052 if (gain_pass < 3) {
26054 wlc_phy_rx_iq_est_nphy(pi, est,
26055 num_samps, 32,
26057 i_pwr =
26058 (est[rx_core].i_pwr +
26059 num_samps / 2) / num_samps;
26060 q_pwr =
26061 (est[rx_core].q_pwr +
26062 num_samps / 2) / num_samps;
26063 tot_pwr[gain_pass] = i_pwr + q_pwr;
26064 } else {
26066 wlc_phy_calc_rx_iq_comp_nphy(pi,
26067 (1 <<
26068 rx_core));
26071 wlc_phy_stopplayback_nphy(pi);
26074 if (bcmerror != 0)
26075 break;
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);
26090 if (bcmerror != 0)
26091 break;
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,
26098 gain_save);
26100 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26102 return bcmerror;
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)) {
26111 cal_type = 0;
26113 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26114 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26115 debug);
26116 } else {
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)
26123 int j, type = 2;
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)
26134 int j, type;
26135 u16 addr_offset[] = { 0x186, 0x195,
26136 0x2c5
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]);
26146 if (IS40MHZ(pi)) {
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]);
26151 } else {
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]
26156 [j]);
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]
26164 [j]);
26170 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26172 int j;
26174 if (IS40MHZ(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]);
26179 } else {
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)
26189 u16 m0m1;
26191 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26193 return 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)) {
26215 tx_pwrctrl_tbl =
26216 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26217 } else if (pi->pubpi.radiorev == 3) {
26219 tx_pwrctrl_tbl =
26220 nphy_tpc_txgain_ipa_2g_2057rev3;
26221 } else if (pi->pubpi.radiorev == 5) {
26223 tx_pwrctrl_tbl =
26224 nphy_tpc_txgain_ipa_2g_2057rev5;
26225 } else if ((pi->pubpi.radiorev == 7)
26226 || (pi->pubpi.radiorev == 8)) {
26228 tx_pwrctrl_tbl =
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;
26243 } else {
26245 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26248 } else {
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)) {
26259 tx_pwrctrl_tbl =
26260 nphy_tpc_txgain_ipa_5g_2057rev7;
26263 } else {
26264 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26268 return tx_pwrctrl_tbl;
26271 static void
26272 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26273 u8 core)
26275 s32 tone_freq;
26276 u8 off_core;
26277 u16 mixgain = 0;
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
26286 (pi, 0), 0, 0,
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)) {
26297 mixgain = 0x00;
26299 } else if ((pi->pubpi.radiorev <= 4)
26300 || (pi->pubpi.radiorev == 6)) {
26302 mixgain = 0x00;
26305 } else {
26306 if ((pi->pubpi.radiorev == 4) ||
26307 (pi->pubpi.radiorev == 6)) {
26309 mixgain = 0x50;
26310 } else if ((pi->pubpi.radiorev == 3)
26311 || (pi->pubpi.radiorev == 7)
26312 || (pi->pubpi.radiorev == 8)) {
26314 mixgain = 0x0;
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),
26330 0, 0x3, 0,
26331 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26332 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26333 (1 << core), 0,
26334 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26335 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26336 (1 << core), 0,
26337 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26338 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26339 (1 << core), 0,
26340 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26341 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26342 (1 << core), 0,
26343 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26344 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26345 (1 << core), 0,
26346 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26347 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26348 (1 << core), 0,
26349 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26350 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26351 (1 << core), 0,
26352 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26354 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26355 0, (1 << core), 0,
26356 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26357 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26358 (1 << core), 0,
26359 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26361 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26362 0xa6 : 0xa7);
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),
26371 (0x1 << 2), 0);
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);
26423 } else {
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);
26446 } else {
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);
26457 tone_freq = 4000;
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);
26473 } else {
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) ?
26485 0xa6 : 0xa7);
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 :
26492 0xa5),
26493 (0x1 << 0) |
26494 (0x1 << 1) |
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,
26503 TXFBMIX_G);
26504 state->intpa_master[core] =
26505 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26506 INTPAG_MASTER);
26508 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26509 0x03);
26510 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26511 INTPAG_MASTER, 0x04);
26512 } else {
26513 state->fbmix[core] =
26514 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26515 TXFBMIX_A);
26516 state->intpa_master[core] =
26517 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26518 INTPAA_MASTER);
26520 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26521 0x03);
26522 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26523 INTPAA_MASTER, 0x04);
26527 tone_freq = 4000;
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);
26541 static void
26542 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26544 u8 core;
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]);
26558 } else {
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),
26569 1, 0x3, 0,
26570 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26571 } else {
26572 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26573 0, 0x3, 1,
26574 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26576 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26577 0, 0x3, 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);
26627 } else {
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,
26644 INTPAG_MASTER,
26645 state->intpa_master[core]);
26646 } else {
26647 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26648 TXFBMIX_A, state->fbmix[core]);
26649 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26650 INTPAA_MASTER,
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);
26667 static void
26668 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26669 u32 end)
26671 u32 *buf, *src, *dst, sz;
26673 sz = end - start + 1;
26675 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26676 if (NULL == buf) {
26677 return;
26680 src = buf;
26681 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26683 wlc_phy_table_read_nphy(pi,
26684 (core ==
26685 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26686 NPHY_TBL_ID_EPSILONTBL1),
26687 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26689 do {
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;
26696 phy_a6 = 0;
26697 phy_a7 = 0;
26699 do {
26700 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26701 &phy_a5);
26702 phy_a6 += phy_a4;
26703 phy_a7 += phy_a5;
26704 } while (phy_a2-- != phy_a1);
26706 phy_a6 /= phy_a3;
26707 phy_a7 /= phy_a3;
26708 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26709 } while (end-- != start);
26711 wlc_phy_table_write_nphy(pi,
26712 (core ==
26713 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26714 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26716 kfree(buf);
26719 static void
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;
26725 bool phy_a6;
26726 u8 phy_a7, m[2];
26727 u32 phy_a8 = 0;
26728 nphy_txgains_t phy_a9;
26730 if (NREV_LT(pi->pubpi.phy_rev, 3))
26731 return;
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]));
26748 } else {
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;
26764 } else {
26766 m[core] = IS40MHZ(pi) ? 45 : 64;
26769 } else {
26770 m[core] = IS40MHZ(pi) ? 75 : 107;
26773 m[phy_a7] = 0;
26774 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26776 phy_a2 = 63;
26778 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26779 if (pi->sh->chip == BCM6362_CHIP_ID) {
26780 phy_a1 = 35;
26781 phy_a3 = 35;
26782 } else if ((pi->pubpi.radiorev == 4)
26783 || (pi->pubpi.radiorev == 6)) {
26784 phy_a1 = 30;
26785 phy_a3 = 30;
26786 } else {
26787 phy_a1 = 25;
26788 phy_a3 = 25;
26790 } else {
26791 if ((pi->pubpi.radiorev == 5)
26792 || (pi->pubpi.radiorev == 7)
26793 || (pi->pubpi.radiorev == 8)) {
26794 phy_a1 = 25;
26795 phy_a3 = 25;
26796 } else {
26797 phy_a1 = 35;
26798 phy_a3 = 35;
26802 if (cal_mode == CAL_GCTRL) {
26803 if ((pi->pubpi.radiorev == 5)
26804 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26805 phy_a1 = 55;
26806 } else if (((pi->pubpi.radiorev == 7) &&
26807 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26808 ((pi->pubpi.radiorev == 8) &&
26809 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26810 phy_a1 = 60;
26811 } else {
26812 phy_a1 = 63;
26815 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26817 phy_a1 = 35;
26818 phy_a3 = 35;
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),
26864 0, 0x3, 0,
26865 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26867 wlc_phy_table_write_nphy(pi,
26868 (core ==
26869 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26870 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26871 32, &phy_a8);
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);
26883 } else {
26885 if (txgains) {
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) {
26894 phy_a5 =
26895 0x10f7 | (phy_a4 <<
26898 } else
26899 if (NREV_IS(pi->pubpi.phy_rev, 5))
26900 phy_a5 = 0x10f7 | (phy_a4 << 8);
26901 else
26902 phy_a5 = 0x50f7 | (phy_a4 << 8);
26903 } else {
26904 phy_a5 = 0x70f7 | (phy_a4 << 8);
26906 wlc_phy_rfctrl_override_nphy(pi,
26907 (0x1 << 13),
26908 phy_a5,
26909 (1 << core), 0);
26910 } else {
26911 wlc_phy_rfctrl_override_nphy(pi,
26912 (0x1 << 13),
26913 0x5bf7,
26914 (1 << core), 0);
26918 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26919 m[core] = IS40MHZ(pi) ? 45 : 64;
26920 } else {
26921 m[core] = IS40MHZ(pi) ? 75 : 107;
26924 m[phy_a7] = 0;
26925 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26927 phy_a2 = 63;
26929 if (cal_mode == CAL_FULL) {
26930 phy_a1 = 25;
26931 phy_a3 = 25;
26932 } else if (cal_mode == CAL_SOFT) {
26933 phy_a1 = 25;
26934 phy_a3 = 25;
26935 } else if (cal_mode == CAL_GCTRL) {
26936 phy_a1 = 63;
26937 phy_a3 = 25;
26938 } else {
26940 phy_a1 = 25;
26941 phy_a3 = 25;
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);
26970 } else {
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,
27007 (core ==
27008 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27009 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27010 32, &phy_a8);
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)
27020 int phy_a1;
27021 int phy_a2;
27022 bool phy_a3;
27023 nphy_ipa_txcalgains_t phy_a4;
27024 bool phy_a5 = false;
27025 bool phy_a6 = true;
27026 s32 phy_a7, phy_a8;
27027 u32 phy_a9;
27028 int phy_a10;
27029 bool phy_a11 = false;
27030 int phy_a12;
27031 u8 phy_a13 = 0;
27032 u8 phy_a14;
27033 u8 *phy_a15 = NULL;
27035 phy_a4.useindex = true;
27036 phy_a12 = start_gain;
27038 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27040 phy_a2 = 20;
27041 phy_a1 = 1;
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;
27057 } else {
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;
27064 } else {
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;
27071 phy_a14 = 0;
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];
27077 } else {
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,
27085 (core ==
27086 PHY_CORE_0 ?
27087 NPHY_TBL_ID_EPSILONTBL0 :
27088 NPHY_TBL_ID_EPSILONTBL1), 1,
27089 63, 32, &phy_a9);
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)) {
27097 if (!phy_a3) {
27098 phy_a12 -= (u8) phy_a1;
27100 phy_a11 = true;
27101 break;
27104 if (phy_a3)
27105 phy_a12 += (u8) phy_a1;
27106 else
27107 phy_a12 -= (u8) phy_a1;
27109 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27110 if (phy_a12 < phy_a14) {
27111 phy_a12 = phy_a14;
27112 } else {
27113 phy_a12 = phy_a13;
27115 phy_a11 = true;
27116 break;
27119 phy_a6 = false;
27120 phy_a5 = phy_a3;
27123 } else {
27124 phy_a2 = 10;
27125 phy_a1 = 8;
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,
27131 (core ==
27132 PHY_CORE_0 ?
27133 NPHY_TBL_ID_EPSILONTBL0 :
27134 NPHY_TBL_ID_EPSILONTBL1), 1,
27135 63, 32, &phy_a9);
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)) {
27143 if (!phy_a3) {
27144 phy_a12 -= (u8) phy_a1;
27146 phy_a11 = true;
27147 break;
27150 if (phy_a3)
27151 phy_a12 += (u8) phy_a1;
27152 else
27153 phy_a12 -= (u8) phy_a1;
27155 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27156 if (phy_a12 < 0) {
27157 phy_a12 = 0;
27158 } else {
27159 phy_a12 = 127;
27161 phy_a11 = true;
27162 break;
27165 phy_a6 = false;
27166 phy_a5 = phy_a3;
27171 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27172 return (u8) phy_a15[phy_a12];
27173 } else {
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;
27183 bool phy_b3;
27184 u8 phy_b4;
27185 u8 phy_b5;
27186 s16 phy_b6, phy_b7, phy_b8;
27187 u16 phy_b9;
27188 s16 phy_b10, phy_b11, phy_b12;
27190 phy_b11 = 0;
27191 phy_b12 = 0;
27192 phy_b7 = 0;
27193 phy_b8 = 0;
27194 phy_b6 = 0;
27196 if (pi->nphy_papd_skip == 1)
27197 return;
27199 phy_b3 =
27200 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
27201 if (!phy_b3) {
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))
27217 return;
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++) {
27231 s32 i, val = 0;
27232 for (i = 0; i < 64; i++) {
27233 wlc_phy_table_write_nphy(pi,
27234 ((phy_b5 ==
27235 PHY_CORE_0) ?
27236 NPHY_TBL_ID_EPSILONTBL0 :
27237 NPHY_TBL_ID_EPSILONTBL1), 1,
27238 i, 32, &val);
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,
27264 pi->
27265 nphy_papd_cal_gain_index
27266 [phy_b5], phy_b5);
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,
27275 pi->
27276 nphy_papd_cal_gain_index
27277 [phy_b5], phy_b5);
27281 phy_b1[phy_b5].gains.pad[phy_b5] =
27282 pi->nphy_papd_cal_gain_index[phy_b5];
27284 } else {
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,
27288 pi->
27289 nphy_papd_cal_gain_index
27290 [phy_b5], phy_b5);
27291 phy_b1[phy_b5].gains.pga[phy_b5] =
27292 pi->nphy_papd_cal_gain_index[phy_b5];
27294 } else {
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) {
27305 case 0:
27306 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27307 break;
27308 case 1:
27309 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27310 break;
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) {
27328 eps_offset = -2;
27329 } else if (pi->pubpi.radiorev == 5) {
27330 eps_offset = 3;
27331 } else {
27332 eps_offset = -1;
27334 } else {
27335 eps_offset = 2;
27338 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27339 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27340 phy_b10 = 0;
27341 if ((pi->pubpi.radiorev == 3) ||
27342 (pi->pubpi.radiorev == 4) ||
27343 (pi->pubpi.radiorev == 6)) {
27344 phy_b12 =
27346 (nphy_papd_padgain_dlt_2g_2057rev3n4
27347 [phy_b8]
27348 + 1) / 2;
27349 phy_b10 = -1;
27350 } else if (pi->pubpi.radiorev == 5) {
27351 phy_b12 =
27352 -(nphy_papd_padgain_dlt_2g_2057rev5
27353 [phy_b8]
27354 + 1) / 2;
27355 } else if ((pi->pubpi.radiorev == 7) ||
27356 (pi->pubpi.radiorev == 8)) {
27357 phy_b12 =
27358 -(nphy_papd_padgain_dlt_2g_2057rev7
27359 [phy_b8]
27360 + 1) / 2;
27362 } else {
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)) {
27367 phy_b11 =
27368 -(nphy_papd_pgagain_dlt_5g_2057
27369 [phy_b7]
27370 + 1) / 2;
27371 } else if ((pi->pubpi.radiorev == 7)
27372 || (pi->pubpi.radiorev == 8)) {
27373 phy_b11 =
27374 -(nphy_papd_pgagain_dlt_5g_2057rev7
27375 [phy_b7]
27376 + 1) / 2;
27379 phy_b10 = -9;
27382 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27383 phy_b6 =
27384 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27385 } else {
27386 phy_b6 =
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;
27394 } else {
27395 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27396 eps_offset = 4;
27397 } else {
27398 eps_offset = 2;
27401 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27403 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27404 phy_b11 =
27405 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27406 1) / 2;
27407 phy_b10 = 0;
27408 } else {
27409 phy_b11 =
27410 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27411 1) / 2;
27412 phy_b10 = -9;
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);
27437 } else {
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);
27463 if (!phy_b3) {
27464 wlapi_enable_mac(pi->sh->physhim);
27468 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27470 uint core;
27471 u32 txgain;
27472 u16 rad_gain, dac_gain, bbmult, m1m2;
27473 u8 txpi[2], chan_freq_range;
27474 s32 rfpwr_offset;
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;
27481 } else {
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];
27488 break;
27489 case WL_CHAN_FREQ_RANGE_5GL:
27490 txpi[0] = pi->nphy_txpid5gl[0];
27491 txpi[1] = pi->nphy_txpid5gl[1];
27492 break;
27493 case WL_CHAN_FREQ_RANGE_5GM:
27494 txpi[0] = pi->nphy_txpid5g[0];
27495 txpi[1] = pi->nphy_txpid5g[1];
27496 break;
27497 case WL_CHAN_FREQ_RANGE_5GH:
27498 txpi[0] = pi->nphy_txpid5gh[0];
27499 txpi[1] = pi->nphy_txpid5gh[1];
27500 break;
27501 default:
27502 txpi[0] = txpi[1] = 91;
27503 break;
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)) {
27527 if (PHY_IPA(pi)) {
27528 u32 *tx_gaintbl =
27529 wlc_phy_get_ipa_gaintbl_nphy(pi);
27530 txgain = tx_gaintbl[txpi[core]];
27531 } else {
27532 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27533 if NREV_IS
27534 (pi->pubpi.phy_rev, 3) {
27535 txgain =
27536 nphy_tpc_5GHz_txgain_rev3
27537 [txpi[core]];
27538 } else if NREV_IS
27539 (pi->pubpi.phy_rev, 4) {
27540 txgain =
27541 (pi->srom_fem5g.extpagain ==
27542 3) ?
27543 nphy_tpc_5GHz_txgain_HiPwrEPA
27544 [txpi[core]] :
27545 nphy_tpc_5GHz_txgain_rev4
27546 [txpi[core]];
27547 } else {
27548 txgain =
27549 nphy_tpc_5GHz_txgain_rev5
27550 [txpi[core]];
27552 } else {
27553 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27554 (pi->srom_fem2g.extpagain == 3)) {
27555 txgain =
27556 nphy_tpc_txgain_HiPwrEPA
27557 [txpi[core]];
27558 } else {
27559 txgain =
27560 nphy_tpc_txgain_rev3[txpi
27561 [core]];
27565 } else {
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);
27571 } else {
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);
27577 } else {
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));
27585 } else {
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,
27591 &rad_gain);
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);
27598 if (PHY_IPA(pi)) {
27599 wlc_phy_table_read_nphy(pi,
27600 (core ==
27601 PHY_CORE_0 ?
27602 NPHY_TBL_ID_CORE1TXPWRCTL :
27603 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27604 576 + txpi[core], 32,
27605 &rfpwr_offset);
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);
27623 static void
27624 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27625 u8 tmp_max_pwr, u8 rate_start,
27626 u8 rate_end)
27628 u8 rate;
27629 u8 word_num, nibble_num;
27630 u8 tmp_nibble;
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;
27641 static void
27642 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27643 u8 rate_start, u8 rate_end)
27645 u8 rate;
27647 for (rate = rate_start; rate <= rate_end; rate++) {
27648 srom_max[rate] -= 2 * pwr_offset;
27652 void
27653 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27654 u8 rate_mcs_end, u8 rate_ofdm_start)
27656 u8 rate1, rate2;
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];
27666 void
27667 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27668 u8 rate_ofdm_end, u8 rate_mcs_start)
27670 u8 rate1, rate2;
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) {
27690 case 0:
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,
27697 pwr_offsets1,
27698 tmp_max_pwr,
27699 TXP_FIRST_CCK,
27700 TXP_LAST_CCK);
27702 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27703 pwr_offsets1[1] =
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;
27713 break;
27714 case 1:
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);
27720 pwr_offsets1[1] =
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;
27730 break;
27731 case 2:
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);
27737 pwr_offsets1[1] =
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;
27747 break;
27748 case 3:
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);
27754 pwr_offsets1[1] =
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;
27764 break;
27767 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27768 tmp_max_pwr, TXP_FIRST_OFDM,
27769 TXP_LAST_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,
27774 TXP_FIRST_OFDM);
27776 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27777 tmp_max_pwr,
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,
27794 tmp_max_pwr,
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,
27801 tmp_stbcpo,
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,
27814 &pwr_offsets2[4],
27815 tmp_max_pwr,
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,
27825 &pwr_offsets2[4],
27826 tmp_max_pwr,
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,
27840 &pwr_offsets2[4],
27841 tmp_max_pwr,
27842 TXP_FIRST_MCS_40_STBC,
27843 TXP_LAST_MCS_40_STBC);
27845 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27846 tmp_stbcpo,
27847 TXP_FIRST_MCS_40_STBC,
27848 TXP_LAST_MCS_40_STBC);
27850 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27851 &pwr_offsets2[6],
27852 tmp_max_pwr,
27853 TXP_FIRST_MCS_40_SDM,
27854 TXP_LAST_MCS_40_SDM);
27855 } else {
27857 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27858 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27859 rate1++, rate2++)
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,
27866 tmp_bw40po,
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];
27875 return;
27878 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27880 u16 bw40po, cddpo, stbcpo, bwduppo;
27881 uint band_num;
27883 if (pi->sh->sromrev >= 9) {
27885 return;
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) {
27914 case 0:
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");
27953 break;
27954 case 1:
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");
27991 break;
27992 case 2:
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");
28019 pi->mcs5glpo[0] =
28020 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28021 pi->mcs5glpo[1] =
28022 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28023 pi->mcs5glpo[2] =
28024 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28025 pi->mcs5glpo[3] =
28026 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28027 pi->mcs5glpo[4] =
28028 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28029 pi->mcs5glpo[5] =
28030 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28031 pi->mcs5glpo[6] =
28032 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28033 pi->mcs5glpo[7] =
28034 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28035 break;
28036 case 3:
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");
28063 pi->mcs5ghpo[0] =
28064 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28065 pi->mcs5ghpo[1] =
28066 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28067 pi->mcs5ghpo[2] =
28068 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28069 pi->mcs5ghpo[3] =
28070 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28071 pi->mcs5ghpo[4] =
28072 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28073 pi->mcs5ghpo[5] =
28074 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28075 pi->mcs5ghpo[6] =
28076 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28077 pi->mcs5ghpo[7] =
28078 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28079 break;
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");
28107 } else {
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;
28128 } else {
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);
28143 return true;
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);
28157 udelay(1);
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)
28168 u32 idx;
28169 u16 iqloCalbuf[7];
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;
28174 u32 regval[128];
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);
28181 tbl_len = 128;
28182 tbl_offset = 320;
28183 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28184 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28185 iqcomp =
28186 (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,
28196 regval);
28199 tbl_offset = 448;
28200 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28201 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28203 locomp =
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;
28211 } else {
28212 curr_locomp_i = (s8) ((locomp_i *
28213 nphy_tpc_loscale[idx] +
28214 128) >> 8);
28215 curr_locomp_q =
28216 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28217 128) >> 8);
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,
28224 regval);
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)
28239 u8 core;
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,
28247 TX_SSI_MUX, 0xe);
28249 if (pi->pubpi.radiorev != 5)
28250 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28251 core, TSSIA, 0);
28253 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28255 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28256 core, TSSIG, 0x1);
28257 } else {
28259 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28260 core, TSSIG, 0x31);
28262 } else {
28263 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28264 TX_SSI_MASTER, 0x9);
28265 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28266 TX_SSI_MUX, 0xc);
28267 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28268 TSSIG, 0);
28270 if (pi->pubpi.radiorev != 5) {
28271 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28273 WRITE_RADIO_REG3(pi, RADIO_2057,
28274 TX, core,
28275 TSSIA, 0x1);
28276 } else {
28278 WRITE_RADIO_REG3(pi, RADIO_2057,
28279 TX, core,
28280 TSSIA, 0x31);
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,
28289 0x3);
28290 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28291 0x0);
28293 } else {
28294 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28295 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28296 0x80);
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,
28302 0x0);
28303 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28304 0x0);
28305 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28306 0x3);
28307 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28308 0x0);
28309 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28310 0x8);
28311 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28312 0x0);
28313 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28314 0x0);
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,
28322 core, TSSIA, 0x0);
28323 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28325 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28326 core, TSSIG, 0x31);
28327 } else {
28328 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28329 core, TSSIG, 0x11);
28331 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28332 TX_SSI_MUX, 0xe);
28333 } else {
28334 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28335 TX_SSI_MASTER, 0x9);
28336 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28337 TSSIA, 0x31);
28338 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28339 TSSIG, 0x0);
28340 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28341 TX_SSI_MUX, 0xc);
28347 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28349 s32 rssi_buf[4];
28350 s32 int_val;
28352 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28354 return;
28356 if (PHY_IPA(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),
28362 0, 0x3, 0,
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);
28372 udelay(20);
28373 int_val =
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),
28381 0, 0x3, 1,
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);
28398 } else {
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)
28415 u32 idx;
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;
28420 u8 idle_tssi[2];
28421 u32 tbl_id, tbl_len, tbl_offset;
28422 u32 regval[64];
28423 u8 core;
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);
28428 udelay(1);
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)));
28438 } else {
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;
28451 a1[0] = -424;
28452 a1[1] = -424;
28453 b0[0] = 5612;
28454 b0[1] = 5612;
28455 b1[1] = -1393;
28456 b1[0] = -1393;
28457 } else {
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;
28474 break;
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;
28488 break;
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;
28502 break;
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;
28516 break;
28517 default:
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;
28522 a1[0] = -424;
28523 a1[1] = -424;
28524 b0[0] = 5612;
28525 b0[1] = 5612;
28526 b1[1] = -1393;
28527 b1[0] = -1393;
28528 break;
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++) {
28542 if (PHY_IPA(pi)) {
28544 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28545 WRITE_RADIO_REG3(pi, RADIO_2057,
28546 TX, core,
28547 TX_SSI_MUX,
28548 0xe);
28549 } else {
28550 WRITE_RADIO_REG3(pi, RADIO_2057,
28551 TX, core,
28552 TX_SSI_MUX,
28553 0xc);
28555 } else {
28558 } else {
28559 if (PHY_IPA(pi)) {
28561 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28562 RADIO_2056_TX0,
28563 (CHSPEC_IS5G
28564 (pi->
28565 radio_chanspec)) ? 0xc : 0xe);
28566 write_radio_reg(pi,
28567 RADIO_2056_TX_TX_SSI_MUX |
28568 RADIO_2056_TX1,
28569 (CHSPEC_IS5G
28570 (pi->
28571 radio_chanspec)) ? 0xc : 0xe);
28572 } else {
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);
28585 udelay(1);
28588 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28589 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28590 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28591 } else {
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));
28616 tbl_len = 64;
28617 tbl_offset = 0;
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++) {
28622 num =
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)) {
28627 if (idx <=
28628 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28629 pwr_est =
28630 max(pwr_est,
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,
28637 regval);
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)
28658 u16 tmp;
28659 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28661 tmp = (tmp & (0x7f << 8)) >> 8;
28662 return (u8) tmp;
28665 static void
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)
28676 u16 tmp;
28677 u16 pwr_idx[2];
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];
28684 } else {
28685 tmp =
28686 ((pi->nphy_txpwrindex[PHY_CORE_0].
28687 index_internal & 0xff) << 8) | (pi->
28688 nphy_txpwrindex
28689 [PHY_CORE_1].
28690 index_internal & 0xff);
28693 return tmp;
28696 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28698 if (PHY_IPA(pi)
28699 && (pi->nphy_force_papd_cal
28700 || (wlc_phy_txpwr_ison_nphy(pi)
28702 (((u32)
28703 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28704 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28705 || ((u32)
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;
28715 u8 ctr;
28716 uint core;
28717 u32 tbl_offset;
28718 u32 tbl_len;
28719 u16 regval[84];
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;
28728 break;
28729 default:
28730 break;
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;
28738 core++)
28739 pi->nphy_txpwr_idx[core] =
28740 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28741 (u8)
28742 core);
28747 tbl_len = 84;
28748 tbl_offset = 64;
28749 for (ctr = 0; ctr < tbl_len; ctr++) {
28750 regval[ctr] = 0;
28752 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28753 regval);
28754 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28755 regval);
28757 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28759 and_phy_reg(pi, 0x1e7,
28760 (u16) (~((0x1 << 15) |
28761 (0x1 << 14) | (0x1 << 13))));
28762 } else {
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));
28770 } else {
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);
28783 } else {
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);
28805 } else {
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,
28817 pi->
28818 nphy_txpwr_idx
28819 [0],
28820 pi->
28821 nphy_txpwr_idx
28822 [1]);
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));
28829 } else {
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);
28842 if (PHY_IPA(pi)) {
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);
28857 void
28858 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28859 bool restore_cals)
28861 u8 core, txpwrctl_tbl;
28862 u16 tx_ind0, iq_ind0, lo_ind0;
28863 u16 m1m2;
28864 u32 txgain;
28865 u16 rad_gain, dac_gain;
28866 u8 bbmult;
28867 u32 iqcomp;
28868 u16 iqcomp_a, iqcomp_b;
28869 u32 locomp;
28870 u16 tmpval;
28871 u8 tx_pwr_ctrl_state;
28872 s32 rfpwr_offset;
28873 u16 regval[2];
28875 if (pi->phyhang_avoid)
28876 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28878 tx_ind0 = 192;
28879 iq_ind0 = 320;
28880 lo_ind0 = 448;
28882 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28884 if ((core_mask & (1 << core)) == 0) {
28885 continue;
28888 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28890 if (txpwrindex < 0) {
28891 if (pi->nphy_txpwrindex[core].index < 0) {
28893 continue;
28896 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28897 mod_phy_reg(pi, 0x8f,
28898 (0x1 << 8),
28899 pi->nphy_txpwrindex[core].
28900 AfectrlOverride);
28901 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28902 pi->nphy_txpwrindex[core].
28903 AfectrlOverride);
28904 } else {
28905 mod_phy_reg(pi, 0xa5,
28906 (0x1 << 14),
28907 pi->nphy_txpwrindex[core].
28908 AfectrlOverride);
28911 write_phy_reg(pi, (core == PHY_CORE_0) ?
28912 0xaa : 0xab,
28913 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28915 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28916 &pi->nphy_txpwrindex[core].
28917 rad_gain);
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,
28930 (void *)&pi->
28931 nphy_txpwrindex[core].
28932 iqcomp_a);
28934 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
28936 &pi->
28937 nphy_txpwrindex[core].
28938 locomp);
28939 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
28941 (void *)&pi->
28942 nphy_txpwrindex[core].
28943 locomp);
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;
28950 } else {
28952 if (pi->nphy_txpwrindex[core].index < 0) {
28954 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28955 mod_phy_reg(pi, 0x8f,
28956 (0x1 << 8),
28957 pi->nphy_txpwrindex[core].
28958 AfectrlOverride);
28959 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28960 pi->nphy_txpwrindex[core].
28961 AfectrlOverride);
28962 } else {
28963 pi->nphy_txpwrindex[core].
28964 AfectrlOverride =
28965 read_phy_reg(pi, 0xa5);
28968 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
28969 read_phy_reg(pi,
28970 (core ==
28971 PHY_CORE_0) ? 0xaa : 0xab);
28973 wlc_phy_table_read_nphy(pi, 7, 1,
28974 (0x110 + core), 16,
28975 &pi->
28976 nphy_txpwrindex[core].
28977 rad_gain);
28979 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
28980 &tmpval);
28981 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
28982 tmpval &= 0xff;
28983 pi->nphy_txpwrindex[core].bbmult =
28984 (u8) tmpval;
28986 wlc_phy_table_read_nphy(pi, 15, 2,
28987 (80 + 2 * core), 16,
28988 (void *)&pi->
28989 nphy_txpwrindex[core].
28990 iqcomp_a);
28992 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
28994 (void *)&pi->
28995 nphy_txpwrindex[core].
28996 locomp);
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,
29010 &txgain);
29012 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29013 rad_gain =
29014 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29015 } else {
29016 rad_gain =
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));
29025 } else {
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,
29032 &rad_gain);
29034 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29035 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29036 m1m2 |=
29037 ((core ==
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,
29044 &iqcomp);
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,
29053 regval);
29056 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29057 (lo_ind0 + txpwrindex), 32,
29058 &locomp);
29059 if (restore_cals) {
29060 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29061 16, &locomp);
29064 if (NREV_IS(pi->pubpi.phy_rev, 1))
29065 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29067 if (PHY_IPA(pi)) {
29068 wlc_phy_table_read_nphy(pi,
29069 (core ==
29070 PHY_CORE_0 ?
29071 NPHY_TBL_ID_CORE1TXPWRCTL
29073 NPHY_TBL_ID_CORE2TXPWRCTL),
29074 1, 576 + txpwrindex, 32,
29075 &rfpwr_offset);
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);
29096 void
29097 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29098 u8 txp_rate_idx)
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];
29106 break;
29107 case WL_CHAN_FREQ_RANGE_5GM:
29108 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29109 break;
29110 case WL_CHAN_FREQ_RANGE_5GL:
29111 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29112 break;
29113 case WL_CHAN_FREQ_RANGE_5GH:
29114 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29115 break;
29116 default:
29117 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29118 break;
29121 return;
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));
29130 if (enable) {
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);
29143 } else {
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);
29158 if (mode) {
29159 if (pi->nphy_deaf_count == 0)
29160 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29161 } else {
29162 if (pi->nphy_deaf_count > 0)
29163 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29165 wlapi_enable_mac(pi->sh->physhim);