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>
21 static const u32 frame_struct_rev0[] = {
856 static const u8 frame_lut_rev0[] = {
891 static const u32 tmap_tbl_rev0[] = {
1342 static const u32 tdtrn_tbl_rev0[] = {
2049 static const u32 intlv_tbl_rev0[] = {
2059 static const u16 pilot_tbl_rev0[] = {
2150 static const u32 pltlut_tbl_rev0[] = {
2159 static const u32 tdi_tbl20_ant0_rev0[] = {
2217 static const u32 tdi_tbl20_ant1_rev0[] = {
2275 static const u32 tdi_tbl40_ant0_rev0[] = {
2388 static const u32 tdi_tbl40_ant1_rev0[] = {
2501 static const u16 bdi_tbl_rev0[] = {
2510 static const u32 chanest_tbl_rev0[] = {
2609 static const u8 mcs_tbl_rev0[] = {
2740 static const u32 noise_var_tbl0_rev0[] = {
2999 static const u32 noise_var_tbl1_rev0[] = {
3258 static const u8 est_pwr_lut_core0_rev0[] = {
3325 static const u8 est_pwr_lut_core1_rev0[] = {
3392 static const u8 adj_pwr_lut_core0_rev0[] = {
3523 static const u8 adj_pwr_lut_core1_rev0[] = {
3654 static const u32 gainctrl_lut_core0_rev0[] = {
3785 static const u32 gainctrl_lut_core1_rev0[] = {
3916 static const u32 iq_lut_core0_rev0[] = {
4047 static const u32 iq_lut_core1_rev0[] = {
4178 static const u16 loft_lut_core0_rev0[] = {
4309 static const u16 loft_lut_core1_rev0[] = {
4440 const struct phytbl_info mimophytbl_info_rev0_volatile[] = {
4441 {&bdi_tbl_rev0, ARRAY_SIZE(bdi_tbl_rev0), 21, 0, 16},
4442 {&pltlut_tbl_rev0, ARRAY_SIZE(pltlut_tbl_rev0), 20, 0, 32},
4443 {&gainctrl_lut_core0_rev0, ARRAY_SIZE(gainctrl_lut_core0_rev0), 26, 192, 32},
4444 {&gainctrl_lut_core1_rev0, ARRAY_SIZE(gainctrl_lut_core1_rev0), 27, 192, 32},
4445 {&est_pwr_lut_core0_rev0, ARRAY_SIZE(est_pwr_lut_core0_rev0), 26, 0, 8},
4446 {&est_pwr_lut_core1_rev0, ARRAY_SIZE(est_pwr_lut_core1_rev0), 27, 0, 8},
4447 {&adj_pwr_lut_core0_rev0, ARRAY_SIZE(adj_pwr_lut_core0_rev0), 26, 64, 8},
4448 {&adj_pwr_lut_core1_rev0, ARRAY_SIZE(adj_pwr_lut_core1_rev0), 27, 64, 8},
4449 {&iq_lut_core0_rev0, ARRAY_SIZE(iq_lut_core0_rev0), 26, 320, 32},
4450 {&iq_lut_core1_rev0, ARRAY_SIZE(iq_lut_core1_rev0), 27, 320, 32},
4451 {&loft_lut_core0_rev0, ARRAY_SIZE(loft_lut_core0_rev0), 26, 448, 16},
4452 {&loft_lut_core1_rev0, ARRAY_SIZE(loft_lut_core1_rev0), 27, 448, 16},
4455 const struct phytbl_info mimophytbl_info_rev0[] = {
4456 {&frame_struct_rev0, ARRAY_SIZE(frame_struct_rev0), 10, 0, 32},
4457 {&frame_lut_rev0, ARRAY_SIZE(frame_lut_rev0), 24, 0, 8},
4458 {&tmap_tbl_rev0, ARRAY_SIZE(tmap_tbl_rev0), 12, 0, 32},
4459 {&tdtrn_tbl_rev0, ARRAY_SIZE(tdtrn_tbl_rev0), 14, 0, 32},
4460 {&intlv_tbl_rev0, ARRAY_SIZE(intlv_tbl_rev0), 13, 0, 32},
4461 {&pilot_tbl_rev0, ARRAY_SIZE(pilot_tbl_rev0), 11, 0, 16},
4462 {&tdi_tbl20_ant0_rev0, ARRAY_SIZE(tdi_tbl20_ant0_rev0), 19, 128, 32},
4463 {&tdi_tbl20_ant1_rev0, ARRAY_SIZE(tdi_tbl20_ant1_rev0), 19, 256, 32},
4464 {&tdi_tbl40_ant0_rev0, ARRAY_SIZE(tdi_tbl40_ant0_rev0), 19, 640, 32},
4465 {&tdi_tbl40_ant1_rev0, ARRAY_SIZE(tdi_tbl40_ant1_rev0), 19, 768, 32},
4466 {&chanest_tbl_rev0, ARRAY_SIZE(chanest_tbl_rev0), 22, 0, 32},
4467 {&mcs_tbl_rev0, ARRAY_SIZE(mcs_tbl_rev0), 18, 0, 8},
4468 {&noise_var_tbl0_rev0, ARRAY_SIZE(noise_var_tbl0_rev0), 16, 0, 32},
4469 {&noise_var_tbl1_rev0, ARRAY_SIZE(noise_var_tbl1_rev0), 16, 128, 32},
4472 const u32 mimophytbl_info_sz_rev0 = ARRAY_SIZE(mimophytbl_info_rev0);
4473 const u32 mimophytbl_info_sz_rev0_volatile = ARRAY_SIZE(mimophytbl_info_rev0_volatile);
4475 static const u16 ant_swctrl_tbl_rev3[] = {
4510 static const u16 ant_swctrl_tbl_rev3_1[] = {
4545 static const u16 ant_swctrl_tbl_rev3_2[] = {
4580 static const u16 ant_swctrl_tbl_rev3_3[] = {
4615 static const u32 frame_struct_rev3[] = {
5450 static const u16 pilot_tbl_rev3[] = {
5541 static const u32 tmap_tbl_rev3[] = {
5992 static const u32 intlv_tbl_rev3[] = {
6002 static const u32 tdtrn_tbl_rev3[] = {
6709 const u32 noise_var_tbl_rev3[] = {
6968 static const u16 mcs_tbl_rev3[] = {
7099 static const u32 tdi_tbl20_ant0_rev3[] = {
7157 static const u32 tdi_tbl20_ant1_rev3[] = {
7215 static const u32 tdi_tbl40_ant0_rev3[] = {
7328 static const u32 tdi_tbl40_ant1_rev3[] = {
7441 static const u32 pltlut_tbl_rev3[] = {
7450 static const u32 chanest_tbl_rev3[] = {
7549 static const u8 frame_lut_rev3[] = {
7584 static const u8 est_pwr_lut_core0_rev3[] = {
7651 static const u8 est_pwr_lut_core1_rev3[] = {
7718 static const u8 adj_pwr_lut_core0_rev3[] = {
7849 static const u8 adj_pwr_lut_core1_rev3[] = {
7980 static const u32 gainctrl_lut_core0_rev3[] = {
8111 static const u32 gainctrl_lut_core1_rev3[] = {
8242 static const u32 iq_lut_core0_rev3[] = {
8373 static const u32 iq_lut_core1_rev3[] = {
8504 static const u16 loft_lut_core0_rev3[] = {
8635 static const u16 loft_lut_core1_rev3[] = {
8766 static const u16 papd_comp_rfpwr_tbl_core0_rev3[] = {
8897 static const u16 papd_comp_rfpwr_tbl_core1_rev3[] = {
9028 static const u32 papd_comp_epsilon_tbl_core0_rev3[] = {
9095 static const u32 papd_cal_scalars_tbl_core0_rev3[] = {
9162 static const u32 papd_comp_epsilon_tbl_core1_rev3[] = {
9229 static const u32 papd_cal_scalars_tbl_core1_rev3[] = {
9296 const struct phytbl_info mimophytbl_info_rev3_volatile[] = {
9297 {&ant_swctrl_tbl_rev3, ARRAY_SIZE(ant_swctrl_tbl_rev3), 9, 0, 16},
9300 const struct phytbl_info mimophytbl_info_rev3_volatile1[] = {
9301 {&ant_swctrl_tbl_rev3_1, ARRAY_SIZE(ant_swctrl_tbl_rev3_1), 9, 0, 16},
9304 const struct phytbl_info mimophytbl_info_rev3_volatile2[] = {
9305 {&ant_swctrl_tbl_rev3_2, ARRAY_SIZE(ant_swctrl_tbl_rev3_2), 9, 0, 16},
9308 const struct phytbl_info mimophytbl_info_rev3_volatile3[] = {
9309 {&ant_swctrl_tbl_rev3_3, ARRAY_SIZE(ant_swctrl_tbl_rev3_3), 9, 0, 16},
9312 const struct phytbl_info mimophytbl_info_rev3[] = {
9313 {&frame_struct_rev3, ARRAY_SIZE(frame_struct_rev3), 10, 0, 32},
9314 {&pilot_tbl_rev3, ARRAY_SIZE(pilot_tbl_rev3), 11, 0, 16},
9315 {&tmap_tbl_rev3, ARRAY_SIZE(tmap_tbl_rev3), 12, 0, 32},
9316 {&intlv_tbl_rev3, ARRAY_SIZE(intlv_tbl_rev3), 13, 0, 32},
9317 {&tdtrn_tbl_rev3, ARRAY_SIZE(tdtrn_tbl_rev3), 14, 0, 32},
9318 {&noise_var_tbl_rev3, ARRAY_SIZE(noise_var_tbl_rev3), 16, 0, 32},
9319 {&mcs_tbl_rev3, ARRAY_SIZE(mcs_tbl_rev3), 18, 0, 16},
9320 {&tdi_tbl20_ant0_rev3, ARRAY_SIZE(tdi_tbl20_ant0_rev3), 19, 128, 32},
9321 {&tdi_tbl20_ant1_rev3, ARRAY_SIZE(tdi_tbl20_ant1_rev3), 19, 256, 32},
9322 {&tdi_tbl40_ant0_rev3, ARRAY_SIZE(tdi_tbl40_ant0_rev3), 19, 640, 32},
9323 {&tdi_tbl40_ant1_rev3, ARRAY_SIZE(tdi_tbl40_ant1_rev3), 19, 768, 32},
9324 {&pltlut_tbl_rev3, ARRAY_SIZE(pltlut_tbl_rev3), 20, 0, 32},
9325 {&chanest_tbl_rev3, ARRAY_SIZE(chanest_tbl_rev3), 22, 0, 32},
9326 {&frame_lut_rev3, ARRAY_SIZE(frame_lut_rev3), 24, 0, 8},
9327 {&est_pwr_lut_core0_rev3, ARRAY_SIZE(est_pwr_lut_core0_rev3), 26, 0, 8},
9328 {&est_pwr_lut_core1_rev3, ARRAY_SIZE(est_pwr_lut_core1_rev3), 27, 0, 8},
9329 {&adj_pwr_lut_core0_rev3, ARRAY_SIZE(adj_pwr_lut_core0_rev3), 26, 64, 8},
9330 {&adj_pwr_lut_core1_rev3, ARRAY_SIZE(adj_pwr_lut_core1_rev3), 27, 64, 8},
9331 {&gainctrl_lut_core0_rev3, ARRAY_SIZE(gainctrl_lut_core0_rev3), 26, 192, 32},
9332 {&gainctrl_lut_core1_rev3, ARRAY_SIZE(gainctrl_lut_core1_rev3), 27, 192, 32},
9333 {&iq_lut_core0_rev3, ARRAY_SIZE(iq_lut_core0_rev3), 26, 320, 32},
9334 {&iq_lut_core1_rev3, ARRAY_SIZE(iq_lut_core1_rev3), 27, 320, 32},
9335 {&loft_lut_core0_rev3, ARRAY_SIZE(loft_lut_core0_rev3), 26, 448, 16},
9336 {&loft_lut_core1_rev3, ARRAY_SIZE(loft_lut_core1_rev3), 27, 448, 16}
9339 const u32 mimophytbl_info_sz_rev3 = ARRAY_SIZE(mimophytbl_info_rev3);
9340 const u32 mimophytbl_info_sz_rev3_volatile = ARRAY_SIZE(mimophytbl_info_rev3_volatile);
9341 const u32 mimophytbl_info_sz_rev3_volatile1 = ARRAY_SIZE(mimophytbl_info_rev3_volatile1);
9342 const u32 mimophytbl_info_sz_rev3_volatile2 = ARRAY_SIZE(mimophytbl_info_rev3_volatile2);
9343 const u32 mimophytbl_info_sz_rev3_volatile3 = ARRAY_SIZE(mimophytbl_info_rev3_volatile3);
9345 static const u32 tmap_tbl_rev7[] = {
9796 const u32 noise_var_tbl_rev7[] = {
10055 static const u32 papd_comp_epsilon_tbl_core0_rev7[] = {
10122 static const u32 papd_cal_scalars_tbl_core0_rev7[] = {
10189 static const u32 papd_comp_epsilon_tbl_core1_rev7[] = {
10256 static const u32 papd_cal_scalars_tbl_core1_rev7[] = {
10323 const struct phytbl_info mimophytbl_info_rev7[] = {
10324 {&frame_struct_rev3, ARRAY_SIZE(frame_struct_rev3), 10, 0, 32},
10325 {&pilot_tbl_rev3, ARRAY_SIZE(pilot_tbl_rev3), 11, 0, 16},
10326 {&tmap_tbl_rev7, ARRAY_SIZE(tmap_tbl_rev7), 12, 0, 32},
10327 {&intlv_tbl_rev3, ARRAY_SIZE(intlv_tbl_rev3), 13, 0, 32},
10328 {&tdtrn_tbl_rev3, ARRAY_SIZE(tdtrn_tbl_rev3), 14, 0, 32},
10329 {&noise_var_tbl_rev7, ARRAY_SIZE(noise_var_tbl_rev7), 16, 0, 32},
10330 {&mcs_tbl_rev3, ARRAY_SIZE(mcs_tbl_rev3), 18, 0, 16},
10331 {&tdi_tbl20_ant0_rev3, ARRAY_SIZE(tdi_tbl20_ant0_rev3), 19, 128, 32},
10332 {&tdi_tbl20_ant1_rev3, ARRAY_SIZE(tdi_tbl20_ant1_rev3), 19, 256, 32},
10333 {&tdi_tbl40_ant0_rev3, ARRAY_SIZE(tdi_tbl40_ant0_rev3), 19, 640, 32},
10334 {&tdi_tbl40_ant1_rev3, ARRAY_SIZE(tdi_tbl40_ant1_rev3), 19, 768, 32},
10335 {&pltlut_tbl_rev3, ARRAY_SIZE(pltlut_tbl_rev3), 20, 0, 32},
10336 {&chanest_tbl_rev3, ARRAY_SIZE(chanest_tbl_rev3), 22, 0, 32},
10337 {&frame_lut_rev3, ARRAY_SIZE(frame_lut_rev3), 24, 0, 8},
10338 {&est_pwr_lut_core0_rev3, ARRAY_SIZE(est_pwr_lut_core0_rev3), 26, 0, 8},
10339 {&est_pwr_lut_core1_rev3, ARRAY_SIZE(est_pwr_lut_core1_rev3), 27, 0, 8},
10340 {&adj_pwr_lut_core0_rev3, ARRAY_SIZE(adj_pwr_lut_core0_rev3), 26, 64, 8},
10341 {&adj_pwr_lut_core1_rev3, ARRAY_SIZE(adj_pwr_lut_core1_rev3), 27, 64, 8},
10342 {&gainctrl_lut_core0_rev3, ARRAY_SIZE(gainctrl_lut_core0_rev3), 26, 192, 32},
10343 {&gainctrl_lut_core1_rev3, ARRAY_SIZE(gainctrl_lut_core1_rev3), 27, 192, 32},
10344 {&iq_lut_core0_rev3, ARRAY_SIZE(iq_lut_core0_rev3), 26, 320, 32},
10345 {&iq_lut_core1_rev3, ARRAY_SIZE(iq_lut_core1_rev3), 27, 320, 32},
10346 {&loft_lut_core0_rev3, ARRAY_SIZE(loft_lut_core0_rev3), 26, 448, 16},
10347 {&loft_lut_core1_rev3, ARRAY_SIZE(loft_lut_core1_rev3), 27, 448, 16},
10348 {&papd_comp_rfpwr_tbl_core0_rev3,
10349 ARRAY_SIZE(papd_comp_rfpwr_tbl_core0_rev3), 26, 576, 16},
10350 {&papd_comp_rfpwr_tbl_core1_rev3,
10351 ARRAY_SIZE(papd_comp_rfpwr_tbl_core1_rev3), 27, 576, 16},
10352 {&papd_comp_epsilon_tbl_core0_rev7,
10353 ARRAY_SIZE(papd_comp_epsilon_tbl_core0_rev7), 31, 0, 32},
10354 {&papd_cal_scalars_tbl_core0_rev7,
10355 ARRAY_SIZE(papd_cal_scalars_tbl_core0_rev7), 32, 0, 32},
10356 {&papd_comp_epsilon_tbl_core1_rev7,
10357 ARRAY_SIZE(papd_comp_epsilon_tbl_core1_rev7), 33, 0, 32},
10358 {&papd_cal_scalars_tbl_core1_rev7,
10359 ARRAY_SIZE(papd_cal_scalars_tbl_core1_rev7), 34, 0, 32},
10362 const u32 mimophytbl_info_sz_rev7 = ARRAY_SIZE(mimophytbl_info_rev7);
10364 const struct phytbl_info mimophytbl_info_rev16[] = {
10365 {&noise_var_tbl_rev7, ARRAY_SIZE(noise_var_tbl_rev7), 16, 0, 32},
10366 {&est_pwr_lut_core0_rev3, ARRAY_SIZE(est_pwr_lut_core0_rev3), 26, 0, 8},
10367 {&est_pwr_lut_core1_rev3, ARRAY_SIZE(est_pwr_lut_core1_rev3), 27, 0, 8},
10368 {&adj_pwr_lut_core0_rev3, ARRAY_SIZE(adj_pwr_lut_core0_rev3), 26, 64, 8},
10369 {&adj_pwr_lut_core1_rev3, ARRAY_SIZE(adj_pwr_lut_core1_rev3), 27, 64, 8},
10370 {&gainctrl_lut_core0_rev3, ARRAY_SIZE(gainctrl_lut_core0_rev3), 26, 192, 32},
10371 {&gainctrl_lut_core1_rev3, ARRAY_SIZE(gainctrl_lut_core1_rev3), 27, 192, 32},
10372 {&iq_lut_core0_rev3, ARRAY_SIZE(iq_lut_core0_rev3), 26, 320, 32},
10373 {&iq_lut_core1_rev3, ARRAY_SIZE(iq_lut_core1_rev3), 27, 320, 32},
10374 {&loft_lut_core0_rev3, ARRAY_SIZE(loft_lut_core0_rev3), 26, 448, 16},
10375 {&loft_lut_core1_rev3, ARRAY_SIZE(loft_lut_core1_rev3), 27, 448, 16},
10378 const u32 mimophytbl_info_sz_rev16 = ARRAY_SIZE(mimophytbl_info_rev16);