1300016Sadrian/* 2300016Sadrian 3300016Sadrian Broadcom B43 wireless driver 4300016Sadrian IEEE 802.11n PHY data tables 5300016Sadrian 6300016Sadrian Copyright (c) 2008 Michael Buesch <m@bues.ch> 7300016Sadrian Copyright (c) 2010 Rafa�� Mi��ecki <zajec5@gmail.com> 8300016Sadrian 9300016Sadrian This program is free software; you can redistribute it and/or modify 10300016Sadrian it under the terms of the GNU General Public License as published by 11300016Sadrian the Free Software Foundation; either version 2 of the License, or 12300016Sadrian (at your option) any later version. 13300016Sadrian 14300016Sadrian This program is distributed in the hope that it will be useful, 15300016Sadrian but WITHOUT ANY WARRANTY; without even the implied warranty of 16300016Sadrian MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17300016Sadrian GNU General Public License for more details. 18300016Sadrian 19300016Sadrian You should have received a copy of the GNU General Public License 20300016Sadrian along with this program; see the file COPYING. If not, write to 21300016Sadrian the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, 22300016Sadrian Boston, MA 02110-1301, USA. 23300016Sadrian 24300016Sadrian*/ 25300016Sadrian 26300016Sadrian#include <sys/cdefs.h> 27300016Sadrian__FBSDID("$FreeBSD: releng/11.0/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_tables.c 300190 2016-05-19 04:45:50Z adrian $"); 28300016Sadrian 29300016Sadrian/* 30300016Sadrian * The Broadcom Wireless LAN controller driver. 31300016Sadrian */ 32300016Sadrian 33300190Sadrian#include "opt_wlan.h" 34300190Sadrian#include "opt_bwn.h" 35300190Sadrian 36300016Sadrian#include <sys/param.h> 37300016Sadrian#include <sys/systm.h> 38300016Sadrian#include <sys/kernel.h> 39300016Sadrian#include <sys/malloc.h> 40300016Sadrian#include <sys/module.h> 41300016Sadrian#include <sys/endian.h> 42300016Sadrian#include <sys/errno.h> 43300016Sadrian#include <sys/firmware.h> 44300016Sadrian#include <sys/lock.h> 45300016Sadrian#include <sys/mutex.h> 46300016Sadrian#include <machine/bus.h> 47300016Sadrian#include <machine/resource.h> 48300016Sadrian#include <sys/bus.h> 49300016Sadrian#include <sys/rman.h> 50300016Sadrian#include <sys/socket.h> 51300016Sadrian#include <sys/sockio.h> 52300016Sadrian 53300016Sadrian#include <net/ethernet.h> 54300016Sadrian#include <net/if.h> 55300016Sadrian#include <net/if_var.h> 56300016Sadrian#include <net/if_arp.h> 57300016Sadrian#include <net/if_dl.h> 58300016Sadrian#include <net/if_llc.h> 59300016Sadrian#include <net/if_media.h> 60300016Sadrian#include <net/if_types.h> 61300016Sadrian 62300016Sadrian#include <dev/pci/pcivar.h> 63300016Sadrian#include <dev/pci/pcireg.h> 64300016Sadrian#include <dev/siba/siba_ids.h> 65300016Sadrian#include <dev/siba/sibareg.h> 66300016Sadrian#include <dev/siba/sibavar.h> 67300016Sadrian 68300016Sadrian#include <net80211/ieee80211_var.h> 69300016Sadrian#include <net80211/ieee80211_radiotap.h> 70300016Sadrian#include <net80211/ieee80211_regdomain.h> 71300016Sadrian#include <net80211/ieee80211_phy.h> 72300016Sadrian#include <net80211/ieee80211_ratectl.h> 73300016Sadrian 74300016Sadrian#include <dev/bwn/if_bwnreg.h> 75300016Sadrian#include <dev/bwn/if_bwnvar.h> 76300016Sadrian#include <dev/bwn/if_bwn_debug.h> 77300016Sadrian 78300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_regs.h> 79300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_ppr.h> 80300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_tables.h> 81300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_core.h> 82300016Sadrian 83300016Sadrianstatic const uint8_t bwn_ntab_adjustpower0[] = { 84300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 85300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 86300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 87300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 88300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 89300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 90300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 91300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 92300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 93300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 94300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 95300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 96300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 97300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 99300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 100300016Sadrian}; 101300016Sadrian 102300016Sadrianstatic const uint8_t bwn_ntab_adjustpower1[] = { 103300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 104300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 105300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 106300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 107300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 108300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 109300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 110300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 111300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 114300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 115300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 118300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 119300016Sadrian}; 120300016Sadrian 121300016Sadrianstatic const uint16_t bwn_ntab_bdi[] = { 122300016Sadrian 0x0070, 0x0126, 0x012C, 0x0246, 0x048D, 0x04D2, 123300016Sadrian}; 124300016Sadrian 125300016Sadrianstatic const uint32_t bwn_ntab_channelest[] = { 126300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 127300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 128300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 129300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 130300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 131300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 132300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 133300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 134300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 135300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 136300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 137300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 138300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 139300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 140300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 141300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 142300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 143300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 144300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 145300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 146300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 147300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 148300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 149300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 150300016Sadrian}; 151300016Sadrian 152300016Sadrianstatic const uint8_t bwn_ntab_estimatepowerlt0[] = { 153300016Sadrian 0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49, 154300016Sadrian 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 155300016Sadrian 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 156300016Sadrian 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 157300016Sadrian 0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29, 158300016Sadrian 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 159300016Sadrian 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 160300016Sadrian 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 161300016Sadrian}; 162300016Sadrian 163300016Sadrianstatic const uint8_t bwn_ntab_estimatepowerlt1[] = { 164300016Sadrian 0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49, 165300016Sadrian 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 166300016Sadrian 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 167300016Sadrian 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 168300016Sadrian 0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29, 169300016Sadrian 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 170300016Sadrian 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 171300016Sadrian 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 172300016Sadrian}; 173300016Sadrian 174300016Sadrianstatic const uint8_t bwn_ntab_framelookup[] = { 175300016Sadrian 0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16, 176300016Sadrian 0x0A, 0x0C, 0x1C, 0x1C, 0x0B, 0x0D, 0x1E, 0x1E, 177300016Sadrian 0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1A, 0x1A, 178300016Sadrian 0x0E, 0x10, 0x20, 0x28, 0x0F, 0x11, 0x22, 0x2A, 179300016Sadrian}; 180300016Sadrian 181300016Sadrianstatic const uint32_t bwn_ntab_framestruct[] = { 182300016Sadrian 0x08004A04, 0x00100000, 0x01000A05, 0x00100020, 183300016Sadrian 0x09804506, 0x00100030, 0x09804507, 0x00100030, 184300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 185300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 186300016Sadrian 0x08004A0C, 0x00100004, 0x01000A0D, 0x00100024, 187300016Sadrian 0x0980450E, 0x00100034, 0x0980450F, 0x00100034, 188300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 189300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 190300016Sadrian 0x00000A04, 0x00100000, 0x11008A05, 0x00100020, 191300016Sadrian 0x1980C506, 0x00100030, 0x21810506, 0x00100030, 192300016Sadrian 0x21810506, 0x00100030, 0x01800504, 0x00100030, 193300016Sadrian 0x11808505, 0x00100030, 0x29814507, 0x01100030, 194300016Sadrian 0x00000A04, 0x00100000, 0x11008A05, 0x00100020, 195300016Sadrian 0x21810506, 0x00100030, 0x21810506, 0x00100030, 196300016Sadrian 0x29814507, 0x01100030, 0x00000000, 0x00000000, 197300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 198300016Sadrian 0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028, 199300016Sadrian 0x1980C50E, 0x00100038, 0x2181050E, 0x00100038, 200300016Sadrian 0x2181050E, 0x00100038, 0x0180050C, 0x00100038, 201300016Sadrian 0x1180850D, 0x00100038, 0x2981450F, 0x01100038, 202300016Sadrian 0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028, 203300016Sadrian 0x2181050E, 0x00100038, 0x2181050E, 0x00100038, 204300016Sadrian 0x2981450F, 0x01100038, 0x00000000, 0x00000000, 205300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 206300016Sadrian 0x08004A04, 0x00100000, 0x01000A05, 0x00100020, 207300016Sadrian 0x1980C506, 0x00100030, 0x1980C506, 0x00100030, 208300016Sadrian 0x11808504, 0x00100030, 0x3981CA05, 0x00100030, 209300016Sadrian 0x29814507, 0x01100030, 0x00000000, 0x00000000, 210300016Sadrian 0x10008A04, 0x00100000, 0x3981CA05, 0x00100030, 211300016Sadrian 0x1980C506, 0x00100030, 0x29814507, 0x01100030, 212300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 213300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 214300016Sadrian 0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028, 215300016Sadrian 0x1980C50E, 0x00100038, 0x1980C50E, 0x00100038, 216300016Sadrian 0x1180850C, 0x00100038, 0x3981CA0D, 0x00100038, 217300016Sadrian 0x2981450F, 0x01100038, 0x00000000, 0x00000000, 218300016Sadrian 0x10008A0C, 0x00100008, 0x3981CA0D, 0x00100038, 219300016Sadrian 0x1980C50E, 0x00100038, 0x2981450F, 0x01100038, 220300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 221300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 222300016Sadrian 0x40021404, 0x00100000, 0x02001405, 0x00100040, 223300016Sadrian 0x0B004A06, 0x01900060, 0x13008A06, 0x01900060, 224300016Sadrian 0x13008A06, 0x01900060, 0x43020A04, 0x00100060, 225300016Sadrian 0x1B00CA05, 0x00100060, 0x23010A07, 0x01500060, 226300016Sadrian 0x40021404, 0x00100000, 0x1A00D405, 0x00100040, 227300016Sadrian 0x13008A06, 0x01900060, 0x13008A06, 0x01900060, 228300016Sadrian 0x23010A07, 0x01500060, 0x00000000, 0x00000000, 229300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 230300016Sadrian 0x4002140C, 0x00100010, 0x0200140D, 0x00100050, 231300016Sadrian 0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070, 232300016Sadrian 0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070, 233300016Sadrian 0x1B00CA0D, 0x00100070, 0x23010A0F, 0x01500070, 234300016Sadrian 0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050, 235300016Sadrian 0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070, 236300016Sadrian 0x23010A0F, 0x01500070, 0x00000000, 0x00000000, 237300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 238300016Sadrian 0x50029404, 0x00100000, 0x32019405, 0x00100040, 239300016Sadrian 0x0B004A06, 0x01900060, 0x0B004A06, 0x01900060, 240300016Sadrian 0x5B02CA04, 0x00100060, 0x3B01D405, 0x00100060, 241300016Sadrian 0x23010A07, 0x01500060, 0x00000000, 0x00000000, 242300016Sadrian 0x5802D404, 0x00100000, 0x3B01D405, 0x00100060, 243300016Sadrian 0x0B004A06, 0x01900060, 0x23010A07, 0x01500060, 244300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 245300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 246300016Sadrian 0x5002940C, 0x00100010, 0x3201940D, 0x00100050, 247300016Sadrian 0x0B004A0E, 0x01900070, 0x0B004A0E, 0x01900070, 248300016Sadrian 0x5B02CA0C, 0x00100070, 0x3B01D40D, 0x00100070, 249300016Sadrian 0x23010A0F, 0x01500070, 0x00000000, 0x00000000, 250300016Sadrian 0x5802D40C, 0x00100010, 0x3B01D40D, 0x00100070, 251300016Sadrian 0x0B004A0E, 0x01900070, 0x23010A0F, 0x01500070, 252300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 253300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 254300016Sadrian 0x40021404, 0x000F4800, 0x62031405, 0x00100040, 255300016Sadrian 0x53028A06, 0x01900060, 0x53028A07, 0x01900060, 256300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 257300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 258300016Sadrian 0x4002140C, 0x000F4808, 0x6203140D, 0x00100048, 259300016Sadrian 0x53028A0E, 0x01900068, 0x53028A0F, 0x01900068, 260300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 261300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 262300016Sadrian 0x00000A0C, 0x00100004, 0x11008A0D, 0x00100024, 263300016Sadrian 0x1980C50E, 0x00100034, 0x2181050E, 0x00100034, 264300016Sadrian 0x2181050E, 0x00100034, 0x0180050C, 0x00100038, 265300016Sadrian 0x1180850D, 0x00100038, 0x1181850D, 0x00100038, 266300016Sadrian 0x2981450F, 0x01100038, 0x00000000, 0x00000000, 267300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 268300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 269300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 270300016Sadrian 0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028, 271300016Sadrian 0x2181050E, 0x00100038, 0x2181050E, 0x00100038, 272300016Sadrian 0x1181850D, 0x00100038, 0x2981450F, 0x01100038, 273300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 274300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 275300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 276300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 277300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 278300016Sadrian 0x08004A04, 0x00100000, 0x01000A05, 0x00100020, 279300016Sadrian 0x0180C506, 0x00100030, 0x0180C506, 0x00100030, 280300016Sadrian 0x2180C50C, 0x00100030, 0x49820A0D, 0x0016A130, 281300016Sadrian 0x41824A0D, 0x0016A130, 0x2981450F, 0x01100030, 282300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 283300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 284300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 285300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 286300016Sadrian 0x2000CA0C, 0x00100000, 0x49820A0D, 0x0016A130, 287300016Sadrian 0x1980C50E, 0x00100030, 0x41824A0D, 0x0016A130, 288300016Sadrian 0x2981450F, 0x01100030, 0x00000000, 0x00000000, 289300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 290300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 291300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 292300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 293300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 294300016Sadrian 0x4002140C, 0x00100008, 0x0200140D, 0x00100048, 295300016Sadrian 0x0B004A0E, 0x01900068, 0x13008A0E, 0x01900068, 296300016Sadrian 0x13008A0E, 0x01900068, 0x43020A0C, 0x00100070, 297300016Sadrian 0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070, 298300016Sadrian 0x23010A0F, 0x01500070, 0x00000000, 0x00000000, 299300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 300300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 301300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 302300016Sadrian 0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050, 303300016Sadrian 0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070, 304300016Sadrian 0x1B014A0D, 0x00100070, 0x23010A0F, 0x01500070, 305300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 306300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 307300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 308300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 309300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 310300016Sadrian 0x50029404, 0x00100000, 0x32019405, 0x00100040, 311300016Sadrian 0x03004A06, 0x01900060, 0x03004A06, 0x01900060, 312300016Sadrian 0x6B030A0C, 0x00100060, 0x4B02140D, 0x0016A160, 313300016Sadrian 0x4302540D, 0x0016A160, 0x23010A0F, 0x01500060, 314300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 315300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 316300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 317300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 318300016Sadrian 0x6B03140C, 0x00100060, 0x4B02140D, 0x0016A160, 319300016Sadrian 0x0B004A0E, 0x01900060, 0x4302540D, 0x0016A160, 320300016Sadrian 0x23010A0F, 0x01500060, 0x00000000, 0x00000000, 321300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 322300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 323300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 324300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 325300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 326300016Sadrian 0x40021404, 0x00100000, 0x1A00D405, 0x00100040, 327300016Sadrian 0x53028A06, 0x01900060, 0x5B02CA06, 0x01900060, 328300016Sadrian 0x5B02CA06, 0x01900060, 0x43020A04, 0x00100060, 329300016Sadrian 0x1B00CA05, 0x00100060, 0x53028A07, 0x0190C060, 330300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 331300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 332300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 333300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 334300016Sadrian 0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050, 335300016Sadrian 0x53028A0E, 0x01900070, 0x5B02CA0E, 0x01900070, 336300016Sadrian 0x5B02CA0E, 0x01900070, 0x43020A0C, 0x00100070, 337300016Sadrian 0x1B00CA0D, 0x00100070, 0x53028A0F, 0x0190C070, 338300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 339300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 340300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 341300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 342300016Sadrian 0x40021404, 0x00100000, 0x1A00D405, 0x00100040, 343300016Sadrian 0x5B02CA06, 0x01900060, 0x5B02CA06, 0x01900060, 344300016Sadrian 0x53028A07, 0x0190C060, 0x00000000, 0x00000000, 345300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 346300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 347300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 348300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 349300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 350300016Sadrian 0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050, 351300016Sadrian 0x5B02CA0E, 0x01900070, 0x5B02CA0E, 0x01900070, 352300016Sadrian 0x53028A0F, 0x0190C070, 0x00000000, 0x00000000, 353300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 354300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 355300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 356300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 357300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 358300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 359300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 360300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 361300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 362300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 363300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 364300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 365300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 366300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 367300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 368300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 369300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 370300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 371300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 372300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 373300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 374300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 375300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 376300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 377300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 378300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 379300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 380300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 381300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 382300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 383300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 384300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 385300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 386300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 387300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 388300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 389300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 390300016Sadrian}; 391300016Sadrian 392300016Sadrianstatic const uint32_t bwn_ntab_gainctl0[] = { 393300016Sadrian 0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E, 394300016Sadrian 0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42, 395300016Sadrian 0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B, 396300016Sadrian 0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34, 397300016Sadrian 0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E, 398300016Sadrian 0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38, 399300016Sadrian 0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32, 400300016Sadrian 0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44, 401300016Sadrian 0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D, 402300016Sadrian 0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36, 403300016Sadrian 0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40, 404300016Sadrian 0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39, 405300016Sadrian 0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33, 406300016Sadrian 0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D, 407300016Sadrian 0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E, 408300016Sadrian 0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38, 409300016Sadrian 0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42, 410300016Sadrian 0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B, 411300016Sadrian 0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34, 412300016Sadrian 0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44, 413300016Sadrian 0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D, 414300016Sadrian 0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36, 415300016Sadrian 0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30, 416300016Sadrian 0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B, 417300016Sadrian 0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26, 418300016Sadrian 0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22, 419300016Sadrian 0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E, 420300016Sadrian 0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B, 421300016Sadrian 0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18, 422300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, 423300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, 424300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00, 425300016Sadrian}; 426300016Sadrian 427300016Sadrianstatic const uint32_t bwn_ntab_gainctl1[] = { 428300016Sadrian 0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E, 429300016Sadrian 0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42, 430300016Sadrian 0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B, 431300016Sadrian 0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34, 432300016Sadrian 0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E, 433300016Sadrian 0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38, 434300016Sadrian 0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32, 435300016Sadrian 0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44, 436300016Sadrian 0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D, 437300016Sadrian 0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36, 438300016Sadrian 0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40, 439300016Sadrian 0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39, 440300016Sadrian 0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33, 441300016Sadrian 0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D, 442300016Sadrian 0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E, 443300016Sadrian 0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38, 444300016Sadrian 0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42, 445300016Sadrian 0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B, 446300016Sadrian 0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34, 447300016Sadrian 0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44, 448300016Sadrian 0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D, 449300016Sadrian 0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36, 450300016Sadrian 0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30, 451300016Sadrian 0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B, 452300016Sadrian 0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26, 453300016Sadrian 0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22, 454300016Sadrian 0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E, 455300016Sadrian 0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B, 456300016Sadrian 0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18, 457300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, 458300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, 459300016Sadrian 0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00, 460300016Sadrian}; 461300016Sadrian 462300016Sadrianstatic const uint32_t bwn_ntab_intlevel[] = { 463300016Sadrian 0x00802070, 0x0671188D, 0x0A60192C, 0x0A300E46, 464300016Sadrian 0x00C1188D, 0x080024D2, 0x00000070, 465300016Sadrian}; 466300016Sadrian 467300016Sadrianstatic const uint32_t bwn_ntab_iqlt0[] = { 468300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 469300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 470300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 471300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 472300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 473300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 474300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 475300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 476300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 477300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 478300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 479300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 480300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 481300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 482300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 483300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 484300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 485300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 486300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 487300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 488300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 489300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 490300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 491300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 492300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 493300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 494300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 495300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 496300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 497300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 498300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 499300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 500300016Sadrian}; 501300016Sadrian 502300016Sadrianstatic const uint32_t bwn_ntab_iqlt1[] = { 503300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 504300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 505300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 506300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 507300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 508300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 509300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 510300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 511300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 512300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 513300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 514300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 515300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 516300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 517300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 518300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 519300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 520300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 521300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 522300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 523300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 524300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 525300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 526300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 527300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 528300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 529300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 530300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 531300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 532300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 533300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 534300016Sadrian 0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F, 535300016Sadrian}; 536300016Sadrian 537300016Sadrianstatic const uint16_t bwn_ntab_loftlt0[] = { 538300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 539300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 540300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 541300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 542300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 543300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 544300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 545300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 546300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 547300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 548300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 549300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 550300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 551300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 552300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 553300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 554300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 555300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 556300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 557300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 558300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 559300016Sadrian 0x0002, 0x0103, 560300016Sadrian}; 561300016Sadrian 562300016Sadrianstatic const uint16_t bwn_ntab_loftlt1[] = { 563300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 564300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 565300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 566300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 567300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 568300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 569300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 570300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 571300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 572300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 573300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 574300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 575300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 576300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 577300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 578300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 579300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 580300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 581300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 582300016Sadrian 0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103, 583300016Sadrian 0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101, 584300016Sadrian 0x0002, 0x0103, 585300016Sadrian}; 586300016Sadrian 587300016Sadrianstatic const uint8_t bwn_ntab_mcs[] = { 588300016Sadrian 0x00, 0x08, 0x0A, 0x10, 0x12, 0x19, 0x1A, 0x1C, 589300016Sadrian 0x40, 0x48, 0x4A, 0x50, 0x52, 0x59, 0x5A, 0x5C, 590300016Sadrian 0x80, 0x88, 0x8A, 0x90, 0x92, 0x99, 0x9A, 0x9C, 591300016Sadrian 0xC0, 0xC8, 0xCA, 0xD0, 0xD2, 0xD9, 0xDA, 0xDC, 592300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 593300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 594300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 595300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 596300016Sadrian 0x00, 0x01, 0x02, 0x04, 0x08, 0x09, 0x0A, 0x0C, 597300016Sadrian 0x10, 0x11, 0x12, 0x14, 0x18, 0x19, 0x1A, 0x1C, 598300016Sadrian 0x20, 0x21, 0x22, 0x24, 0x40, 0x41, 0x42, 0x44, 599300016Sadrian 0x48, 0x49, 0x4A, 0x4C, 0x50, 0x51, 0x52, 0x54, 600300016Sadrian 0x58, 0x59, 0x5A, 0x5C, 0x60, 0x61, 0x62, 0x64, 601300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 602300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 603300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 604300016Sadrian}; 605300016Sadrian 606300016Sadrianstatic const uint32_t bwn_ntab_noisevar10[] = { 607300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 608300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 609300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 610300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 611300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 612300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 613300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 614300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 615300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 616300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 617300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 618300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 619300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 620300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 621300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 622300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 623300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 624300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 625300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 626300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 627300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 628300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 629300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 630300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 631300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 632300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 633300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 634300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 635300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 636300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 637300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 638300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 639300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 640300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 641300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 642300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 643300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 644300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 645300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 646300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 647300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 648300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 649300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 650300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 651300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 652300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 653300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 654300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 655300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 656300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 657300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 658300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 659300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 660300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 661300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 662300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 663300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 664300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 665300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 666300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 667300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 668300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 669300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 670300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 671300016Sadrian}; 672300016Sadrian 673300016Sadrianstatic const uint32_t bwn_ntab_noisevar11[] = { 674300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 675300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 676300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 677300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 678300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 679300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 680300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 681300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 682300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 683300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 684300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 685300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 686300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 687300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 688300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 689300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 690300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 691300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 692300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 693300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 694300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 695300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 696300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 697300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 698300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 699300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 700300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 701300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 702300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 703300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 704300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 705300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 706300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 707300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 708300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 709300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 710300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 711300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 712300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 713300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 714300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 715300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 716300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 717300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 718300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 719300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 720300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 721300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 722300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 723300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 724300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 725300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 726300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 727300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 728300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 729300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 730300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 731300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 732300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 733300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 734300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 735300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 736300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 737300016Sadrian 0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D, 738300016Sadrian}; 739300016Sadrian 740300016Sadrianstatic const uint16_t bwn_ntab_pilot[] = { 741300016Sadrian 0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08, 742300016Sadrian 0xFF08, 0xFF08, 0x80D5, 0x80D5, 0x80D5, 0x80D5, 743300016Sadrian 0x80D5, 0x80D5, 0x80D5, 0x80D5, 0xFF0A, 0xFF82, 744300016Sadrian 0xFFA0, 0xFF28, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 745300016Sadrian 0xFF82, 0xFFA0, 0xFF28, 0xFF0A, 0xFFFF, 0xFFFF, 746300016Sadrian 0xFFFF, 0xFFFF, 0xF83F, 0xFA1F, 0xFA97, 0xFAB5, 747300016Sadrian 0xF2BD, 0xF0BF, 0xFFFF, 0xFFFF, 0xF017, 0xF815, 748300016Sadrian 0xF215, 0xF095, 0xF035, 0xF01D, 0xFFFF, 0xFFFF, 749300016Sadrian 0xFF08, 0xFF02, 0xFF80, 0xFF20, 0xFF08, 0xFF02, 750300016Sadrian 0xFF80, 0xFF20, 0xF01F, 0xF817, 0xFA15, 0xF295, 751300016Sadrian 0xF0B5, 0xF03D, 0xFFFF, 0xFFFF, 0xF82A, 0xFA0A, 752300016Sadrian 0xFA82, 0xFAA0, 0xF2A8, 0xF0AA, 0xFFFF, 0xFFFF, 753300016Sadrian 0xF002, 0xF800, 0xF200, 0xF080, 0xF020, 0xF008, 754300016Sadrian 0xFFFF, 0xFFFF, 0xF00A, 0xF802, 0xFA00, 0xF280, 755300016Sadrian 0xF0A0, 0xF028, 0xFFFF, 0xFFFF, 756300016Sadrian}; 757300016Sadrian 758300016Sadrianstatic const uint32_t bwn_ntab_pilotlt[] = { 759300016Sadrian 0x76540123, 0x62407351, 0x76543201, 0x76540213, 760300016Sadrian 0x76540123, 0x76430521, 761300016Sadrian}; 762300016Sadrian 763300016Sadrianstatic const uint32_t bwn_ntab_tdi20a0[] = { 764300016Sadrian 0x00091226, 0x000A1429, 0x000B56AD, 0x000C58B0, 765300016Sadrian 0x000D5AB3, 0x000E9CB6, 0x000F9EBA, 0x0000C13D, 766300016Sadrian 0x00020301, 0x00030504, 0x00040708, 0x0005090B, 767300016Sadrian 0x00064B8E, 0x00095291, 0x000A5494, 0x000B9718, 768300016Sadrian 0x000C9927, 0x000D9B2A, 0x000EDD2E, 0x000FDF31, 769300016Sadrian 0x000101B4, 0x000243B7, 0x000345BB, 0x000447BE, 770300016Sadrian 0x00058982, 0x00068C05, 0x00099309, 0x000A950C, 771300016Sadrian 0x000BD78F, 0x000CD992, 0x000DDB96, 0x000F1D99, 772300016Sadrian 0x00005FA8, 0x0001422C, 0x0002842F, 0x00038632, 773300016Sadrian 0x00048835, 0x0005CA38, 0x0006CCBC, 0x0009D3BF, 774300016Sadrian 0x000B1603, 0x000C1806, 0x000D1A0A, 0x000E1C0D, 775300016Sadrian 0x000F5E10, 0x00008093, 0x00018297, 0x0002C49A, 776300016Sadrian 0x0003C680, 0x0004C880, 0x00060B00, 0x00070D00, 777300016Sadrian 0x00000000, 0x00000000, 0x00000000, 778300016Sadrian}; 779300016Sadrian 780300016Sadrianstatic const uint32_t bwn_ntab_tdi20a1[] = { 781300016Sadrian 0x00014B26, 0x00028D29, 0x000393AD, 0x00049630, 782300016Sadrian 0x0005D833, 0x0006DA36, 0x00099C3A, 0x000A9E3D, 783300016Sadrian 0x000BC081, 0x000CC284, 0x000DC488, 0x000F068B, 784300016Sadrian 0x0000488E, 0x00018B91, 0x0002D214, 0x0003D418, 785300016Sadrian 0x0004D6A7, 0x000618AA, 0x00071AAE, 0x0009DCB1, 786300016Sadrian 0x000B1EB4, 0x000C0137, 0x000D033B, 0x000E053E, 787300016Sadrian 0x000F4702, 0x00008905, 0x00020C09, 0x0003128C, 788300016Sadrian 0x0004148F, 0x00051712, 0x00065916, 0x00091B19, 789300016Sadrian 0x000A1D28, 0x000B5F2C, 0x000C41AF, 0x000D43B2, 790300016Sadrian 0x000E85B5, 0x000F87B8, 0x0000C9BC, 0x00024CBF, 791300016Sadrian 0x00035303, 0x00045506, 0x0005978A, 0x0006998D, 792300016Sadrian 0x00095B90, 0x000A5D93, 0x000B9F97, 0x000C821A, 793300016Sadrian 0x000D8400, 0x000EC600, 0x000FC800, 0x00010A00, 794300016Sadrian 0x00000000, 0x00000000, 0x00000000, 795300016Sadrian}; 796300016Sadrian 797300016Sadrianstatic const uint32_t bwn_ntab_tdi40a0[] = { 798300016Sadrian 0x0011A346, 0x00136CCF, 0x0014F5D9, 0x001641E2, 799300016Sadrian 0x0017CB6B, 0x00195475, 0x001B2383, 0x001CAD0C, 800300016Sadrian 0x001E7616, 0x0000821F, 0x00020BA8, 0x0003D4B2, 801300016Sadrian 0x00056447, 0x00072DD0, 0x0008B6DA, 0x000A02E3, 802300016Sadrian 0x000B8C6C, 0x000D15F6, 0x0011E484, 0x0013AE0D, 803300016Sadrian 0x00153717, 0x00168320, 0x00180CA9, 0x00199633, 804300016Sadrian 0x001B6548, 0x001CEED1, 0x001EB7DB, 0x0000C3E4, 805300016Sadrian 0x00024D6D, 0x000416F7, 0x0005A585, 0x00076F0F, 806300016Sadrian 0x0008F818, 0x000A4421, 0x000BCDAB, 0x000D9734, 807300016Sadrian 0x00122649, 0x0013EFD2, 0x001578DC, 0x0016C4E5, 808300016Sadrian 0x00184E6E, 0x001A17F8, 0x001BA686, 0x001D3010, 809300016Sadrian 0x001EF999, 0x00010522, 0x00028EAC, 0x00045835, 810300016Sadrian 0x0005E74A, 0x0007B0D3, 0x00093A5D, 0x000A85E6, 811300016Sadrian 0x000C0F6F, 0x000DD8F9, 0x00126787, 0x00143111, 812300016Sadrian 0x0015BA9A, 0x00170623, 0x00188FAD, 0x001A5936, 813300016Sadrian 0x001BE84B, 0x001DB1D4, 0x001F3B5E, 0x000146E7, 814300016Sadrian 0x00031070, 0x000499FA, 0x00062888, 0x0007F212, 815300016Sadrian 0x00097B9B, 0x000AC7A4, 0x000C50AE, 0x000E1A37, 816300016Sadrian 0x0012A94C, 0x001472D5, 0x0015FC5F, 0x00174868, 817300016Sadrian 0x0018D171, 0x001A9AFB, 0x001C2989, 0x001DF313, 818300016Sadrian 0x001F7C9C, 0x000188A5, 0x000351AF, 0x0004DB38, 819300016Sadrian 0x0006AA4D, 0x000833D7, 0x0009BD60, 0x000B0969, 820300016Sadrian 0x000C9273, 0x000E5BFC, 0x00132A8A, 0x0014B414, 821300016Sadrian 0x00163D9D, 0x001789A6, 0x001912B0, 0x001ADC39, 822300016Sadrian 0x001C6BCE, 0x001E34D8, 0x001FBE61, 0x0001CA6A, 823300016Sadrian 0x00039374, 0x00051CFD, 0x0006EC0B, 0x00087515, 824300016Sadrian 0x0009FE9E, 0x000B4AA7, 0x000CD3B1, 0x000E9D3A, 825300016Sadrian 0x00000000, 0x00000000, 826300016Sadrian}; 827300016Sadrian 828300016Sadrianstatic const uint32_t bwn_ntab_tdi40a1[] = { 829300016Sadrian 0x001EDB36, 0x000129CA, 0x0002B353, 0x00047CDD, 830300016Sadrian 0x0005C8E6, 0x000791EF, 0x00091BF9, 0x000AAA07, 831300016Sadrian 0x000C3391, 0x000DFD1A, 0x00120923, 0x0013D22D, 832300016Sadrian 0x00155C37, 0x0016EACB, 0x00187454, 0x001A3DDE, 833300016Sadrian 0x001B89E7, 0x001D12F0, 0x001F1CFA, 0x00016B88, 834300016Sadrian 0x00033492, 0x0004BE1B, 0x00060A24, 0x0007D32E, 835300016Sadrian 0x00095D38, 0x000AEC4C, 0x000C7555, 0x000E3EDF, 836300016Sadrian 0x00124AE8, 0x001413F1, 0x0015A37B, 0x00172C89, 837300016Sadrian 0x0018B593, 0x001A419C, 0x001BCB25, 0x001D942F, 838300016Sadrian 0x001F63B9, 0x0001AD4D, 0x00037657, 0x0004C260, 839300016Sadrian 0x00068BE9, 0x000814F3, 0x0009A47C, 0x000B2D8A, 840300016Sadrian 0x000CB694, 0x000E429D, 0x00128C26, 0x001455B0, 841300016Sadrian 0x0015E4BA, 0x00176E4E, 0x0018F758, 0x001A8361, 842300016Sadrian 0x001C0CEA, 0x001DD674, 0x001FA57D, 0x0001EE8B, 843300016Sadrian 0x0003B795, 0x0005039E, 0x0006CD27, 0x000856B1, 844300016Sadrian 0x0009E5C6, 0x000B6F4F, 0x000CF859, 0x000E8462, 845300016Sadrian 0x00130DEB, 0x00149775, 0x00162603, 0x0017AF8C, 846300016Sadrian 0x00193896, 0x001AC49F, 0x001C4E28, 0x001E17B2, 847300016Sadrian 0x0000A6C7, 0x00023050, 0x0003F9DA, 0x00054563, 848300016Sadrian 0x00070EEC, 0x00089876, 0x000A2704, 0x000BB08D, 849300016Sadrian 0x000D3A17, 0x001185A0, 0x00134F29, 0x0014D8B3, 850300016Sadrian 0x001667C8, 0x0017F151, 0x00197ADB, 0x001B0664, 851300016Sadrian 0x001C8FED, 0x001E5977, 0x0000E805, 0x0002718F, 852300016Sadrian 0x00043B18, 0x000586A1, 0x0007502B, 0x0008D9B4, 853300016Sadrian 0x000A68C9, 0x000BF252, 0x000DBBDC, 0x0011C7E5, 854300016Sadrian 0x001390EE, 0x00151A78, 0x0016A906, 0x00183290, 855300016Sadrian 0x0019BC19, 0x001B4822, 0x001CD12C, 0x001E9AB5, 856300016Sadrian 0x00000000, 0x00000000, 857300016Sadrian}; 858300016Sadrian 859300016Sadrianstatic const uint32_t bwn_ntab_tdtrn[] = { 860300016Sadrian 0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6, 861300016Sadrian 0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68, 862300016Sadrian 0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52, 863300016Sadrian 0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050, 864300016Sadrian 0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6, 865300016Sadrian 0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68, 866300016Sadrian 0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52, 867300016Sadrian 0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050, 868300016Sadrian 0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246, 869300016Sadrian 0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C, 870300016Sadrian 0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61, 871300016Sadrian 0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D, 872300016Sadrian 0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246, 873300016Sadrian 0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C, 874300016Sadrian 0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61, 875300016Sadrian 0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D, 876300016Sadrian 0xFA58FA58, 0xF895043B, 0xFF4C09C0, 0xFBC6FFA8, 877300016Sadrian 0xFB84F384, 0x0798F6F9, 0x05760122, 0x058409F6, 878300016Sadrian 0x0B500000, 0x05B7F542, 0x08860432, 0x06DDFEE7, 879300016Sadrian 0xFB84F384, 0xF9D90664, 0xF7E8025C, 0x00FFF7BD, 880300016Sadrian 0x05A805A8, 0xF7BD00FF, 0x025CF7E8, 0x0664F9D9, 881300016Sadrian 0xF384FB84, 0xFEE706DD, 0x04320886, 0xF54205B7, 882300016Sadrian 0x00000B50, 0x09F60584, 0x01220576, 0xF6F90798, 883300016Sadrian 0xF384FB84, 0xFFA8FBC6, 0x09C0FF4C, 0x043BF895, 884300016Sadrian 0x02D402D4, 0x07DE0270, 0xFC96079C, 0xF90AFE94, 885300016Sadrian 0xFE00FF2C, 0x02D4065D, 0x092A0096, 0x0014FBB8, 886300016Sadrian 0xFD2CFD2C, 0x076AFB3C, 0x0096F752, 0xF991FD87, 887300016Sadrian 0xFB2C0200, 0xFEB8F960, 0x08E0FC96, 0x049802A8, 888300016Sadrian 0xFD2CFD2C, 0x02A80498, 0xFC9608E0, 0xF960FEB8, 889300016Sadrian 0x0200FB2C, 0xFD87F991, 0xF7520096, 0xFB3C076A, 890300016Sadrian 0xFD2CFD2C, 0xFBB80014, 0x0096092A, 0x065D02D4, 891300016Sadrian 0xFF2CFE00, 0xFE94F90A, 0x079CFC96, 0x027007DE, 892300016Sadrian 0x02D402D4, 0x027007DE, 0x079CFC96, 0xFE94F90A, 893300016Sadrian 0xFF2CFE00, 0x065D02D4, 0x0096092A, 0xFBB80014, 894300016Sadrian 0xFD2CFD2C, 0xFB3C076A, 0xF7520096, 0xFD87F991, 895300016Sadrian 0x0200FB2C, 0xF960FEB8, 0xFC9608E0, 0x02A80498, 896300016Sadrian 0xFD2CFD2C, 0x049802A8, 0x08E0FC96, 0xFEB8F960, 897300016Sadrian 0xFB2C0200, 0xF991FD87, 0x0096F752, 0x076AFB3C, 898300016Sadrian 0xFD2CFD2C, 0x0014FBB8, 0x092A0096, 0x02D4065D, 899300016Sadrian 0xFE00FF2C, 0xF90AFE94, 0xFC96079C, 0x07DE0270, 900300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 901300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 902300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 903300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 904300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 905300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 906300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 907300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 908300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 909300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 910300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 911300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 912300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 913300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 914300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 915300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 916300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 917300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 918300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 919300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 920300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 921300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 922300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 923300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 924300016Sadrian 0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D, 925300016Sadrian 0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF, 926300016Sadrian 0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8, 927300016Sadrian 0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7, 928300016Sadrian 0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3, 929300016Sadrian 0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841, 930300016Sadrian 0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608, 931300016Sadrian 0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759, 932300016Sadrian 0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D, 933300016Sadrian 0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF, 934300016Sadrian 0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8, 935300016Sadrian 0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7, 936300016Sadrian 0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3, 937300016Sadrian 0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841, 938300016Sadrian 0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608, 939300016Sadrian 0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759, 940300016Sadrian 0x061C061C, 0xFF30009D, 0xFFB21141, 0xFD87FB54, 941300016Sadrian 0xF65DFE59, 0x02EEF99E, 0x0166F03C, 0xFFF809B6, 942300016Sadrian 0x000008A4, 0x000AF42B, 0x00EFF577, 0xFA840BF2, 943300016Sadrian 0xFC02FF51, 0x08260F67, 0xFFF0036F, 0x0842F9C3, 944300016Sadrian 0x00000000, 0x063DF7BE, 0xFC910010, 0xF099F7DA, 945300016Sadrian 0x00AF03FE, 0xF40E057C, 0x0A89FF11, 0x0BD5FFF6, 946300016Sadrian 0xF75C0000, 0xF64A0008, 0x0FC4FE9A, 0x0662FD12, 947300016Sadrian 0x01A709A3, 0x04AC0279, 0xEEBF004E, 0xFF6300D0, 948300016Sadrian 0xF9E4F9E4, 0x00D0FF63, 0x004EEEBF, 0x027904AC, 949300016Sadrian 0x09A301A7, 0xFD120662, 0xFE9A0FC4, 0x0008F64A, 950300016Sadrian 0x0000F75C, 0xFFF60BD5, 0xFF110A89, 0x057CF40E, 951300016Sadrian 0x03FE00AF, 0xF7DAF099, 0x0010FC91, 0xF7BE063D, 952300016Sadrian 0x00000000, 0xF9C30842, 0x036FFFF0, 0x0F670826, 953300016Sadrian 0xFF51FC02, 0x0BF2FA84, 0xF57700EF, 0xF42B000A, 954300016Sadrian 0x08A40000, 0x09B6FFF8, 0xF03C0166, 0xF99E02EE, 955300016Sadrian 0xFE59F65D, 0xFB54FD87, 0x1141FFB2, 0x009DFF30, 956300016Sadrian 0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59, 957300016Sadrian 0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766, 958300016Sadrian 0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986, 959300016Sadrian 0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB, 960300016Sadrian 0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7, 961300016Sadrian 0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A, 962300016Sadrian 0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A, 963300016Sadrian 0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705, 964300016Sadrian 0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59, 965300016Sadrian 0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766, 966300016Sadrian 0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986, 967300016Sadrian 0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB, 968300016Sadrian 0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7, 969300016Sadrian 0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A, 970300016Sadrian 0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A, 971300016Sadrian 0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705, 972300016Sadrian 0xFA58FA58, 0xF8F0FE00, 0x0448073D, 0xFDC9FE46, 973300016Sadrian 0xF9910258, 0x089D0407, 0xFD5CF71A, 0x02AFFDE0, 974300016Sadrian 0x083E0496, 0xFF5A0740, 0xFF7AFD97, 0x00FE01F1, 975300016Sadrian 0x0009082E, 0xFA94FF75, 0xFECDF8EA, 0xFFB0F693, 976300016Sadrian 0xFD2CFA58, 0x0433FF16, 0xFBA405DD, 0xFA610341, 977300016Sadrian 0x06A606CB, 0x0039FD2D, 0x0677FA97, 0x01FA05E0, 978300016Sadrian 0xF896003E, 0x075A068B, 0x012CFC3E, 0xFA23F98D, 979300016Sadrian 0xFC7CFD43, 0xFF90FC0D, 0x01C10982, 0x00C601D6, 980300016Sadrian 0xFD2CFD2C, 0x01D600C6, 0x098201C1, 0xFC0DFF90, 981300016Sadrian 0xFD43FC7C, 0xF98DFA23, 0xFC3E012C, 0x068B075A, 982300016Sadrian 0x003EF896, 0x05E001FA, 0xFA970677, 0xFD2D0039, 983300016Sadrian 0x06CB06A6, 0x0341FA61, 0x05DDFBA4, 0xFF160433, 984300016Sadrian 0xFA58FD2C, 0xF693FFB0, 0xF8EAFECD, 0xFF75FA94, 985300016Sadrian 0x082E0009, 0x01F100FE, 0xFD97FF7A, 0x0740FF5A, 986300016Sadrian 0x0496083E, 0xFDE002AF, 0xF71AFD5C, 0x0407089D, 987300016Sadrian 0x0258F991, 0xFE46FDC9, 0x073D0448, 0xFE00F8F0, 988300016Sadrian 0xFD2CFD2C, 0xFCE00500, 0xFC09FDDC, 0xFE680157, 989300016Sadrian 0x04C70571, 0xFC3AFF21, 0xFCD70228, 0x056D0277, 990300016Sadrian 0x0200FE00, 0x0022F927, 0xFE3C032B, 0xFC44FF3C, 991300016Sadrian 0x03E9FBDB, 0x04570313, 0x04C9FF5C, 0x000D03B8, 992300016Sadrian 0xFA580000, 0xFBE900D2, 0xF9D0FE0B, 0x0125FDF9, 993300016Sadrian 0x042501BF, 0x0328FA2B, 0xFFA902F0, 0xFA250157, 994300016Sadrian 0x0200FE00, 0x03740438, 0xFF0405FD, 0x030CFE52, 995300016Sadrian 0x0037FB39, 0xFF6904C5, 0x04F8FD23, 0xFD31FC1B, 996300016Sadrian 0xFD2CFD2C, 0xFC1BFD31, 0xFD2304F8, 0x04C5FF69, 997300016Sadrian 0xFB390037, 0xFE52030C, 0x05FDFF04, 0x04380374, 998300016Sadrian 0xFE000200, 0x0157FA25, 0x02F0FFA9, 0xFA2B0328, 999300016Sadrian 0x01BF0425, 0xFDF90125, 0xFE0BF9D0, 0x00D2FBE9, 1000300016Sadrian 0x0000FA58, 0x03B8000D, 0xFF5C04C9, 0x03130457, 1001300016Sadrian 0xFBDB03E9, 0xFF3CFC44, 0x032BFE3C, 0xF9270022, 1002300016Sadrian 0xFE000200, 0x0277056D, 0x0228FCD7, 0xFF21FC3A, 1003300016Sadrian 0x057104C7, 0x0157FE68, 0xFDDCFC09, 0x0500FCE0, 1004300016Sadrian 0xFD2CFD2C, 0x0500FCE0, 0xFDDCFC09, 0x0157FE68, 1005300016Sadrian 0x057104C7, 0xFF21FC3A, 0x0228FCD7, 0x0277056D, 1006300016Sadrian 0xFE000200, 0xF9270022, 0x032BFE3C, 0xFF3CFC44, 1007300016Sadrian 0xFBDB03E9, 0x03130457, 0xFF5C04C9, 0x03B8000D, 1008300016Sadrian 0x0000FA58, 0x00D2FBE9, 0xFE0BF9D0, 0xFDF90125, 1009300016Sadrian 0x01BF0425, 0xFA2B0328, 0x02F0FFA9, 0x0157FA25, 1010300016Sadrian 0xFE000200, 0x04380374, 0x05FDFF04, 0xFE52030C, 1011300016Sadrian 0xFB390037, 0x04C5FF69, 0xFD2304F8, 0xFC1BFD31, 1012300016Sadrian 0xFD2CFD2C, 0xFD31FC1B, 0x04F8FD23, 0xFF6904C5, 1013300016Sadrian 0x0037FB39, 0x030CFE52, 0xFF0405FD, 0x03740438, 1014300016Sadrian 0x0200FE00, 0xFA250157, 0xFFA902F0, 0x0328FA2B, 1015300016Sadrian 0x042501BF, 0x0125FDF9, 0xF9D0FE0B, 0xFBE900D2, 1016300016Sadrian 0xFA580000, 0x000D03B8, 0x04C9FF5C, 0x04570313, 1017300016Sadrian 0x03E9FBDB, 0xFC44FF3C, 0xFE3C032B, 0x0022F927, 1018300016Sadrian 0x0200FE00, 0x056D0277, 0xFCD70228, 0xFC3AFF21, 1019300016Sadrian 0x04C70571, 0xFE680157, 0xFC09FDDC, 0xFCE00500, 1020300016Sadrian 0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E, 1021300016Sadrian 0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C, 1022300016Sadrian 0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926, 1023300016Sadrian 0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942, 1024300016Sadrian 0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382, 1025300016Sadrian 0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4, 1026300016Sadrian 0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA, 1027300016Sadrian 0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE, 1028300016Sadrian 0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E, 1029300016Sadrian 0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C, 1030300016Sadrian 0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926, 1031300016Sadrian 0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942, 1032300016Sadrian 0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382, 1033300016Sadrian 0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4, 1034300016Sadrian 0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA, 1035300016Sadrian 0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE, 1036300016Sadrian}; 1037300016Sadrian 1038300016Sadrianstatic const uint32_t bwn_ntab_tmap[] = { 1039300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1040300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1041300016Sadrian 0xF1111110, 0x11111111, 0x11F11111, 0x00000111, 1042300016Sadrian 0x11000000, 0x1111F111, 0x11111111, 0x111111F1, 1043300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x000AA888, 1044300016Sadrian 0x88880000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1045300016Sadrian 0xA1111110, 0x11111111, 0x11C11111, 0x00000111, 1046300016Sadrian 0x11000000, 0x1111A111, 0x11111111, 0x111111A1, 1047300016Sadrian 0xA2222220, 0x22222222, 0x22C22222, 0x00000222, 1048300016Sadrian 0x22000000, 0x2222A222, 0x22222222, 0x222222A2, 1049300016Sadrian 0xF1111110, 0x11111111, 0x11F11111, 0x00011111, 1050300016Sadrian 0x11110000, 0x1111F111, 0x11111111, 0x111111F1, 1051300016Sadrian 0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00088AAA, 1052300016Sadrian 0xAAAA0000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A, 1053300016Sadrian 0xAAA8AAA0, 0x8AAA8AAA, 0xAA8A8A8A, 0x000AAA88, 1054300016Sadrian 0x8AAA0000, 0xAAA8A888, 0x8AA88A8A, 0x8A88A888, 1055300016Sadrian 0x08080A00, 0x0A08080A, 0x080A0A08, 0x00080808, 1056300016Sadrian 0x080A0000, 0x080A0808, 0x080A0808, 0x0A0A0A08, 1057300016Sadrian 0xA0A0A0A0, 0x80A0A080, 0x8080A0A0, 0x00008080, 1058300016Sadrian 0x80A00000, 0x80A080A0, 0xA080A0A0, 0x8080A0A0, 1059300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1060300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1061300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1062300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1063300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1064300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1065300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1066300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1067300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1068300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1069300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1070300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1071300016Sadrian 0x99999000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9, 1072300016Sadrian 0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999, 1073300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1074300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888, 1075300016Sadrian 0x22000000, 0x2222B222, 0x22222222, 0x222222B2, 1076300016Sadrian 0xB2222220, 0x22222222, 0x22D22222, 0x00000222, 1077300016Sadrian 0x11000000, 0x1111A111, 0x11111111, 0x111111A1, 1078300016Sadrian 0xA1111110, 0x11111111, 0x11C11111, 0x00000111, 1079300016Sadrian 0x33000000, 0x3333B333, 0x33333333, 0x333333B3, 1080300016Sadrian 0xB3333330, 0x33333333, 0x33D33333, 0x00000333, 1081300016Sadrian 0x22000000, 0x2222A222, 0x22222222, 0x222222A2, 1082300016Sadrian 0xA2222220, 0x22222222, 0x22C22222, 0x00000222, 1083300016Sadrian 0x99B99B00, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9, 1084300016Sadrian 0x9B99BB99, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999, 1085300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1086300016Sadrian 0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888, 1087300016Sadrian 0x22222200, 0x2222F222, 0x22222222, 0x222222F2, 1088300016Sadrian 0x22222222, 0x22222222, 0x22F22222, 0x00000222, 1089300016Sadrian 0x11000000, 0x1111F111, 0x11111111, 0x11111111, 1090300016Sadrian 0xF1111111, 0x11111111, 0x11F11111, 0x01111111, 1091300016Sadrian 0xBB9BB900, 0xB9B9BB99, 0xB99BBBBB, 0xBBBB9B9B, 1092300016Sadrian 0xB9BB99BB, 0xB99999B9, 0xB9B9B99B, 0x00000BBB, 1093300016Sadrian 0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A, 1094300016Sadrian 0xA8AA88AA, 0xA88888A8, 0xA8A8A88A, 0x0A888AAA, 1095300016Sadrian 0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A, 1096300016Sadrian 0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00000AAA, 1097300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1098300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1099300016Sadrian 0xBBBBBB00, 0x999BBBBB, 0x9BB99B9B, 0xB9B9B9BB, 1100300016Sadrian 0xB9B99BBB, 0xB9B9B9BB, 0xB9BB9B99, 0x00000999, 1101300016Sadrian 0x8A000000, 0xAA88A888, 0xA88888AA, 0xA88A8A88, 1102300016Sadrian 0xA88AA88A, 0x88A8AAAA, 0xA8AA8AAA, 0x0888A88A, 1103300016Sadrian 0x0B0B0B00, 0x090B0B0B, 0x0B090B0B, 0x0909090B, 1104300016Sadrian 0x09090B0B, 0x09090B0B, 0x09090B09, 0x00000909, 1105300016Sadrian 0x0A000000, 0x0A080808, 0x080A080A, 0x080A0A08, 1106300016Sadrian 0x080A080A, 0x0808080A, 0x0A0A0A08, 0x0808080A, 1107300016Sadrian 0xB0B0B000, 0x9090B0B0, 0x90B09090, 0xB0B0B090, 1108300016Sadrian 0xB0B090B0, 0x90B0B0B0, 0xB0B09090, 0x00000090, 1109300016Sadrian 0x80000000, 0xA080A080, 0xA08080A0, 0xA0808080, 1110300016Sadrian 0xA080A080, 0x80A0A0A0, 0xA0A080A0, 0x00A0A0A0, 1111300016Sadrian 0x22000000, 0x2222F222, 0x22222222, 0x222222F2, 1112300016Sadrian 0xF2222220, 0x22222222, 0x22F22222, 0x00000222, 1113300016Sadrian 0x11000000, 0x1111F111, 0x11111111, 0x111111F1, 1114300016Sadrian 0xF1111110, 0x11111111, 0x11F11111, 0x00000111, 1115300016Sadrian 0x33000000, 0x3333F333, 0x33333333, 0x333333F3, 1116300016Sadrian 0xF3333330, 0x33333333, 0x33F33333, 0x00000333, 1117300016Sadrian 0x22000000, 0x2222F222, 0x22222222, 0x222222F2, 1118300016Sadrian 0xF2222220, 0x22222222, 0x22F22222, 0x00000222, 1119300016Sadrian 0x99000000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9, 1120300016Sadrian 0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999, 1121300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1122300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1123300016Sadrian 0x88888000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1124300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1125300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1126300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888, 1127300016Sadrian 0x88A88A00, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1128300016Sadrian 0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1129300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1130300016Sadrian 0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888, 1131300016Sadrian 0x11000000, 0x1111A111, 0x11111111, 0x111111A1, 1132300016Sadrian 0xA1111110, 0x11111111, 0x11C11111, 0x00000111, 1133300016Sadrian 0x11000000, 0x1111A111, 0x11111111, 0x111111A1, 1134300016Sadrian 0xA1111110, 0x11111111, 0x11C11111, 0x00000111, 1135300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1136300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1137300016Sadrian 0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8, 1138300016Sadrian 0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888, 1139300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1140300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1141300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1142300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1143300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1144300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1145300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1146300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1147300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1148300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1149300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1150300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1151300016Sadrian}; 1152300016Sadrian 1153300016Sadrian/* static tables, PHY revision >= 3 */ 1154300016Sadrianstatic const uint32_t bwn_ntab_framestruct_r3[] = { 1155300016Sadrian 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, 1156300016Sadrian 0x09804506, 0x00100030, 0x09804507, 0x00100030, 1157300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1158300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1159300016Sadrian 0x08004a0c, 0x00100004, 0x01000a0d, 0x00100024, 1160300016Sadrian 0x0980450e, 0x00100034, 0x0980450f, 0x00100034, 1161300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1162300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1163300016Sadrian 0x00000a04, 0x00100000, 0x11008a05, 0x00100020, 1164300016Sadrian 0x1980c506, 0x00100030, 0x21810506, 0x00100030, 1165300016Sadrian 0x21810506, 0x00100030, 0x01800504, 0x00100030, 1166300016Sadrian 0x11808505, 0x00100030, 0x29814507, 0x01100030, 1167300016Sadrian 0x00000a04, 0x00100000, 0x11008a05, 0x00100020, 1168300016Sadrian 0x21810506, 0x00100030, 0x21810506, 0x00100030, 1169300016Sadrian 0x29814507, 0x01100030, 0x00000000, 0x00000000, 1170300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1171300016Sadrian 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, 1172300016Sadrian 0x1980c50e, 0x00100038, 0x2181050e, 0x00100038, 1173300016Sadrian 0x2181050e, 0x00100038, 0x0180050c, 0x00100038, 1174300016Sadrian 0x1180850d, 0x00100038, 0x2981450f, 0x01100038, 1175300016Sadrian 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, 1176300016Sadrian 0x2181050e, 0x00100038, 0x2181050e, 0x00100038, 1177300016Sadrian 0x2981450f, 0x01100038, 0x00000000, 0x00000000, 1178300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1179300016Sadrian 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, 1180300016Sadrian 0x1980c506, 0x00100030, 0x1980c506, 0x00100030, 1181300016Sadrian 0x11808504, 0x00100030, 0x3981ca05, 0x00100030, 1182300016Sadrian 0x29814507, 0x01100030, 0x00000000, 0x00000000, 1183300016Sadrian 0x10008a04, 0x00100000, 0x3981ca05, 0x00100030, 1184300016Sadrian 0x1980c506, 0x00100030, 0x29814507, 0x01100030, 1185300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1186300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1187300016Sadrian 0x08004a0c, 0x00100008, 0x01000a0d, 0x00100028, 1188300016Sadrian 0x1980c50e, 0x00100038, 0x1980c50e, 0x00100038, 1189300016Sadrian 0x1180850c, 0x00100038, 0x3981ca0d, 0x00100038, 1190300016Sadrian 0x2981450f, 0x01100038, 0x00000000, 0x00000000, 1191300016Sadrian 0x10008a0c, 0x00100008, 0x3981ca0d, 0x00100038, 1192300016Sadrian 0x1980c50e, 0x00100038, 0x2981450f, 0x01100038, 1193300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1194300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1195300016Sadrian 0x40021404, 0x00100000, 0x02001405, 0x00100040, 1196300016Sadrian 0x0b004a06, 0x01900060, 0x13008a06, 0x01900060, 1197300016Sadrian 0x13008a06, 0x01900060, 0x43020a04, 0x00100060, 1198300016Sadrian 0x1b00ca05, 0x00100060, 0x23010a07, 0x01500060, 1199300016Sadrian 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, 1200300016Sadrian 0x13008a06, 0x01900060, 0x13008a06, 0x01900060, 1201300016Sadrian 0x23010a07, 0x01500060, 0x00000000, 0x00000000, 1202300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1203300016Sadrian 0x4002140c, 0x00100010, 0x0200140d, 0x00100050, 1204300016Sadrian 0x0b004a0e, 0x01900070, 0x13008a0e, 0x01900070, 1205300016Sadrian 0x13008a0e, 0x01900070, 0x43020a0c, 0x00100070, 1206300016Sadrian 0x1b00ca0d, 0x00100070, 0x23010a0f, 0x01500070, 1207300016Sadrian 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, 1208300016Sadrian 0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070, 1209300016Sadrian 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, 1210300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1211300016Sadrian 0x50029404, 0x00100000, 0x32019405, 0x00100040, 1212300016Sadrian 0x0b004a06, 0x01900060, 0x0b004a06, 0x01900060, 1213300016Sadrian 0x5b02ca04, 0x00100060, 0x3b01d405, 0x00100060, 1214300016Sadrian 0x23010a07, 0x01500060, 0x00000000, 0x00000000, 1215300016Sadrian 0x5802d404, 0x00100000, 0x3b01d405, 0x00100060, 1216300016Sadrian 0x0b004a06, 0x01900060, 0x23010a07, 0x01500060, 1217300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1218300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1219300016Sadrian 0x5002940c, 0x00100010, 0x3201940d, 0x00100050, 1220300016Sadrian 0x0b004a0e, 0x01900070, 0x0b004a0e, 0x01900070, 1221300016Sadrian 0x5b02ca0c, 0x00100070, 0x3b01d40d, 0x00100070, 1222300016Sadrian 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, 1223300016Sadrian 0x5802d40c, 0x00100010, 0x3b01d40d, 0x00100070, 1224300016Sadrian 0x0b004a0e, 0x01900070, 0x23010a0f, 0x01500070, 1225300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1226300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1227300016Sadrian 0x40021404, 0x000f4800, 0x62031405, 0x00100040, 1228300016Sadrian 0x53028a06, 0x01900060, 0x53028a07, 0x01900060, 1229300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1230300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1231300016Sadrian 0x4002140c, 0x000f4808, 0x6203140d, 0x00100048, 1232300016Sadrian 0x53028a0e, 0x01900068, 0x53028a0f, 0x01900068, 1233300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1234300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1235300016Sadrian 0x00000a0c, 0x00100004, 0x11008a0d, 0x00100024, 1236300016Sadrian 0x1980c50e, 0x00100034, 0x2181050e, 0x00100034, 1237300016Sadrian 0x2181050e, 0x00100034, 0x0180050c, 0x00100038, 1238300016Sadrian 0x1180850d, 0x00100038, 0x1181850d, 0x00100038, 1239300016Sadrian 0x2981450f, 0x01100038, 0x00000000, 0x00000000, 1240300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1241300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1242300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1243300016Sadrian 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, 1244300016Sadrian 0x2181050e, 0x00100038, 0x2181050e, 0x00100038, 1245300016Sadrian 0x1181850d, 0x00100038, 0x2981450f, 0x01100038, 1246300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1247300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1248300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1249300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1250300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1251300016Sadrian 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, 1252300016Sadrian 0x0180c506, 0x00100030, 0x0180c506, 0x00100030, 1253300016Sadrian 0x2180c50c, 0x00100030, 0x49820a0d, 0x0016a130, 1254300016Sadrian 0x41824a0d, 0x0016a130, 0x2981450f, 0x01100030, 1255300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1256300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1257300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1258300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1259300016Sadrian 0x2000ca0c, 0x00100000, 0x49820a0d, 0x0016a130, 1260300016Sadrian 0x1980c50e, 0x00100030, 0x41824a0d, 0x0016a130, 1261300016Sadrian 0x2981450f, 0x01100030, 0x00000000, 0x00000000, 1262300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1263300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1264300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1265300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1266300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1267300016Sadrian 0x4002140c, 0x00100008, 0x0200140d, 0x00100048, 1268300016Sadrian 0x0b004a0e, 0x01900068, 0x13008a0e, 0x01900068, 1269300016Sadrian 0x13008a0e, 0x01900068, 0x43020a0c, 0x00100070, 1270300016Sadrian 0x1b00ca0d, 0x00100070, 0x1b014a0d, 0x00100070, 1271300016Sadrian 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, 1272300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1273300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1274300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1275300016Sadrian 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, 1276300016Sadrian 0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070, 1277300016Sadrian 0x1b014a0d, 0x00100070, 0x23010a0f, 0x01500070, 1278300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1279300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1280300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1281300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1282300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1283300016Sadrian 0x50029404, 0x00100000, 0x32019405, 0x00100040, 1284300016Sadrian 0x03004a06, 0x01900060, 0x03004a06, 0x01900060, 1285300016Sadrian 0x6b030a0c, 0x00100060, 0x4b02140d, 0x0016a160, 1286300016Sadrian 0x4302540d, 0x0016a160, 0x23010a0f, 0x01500060, 1287300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1288300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1289300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1290300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1291300016Sadrian 0x6b03140c, 0x00100060, 0x4b02140d, 0x0016a160, 1292300016Sadrian 0x0b004a0e, 0x01900060, 0x4302540d, 0x0016a160, 1293300016Sadrian 0x23010a0f, 0x01500060, 0x00000000, 0x00000000, 1294300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1295300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1296300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1297300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1298300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1299300016Sadrian 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, 1300300016Sadrian 0x53028a06, 0x01900060, 0x5b02ca06, 0x01900060, 1301300016Sadrian 0x5b02ca06, 0x01900060, 0x43020a04, 0x00100060, 1302300016Sadrian 0x1b00ca05, 0x00100060, 0x53028a07, 0x0190c060, 1303300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1304300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1305300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1306300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1307300016Sadrian 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, 1308300016Sadrian 0x53028a0e, 0x01900070, 0x5b02ca0e, 0x01900070, 1309300016Sadrian 0x5b02ca0e, 0x01900070, 0x43020a0c, 0x00100070, 1310300016Sadrian 0x1b00ca0d, 0x00100070, 0x53028a0f, 0x0190c070, 1311300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1312300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1313300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1314300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1315300016Sadrian 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, 1316300016Sadrian 0x5b02ca06, 0x01900060, 0x5b02ca06, 0x01900060, 1317300016Sadrian 0x53028a07, 0x0190c060, 0x00000000, 0x00000000, 1318300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1319300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1320300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1321300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1322300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1323300016Sadrian 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, 1324300016Sadrian 0x5b02ca0e, 0x01900070, 0x5b02ca0e, 0x01900070, 1325300016Sadrian 0x53028a0f, 0x0190c070, 0x00000000, 0x00000000, 1326300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1327300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1328300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1329300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1330300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1331300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1332300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1333300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1334300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1335300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1336300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1337300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1338300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1339300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1340300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1341300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1342300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1343300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1344300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1345300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1346300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1347300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1348300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1349300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1350300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1351300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1352300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1353300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1354300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1355300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1356300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1357300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1358300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1359300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1360300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1361300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1362300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1363300016Sadrian}; 1364300016Sadrian 1365300016Sadrianstatic const uint16_t bwn_ntab_pilot_r3[] = { 1366300016Sadrian 0xff08, 0xff08, 0xff08, 0xff08, 0xff08, 0xff08, 1367300016Sadrian 0xff08, 0xff08, 0x80d5, 0x80d5, 0x80d5, 0x80d5, 1368300016Sadrian 0x80d5, 0x80d5, 0x80d5, 0x80d5, 0xff0a, 0xff82, 1369300016Sadrian 0xffa0, 0xff28, 0xffff, 0xffff, 0xffff, 0xffff, 1370300016Sadrian 0xff82, 0xffa0, 0xff28, 0xff0a, 0xffff, 0xffff, 1371300016Sadrian 0xffff, 0xffff, 0xf83f, 0xfa1f, 0xfa97, 0xfab5, 1372300016Sadrian 0xf2bd, 0xf0bf, 0xffff, 0xffff, 0xf017, 0xf815, 1373300016Sadrian 0xf215, 0xf095, 0xf035, 0xf01d, 0xffff, 0xffff, 1374300016Sadrian 0xff08, 0xff02, 0xff80, 0xff20, 0xff08, 0xff02, 1375300016Sadrian 0xff80, 0xff20, 0xf01f, 0xf817, 0xfa15, 0xf295, 1376300016Sadrian 0xf0b5, 0xf03d, 0xffff, 0xffff, 0xf82a, 0xfa0a, 1377300016Sadrian 0xfa82, 0xfaa0, 0xf2a8, 0xf0aa, 0xffff, 0xffff, 1378300016Sadrian 0xf002, 0xf800, 0xf200, 0xf080, 0xf020, 0xf008, 1379300016Sadrian 0xffff, 0xffff, 0xf00a, 0xf802, 0xfa00, 0xf280, 1380300016Sadrian 0xf0a0, 0xf028, 0xffff, 0xffff, 1381300016Sadrian}; 1382300016Sadrian 1383300016Sadrianstatic const uint32_t bwn_ntab_tmap_r3[] = { 1384300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1385300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1386300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, 1387300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, 1388300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888, 1389300016Sadrian 0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1390300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 1391300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 1392300016Sadrian 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, 1393300016Sadrian 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, 1394300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00011111, 1395300016Sadrian 0x11110000, 0x1111f111, 0x11111111, 0x111111f1, 1396300016Sadrian 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00088aaa, 1397300016Sadrian 0xaaaa0000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 1398300016Sadrian 0xaaa8aaa0, 0x8aaa8aaa, 0xaa8a8a8a, 0x000aaa88, 1399300016Sadrian 0x8aaa0000, 0xaaa8a888, 0x8aa88a8a, 0x8a88a888, 1400300016Sadrian 0x08080a00, 0x0a08080a, 0x080a0a08, 0x00080808, 1401300016Sadrian 0x080a0000, 0x080a0808, 0x080a0808, 0x0a0a0a08, 1402300016Sadrian 0xa0a0a0a0, 0x80a0a080, 0x8080a0a0, 0x00008080, 1403300016Sadrian 0x80a00000, 0x80a080a0, 0xa080a0a0, 0x8080a0a0, 1404300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1405300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1406300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1407300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1408300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1409300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1410300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1411300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1412300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1413300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1414300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1415300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1416300016Sadrian 0x99999000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 1417300016Sadrian 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 1418300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1419300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, 1420300016Sadrian 0x22000000, 0x2222b222, 0x22222222, 0x222222b2, 1421300016Sadrian 0xb2222220, 0x22222222, 0x22d22222, 0x00000222, 1422300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 1423300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 1424300016Sadrian 0x33000000, 0x3333b333, 0x33333333, 0x333333b3, 1425300016Sadrian 0xb3333330, 0x33333333, 0x33d33333, 0x00000333, 1426300016Sadrian 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, 1427300016Sadrian 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, 1428300016Sadrian 0x99b99b00, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 1429300016Sadrian 0x9b99bb99, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 1430300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1431300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, 1432300016Sadrian 0x22222200, 0x2222f222, 0x22222222, 0x222222f2, 1433300016Sadrian 0x22222222, 0x22222222, 0x22f22222, 0x00000222, 1434300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x11111111, 1435300016Sadrian 0xf1111111, 0x11111111, 0x11f11111, 0x01111111, 1436300016Sadrian 0xbb9bb900, 0xb9b9bb99, 0xb99bbbbb, 0xbbbb9b9b, 1437300016Sadrian 0xb9bb99bb, 0xb99999b9, 0xb9b9b99b, 0x00000bbb, 1438300016Sadrian 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 1439300016Sadrian 0xa8aa88aa, 0xa88888a8, 0xa8a8a88a, 0x0a888aaa, 1440300016Sadrian 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 1441300016Sadrian 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00000aaa, 1442300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1443300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1444300016Sadrian 0xbbbbbb00, 0x999bbbbb, 0x9bb99b9b, 0xb9b9b9bb, 1445300016Sadrian 0xb9b99bbb, 0xb9b9b9bb, 0xb9bb9b99, 0x00000999, 1446300016Sadrian 0x8a000000, 0xaa88a888, 0xa88888aa, 0xa88a8a88, 1447300016Sadrian 0xa88aa88a, 0x88a8aaaa, 0xa8aa8aaa, 0x0888a88a, 1448300016Sadrian 0x0b0b0b00, 0x090b0b0b, 0x0b090b0b, 0x0909090b, 1449300016Sadrian 0x09090b0b, 0x09090b0b, 0x09090b09, 0x00000909, 1450300016Sadrian 0x0a000000, 0x0a080808, 0x080a080a, 0x080a0a08, 1451300016Sadrian 0x080a080a, 0x0808080a, 0x0a0a0a08, 0x0808080a, 1452300016Sadrian 0xb0b0b000, 0x9090b0b0, 0x90b09090, 0xb0b0b090, 1453300016Sadrian 0xb0b090b0, 0x90b0b0b0, 0xb0b09090, 0x00000090, 1454300016Sadrian 0x80000000, 0xa080a080, 0xa08080a0, 0xa0808080, 1455300016Sadrian 0xa080a080, 0x80a0a0a0, 0xa0a080a0, 0x00a0a0a0, 1456300016Sadrian 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, 1457300016Sadrian 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, 1458300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, 1459300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, 1460300016Sadrian 0x33000000, 0x3333f333, 0x33333333, 0x333333f3, 1461300016Sadrian 0xf3333330, 0x33333333, 0x33f33333, 0x00000333, 1462300016Sadrian 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, 1463300016Sadrian 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, 1464300016Sadrian 0x99000000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 1465300016Sadrian 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 1466300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1467300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1468300016Sadrian 0x88888000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1469300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1470300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1471300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, 1472300016Sadrian 0x88a88a00, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1473300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1474300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1475300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, 1476300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 1477300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 1478300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 1479300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 1480300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1481300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1482300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 1483300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 1484300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1485300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1486300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1487300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1488300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1489300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1490300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1491300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1492300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1493300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1494300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1495300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1496300016Sadrian}; 1497300016Sadrian 1498300016Sadrianstatic const uint32_t bwn_ntab_intlevel_r3[] = { 1499300016Sadrian 0x00802070, 0x0671188d, 0x0a60192c, 0x0a300e46, 1500300016Sadrian 0x00c1188d, 0x080024d2, 0x00000070, 1501300016Sadrian}; 1502300016Sadrian 1503300016Sadrianstatic const uint32_t bwn_ntab_tdtrn_r3[] = { 1504300016Sadrian 0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6, 1505300016Sadrian 0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68, 1506300016Sadrian 0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52, 1507300016Sadrian 0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050, 1508300016Sadrian 0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6, 1509300016Sadrian 0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68, 1510300016Sadrian 0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52, 1511300016Sadrian 0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050, 1512300016Sadrian 0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246, 1513300016Sadrian 0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c, 1514300016Sadrian 0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61, 1515300016Sadrian 0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d, 1516300016Sadrian 0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246, 1517300016Sadrian 0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c, 1518300016Sadrian 0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61, 1519300016Sadrian 0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d, 1520300016Sadrian 0xfa58fa58, 0xf895043b, 0xff4c09c0, 0xfbc6ffa8, 1521300016Sadrian 0xfb84f384, 0x0798f6f9, 0x05760122, 0x058409f6, 1522300016Sadrian 0x0b500000, 0x05b7f542, 0x08860432, 0x06ddfee7, 1523300016Sadrian 0xfb84f384, 0xf9d90664, 0xf7e8025c, 0x00fff7bd, 1524300016Sadrian 0x05a805a8, 0xf7bd00ff, 0x025cf7e8, 0x0664f9d9, 1525300016Sadrian 0xf384fb84, 0xfee706dd, 0x04320886, 0xf54205b7, 1526300016Sadrian 0x00000b50, 0x09f60584, 0x01220576, 0xf6f90798, 1527300016Sadrian 0xf384fb84, 0xffa8fbc6, 0x09c0ff4c, 0x043bf895, 1528300016Sadrian 0x02d402d4, 0x07de0270, 0xfc96079c, 0xf90afe94, 1529300016Sadrian 0xfe00ff2c, 0x02d4065d, 0x092a0096, 0x0014fbb8, 1530300016Sadrian 0xfd2cfd2c, 0x076afb3c, 0x0096f752, 0xf991fd87, 1531300016Sadrian 0xfb2c0200, 0xfeb8f960, 0x08e0fc96, 0x049802a8, 1532300016Sadrian 0xfd2cfd2c, 0x02a80498, 0xfc9608e0, 0xf960feb8, 1533300016Sadrian 0x0200fb2c, 0xfd87f991, 0xf7520096, 0xfb3c076a, 1534300016Sadrian 0xfd2cfd2c, 0xfbb80014, 0x0096092a, 0x065d02d4, 1535300016Sadrian 0xff2cfe00, 0xfe94f90a, 0x079cfc96, 0x027007de, 1536300016Sadrian 0x02d402d4, 0x027007de, 0x079cfc96, 0xfe94f90a, 1537300016Sadrian 0xff2cfe00, 0x065d02d4, 0x0096092a, 0xfbb80014, 1538300016Sadrian 0xfd2cfd2c, 0xfb3c076a, 0xf7520096, 0xfd87f991, 1539300016Sadrian 0x0200fb2c, 0xf960feb8, 0xfc9608e0, 0x02a80498, 1540300016Sadrian 0xfd2cfd2c, 0x049802a8, 0x08e0fc96, 0xfeb8f960, 1541300016Sadrian 0xfb2c0200, 0xf991fd87, 0x0096f752, 0x076afb3c, 1542300016Sadrian 0xfd2cfd2c, 0x0014fbb8, 0x092a0096, 0x02d4065d, 1543300016Sadrian 0xfe00ff2c, 0xf90afe94, 0xfc96079c, 0x07de0270, 1544300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1545300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1546300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1547300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1548300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1549300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1550300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1551300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1552300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1553300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1554300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1555300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1556300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1557300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1558300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1559300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1560300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1561300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1562300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1563300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1564300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1565300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1566300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1567300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1568300016Sadrian 0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d, 1569300016Sadrian 0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf, 1570300016Sadrian 0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8, 1571300016Sadrian 0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7, 1572300016Sadrian 0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3, 1573300016Sadrian 0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841, 1574300016Sadrian 0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608, 1575300016Sadrian 0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759, 1576300016Sadrian 0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d, 1577300016Sadrian 0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf, 1578300016Sadrian 0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8, 1579300016Sadrian 0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7, 1580300016Sadrian 0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3, 1581300016Sadrian 0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841, 1582300016Sadrian 0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608, 1583300016Sadrian 0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759, 1584300016Sadrian 0x061c061c, 0xff30009d, 0xffb21141, 0xfd87fb54, 1585300016Sadrian 0xf65dfe59, 0x02eef99e, 0x0166f03c, 0xfff809b6, 1586300016Sadrian 0x000008a4, 0x000af42b, 0x00eff577, 0xfa840bf2, 1587300016Sadrian 0xfc02ff51, 0x08260f67, 0xfff0036f, 0x0842f9c3, 1588300016Sadrian 0x00000000, 0x063df7be, 0xfc910010, 0xf099f7da, 1589300016Sadrian 0x00af03fe, 0xf40e057c, 0x0a89ff11, 0x0bd5fff6, 1590300016Sadrian 0xf75c0000, 0xf64a0008, 0x0fc4fe9a, 0x0662fd12, 1591300016Sadrian 0x01a709a3, 0x04ac0279, 0xeebf004e, 0xff6300d0, 1592300016Sadrian 0xf9e4f9e4, 0x00d0ff63, 0x004eeebf, 0x027904ac, 1593300016Sadrian 0x09a301a7, 0xfd120662, 0xfe9a0fc4, 0x0008f64a, 1594300016Sadrian 0x0000f75c, 0xfff60bd5, 0xff110a89, 0x057cf40e, 1595300016Sadrian 0x03fe00af, 0xf7daf099, 0x0010fc91, 0xf7be063d, 1596300016Sadrian 0x00000000, 0xf9c30842, 0x036ffff0, 0x0f670826, 1597300016Sadrian 0xff51fc02, 0x0bf2fa84, 0xf57700ef, 0xf42b000a, 1598300016Sadrian 0x08a40000, 0x09b6fff8, 0xf03c0166, 0xf99e02ee, 1599300016Sadrian 0xfe59f65d, 0xfb54fd87, 0x1141ffb2, 0x009dff30, 1600300016Sadrian 0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59, 1601300016Sadrian 0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766, 1602300016Sadrian 0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986, 1603300016Sadrian 0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb, 1604300016Sadrian 0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7, 1605300016Sadrian 0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a, 1606300016Sadrian 0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a, 1607300016Sadrian 0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705, 1608300016Sadrian 0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59, 1609300016Sadrian 0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766, 1610300016Sadrian 0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986, 1611300016Sadrian 0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb, 1612300016Sadrian 0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7, 1613300016Sadrian 0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a, 1614300016Sadrian 0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a, 1615300016Sadrian 0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705, 1616300016Sadrian 0xfa58fa58, 0xf8f0fe00, 0x0448073d, 0xfdc9fe46, 1617300016Sadrian 0xf9910258, 0x089d0407, 0xfd5cf71a, 0x02affde0, 1618300016Sadrian 0x083e0496, 0xff5a0740, 0xff7afd97, 0x00fe01f1, 1619300016Sadrian 0x0009082e, 0xfa94ff75, 0xfecdf8ea, 0xffb0f693, 1620300016Sadrian 0xfd2cfa58, 0x0433ff16, 0xfba405dd, 0xfa610341, 1621300016Sadrian 0x06a606cb, 0x0039fd2d, 0x0677fa97, 0x01fa05e0, 1622300016Sadrian 0xf896003e, 0x075a068b, 0x012cfc3e, 0xfa23f98d, 1623300016Sadrian 0xfc7cfd43, 0xff90fc0d, 0x01c10982, 0x00c601d6, 1624300016Sadrian 0xfd2cfd2c, 0x01d600c6, 0x098201c1, 0xfc0dff90, 1625300016Sadrian 0xfd43fc7c, 0xf98dfa23, 0xfc3e012c, 0x068b075a, 1626300016Sadrian 0x003ef896, 0x05e001fa, 0xfa970677, 0xfd2d0039, 1627300016Sadrian 0x06cb06a6, 0x0341fa61, 0x05ddfba4, 0xff160433, 1628300016Sadrian 0xfa58fd2c, 0xf693ffb0, 0xf8eafecd, 0xff75fa94, 1629300016Sadrian 0x082e0009, 0x01f100fe, 0xfd97ff7a, 0x0740ff5a, 1630300016Sadrian 0x0496083e, 0xfde002af, 0xf71afd5c, 0x0407089d, 1631300016Sadrian 0x0258f991, 0xfe46fdc9, 0x073d0448, 0xfe00f8f0, 1632300016Sadrian 0xfd2cfd2c, 0xfce00500, 0xfc09fddc, 0xfe680157, 1633300016Sadrian 0x04c70571, 0xfc3aff21, 0xfcd70228, 0x056d0277, 1634300016Sadrian 0x0200fe00, 0x0022f927, 0xfe3c032b, 0xfc44ff3c, 1635300016Sadrian 0x03e9fbdb, 0x04570313, 0x04c9ff5c, 0x000d03b8, 1636300016Sadrian 0xfa580000, 0xfbe900d2, 0xf9d0fe0b, 0x0125fdf9, 1637300016Sadrian 0x042501bf, 0x0328fa2b, 0xffa902f0, 0xfa250157, 1638300016Sadrian 0x0200fe00, 0x03740438, 0xff0405fd, 0x030cfe52, 1639300016Sadrian 0x0037fb39, 0xff6904c5, 0x04f8fd23, 0xfd31fc1b, 1640300016Sadrian 0xfd2cfd2c, 0xfc1bfd31, 0xfd2304f8, 0x04c5ff69, 1641300016Sadrian 0xfb390037, 0xfe52030c, 0x05fdff04, 0x04380374, 1642300016Sadrian 0xfe000200, 0x0157fa25, 0x02f0ffa9, 0xfa2b0328, 1643300016Sadrian 0x01bf0425, 0xfdf90125, 0xfe0bf9d0, 0x00d2fbe9, 1644300016Sadrian 0x0000fa58, 0x03b8000d, 0xff5c04c9, 0x03130457, 1645300016Sadrian 0xfbdb03e9, 0xff3cfc44, 0x032bfe3c, 0xf9270022, 1646300016Sadrian 0xfe000200, 0x0277056d, 0x0228fcd7, 0xff21fc3a, 1647300016Sadrian 0x057104c7, 0x0157fe68, 0xfddcfc09, 0x0500fce0, 1648300016Sadrian 0xfd2cfd2c, 0x0500fce0, 0xfddcfc09, 0x0157fe68, 1649300016Sadrian 0x057104c7, 0xff21fc3a, 0x0228fcd7, 0x0277056d, 1650300016Sadrian 0xfe000200, 0xf9270022, 0x032bfe3c, 0xff3cfc44, 1651300016Sadrian 0xfbdb03e9, 0x03130457, 0xff5c04c9, 0x03b8000d, 1652300016Sadrian 0x0000fa58, 0x00d2fbe9, 0xfe0bf9d0, 0xfdf90125, 1653300016Sadrian 0x01bf0425, 0xfa2b0328, 0x02f0ffa9, 0x0157fa25, 1654300016Sadrian 0xfe000200, 0x04380374, 0x05fdff04, 0xfe52030c, 1655300016Sadrian 0xfb390037, 0x04c5ff69, 0xfd2304f8, 0xfc1bfd31, 1656300016Sadrian 0xfd2cfd2c, 0xfd31fc1b, 0x04f8fd23, 0xff6904c5, 1657300016Sadrian 0x0037fb39, 0x030cfe52, 0xff0405fd, 0x03740438, 1658300016Sadrian 0x0200fe00, 0xfa250157, 0xffa902f0, 0x0328fa2b, 1659300016Sadrian 0x042501bf, 0x0125fdf9, 0xf9d0fe0b, 0xfbe900d2, 1660300016Sadrian 0xfa580000, 0x000d03b8, 0x04c9ff5c, 0x04570313, 1661300016Sadrian 0x03e9fbdb, 0xfc44ff3c, 0xfe3c032b, 0x0022f927, 1662300016Sadrian 0x0200fe00, 0x056d0277, 0xfcd70228, 0xfc3aff21, 1663300016Sadrian 0x04c70571, 0xfe680157, 0xfc09fddc, 0xfce00500, 1664300016Sadrian 0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e, 1665300016Sadrian 0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c, 1666300016Sadrian 0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926, 1667300016Sadrian 0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942, 1668300016Sadrian 0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382, 1669300016Sadrian 0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4, 1670300016Sadrian 0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da, 1671300016Sadrian 0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be, 1672300016Sadrian 0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e, 1673300016Sadrian 0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c, 1674300016Sadrian 0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926, 1675300016Sadrian 0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942, 1676300016Sadrian 0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382, 1677300016Sadrian 0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4, 1678300016Sadrian 0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da, 1679300016Sadrian 0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be, 1680300016Sadrian}; 1681300016Sadrian 1682300016Sadrianstatic const uint32_t bwn_ntab_noisevar_r3[] = { 1683300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1684300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1685300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1686300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1687300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1688300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1689300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1690300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1691300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1692300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1693300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1694300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1695300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1696300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1697300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1698300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1699300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1700300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1701300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1702300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1703300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1704300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1705300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1706300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1707300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1708300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1709300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1710300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1711300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1712300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1713300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1714300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1715300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1716300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1717300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1718300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1719300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1720300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1721300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1722300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1723300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1724300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1725300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1726300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1727300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1728300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1729300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1730300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1731300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1732300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1733300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1734300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1735300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1736300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1737300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1738300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1739300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1740300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1741300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1742300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1743300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1744300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1745300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1746300016Sadrian 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, 1747300016Sadrian}; 1748300016Sadrian 1749300016Sadrianstatic const uint16_t bwn_ntab_mcs_r3[] = { 1750300016Sadrian 0x0000, 0x0008, 0x000a, 0x0010, 0x0012, 0x0019, 1751300016Sadrian 0x001a, 0x001c, 0x0080, 0x0088, 0x008a, 0x0090, 1752300016Sadrian 0x0092, 0x0099, 0x009a, 0x009c, 0x0100, 0x0108, 1753300016Sadrian 0x010a, 0x0110, 0x0112, 0x0119, 0x011a, 0x011c, 1754300016Sadrian 0x0180, 0x0188, 0x018a, 0x0190, 0x0192, 0x0199, 1755300016Sadrian 0x019a, 0x019c, 0x0000, 0x0098, 0x00a0, 0x00a8, 1756300016Sadrian 0x009a, 0x00a2, 0x00aa, 0x0120, 0x0128, 0x0128, 1757300016Sadrian 0x0130, 0x0138, 0x0138, 0x0140, 0x0122, 0x012a, 1758300016Sadrian 0x012a, 0x0132, 0x013a, 0x013a, 0x0142, 0x01a8, 1759300016Sadrian 0x01b0, 0x01b8, 0x01b0, 0x01b8, 0x01c0, 0x01c8, 1760300016Sadrian 0x01c0, 0x01c8, 0x01d0, 0x01d0, 0x01d8, 0x01aa, 1761300016Sadrian 0x01b2, 0x01ba, 0x01b2, 0x01ba, 0x01c2, 0x01ca, 1762300016Sadrian 0x01c2, 0x01ca, 0x01d2, 0x01d2, 0x01da, 0x0001, 1763300016Sadrian 0x0002, 0x0004, 0x0009, 0x000c, 0x0011, 0x0014, 1764300016Sadrian 0x0018, 0x0020, 0x0021, 0x0022, 0x0024, 0x0081, 1765300016Sadrian 0x0082, 0x0084, 0x0089, 0x008c, 0x0091, 0x0094, 1766300016Sadrian 0x0098, 0x00a0, 0x00a1, 0x00a2, 0x00a4, 0x0007, 1767300016Sadrian 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 1768300016Sadrian 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 1769300016Sadrian 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 1770300016Sadrian 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 1771300016Sadrian 0x0007, 0x0007, 1772300016Sadrian}; 1773300016Sadrian 1774300016Sadrianstatic const uint32_t bwn_ntab_tdi20a0_r3[] = { 1775300016Sadrian 0x00091226, 0x000a1429, 0x000b56ad, 0x000c58b0, 1776300016Sadrian 0x000d5ab3, 0x000e9cb6, 0x000f9eba, 0x0000c13d, 1777300016Sadrian 0x00020301, 0x00030504, 0x00040708, 0x0005090b, 1778300016Sadrian 0x00064b8e, 0x00095291, 0x000a5494, 0x000b9718, 1779300016Sadrian 0x000c9927, 0x000d9b2a, 0x000edd2e, 0x000fdf31, 1780300016Sadrian 0x000101b4, 0x000243b7, 0x000345bb, 0x000447be, 1781300016Sadrian 0x00058982, 0x00068c05, 0x00099309, 0x000a950c, 1782300016Sadrian 0x000bd78f, 0x000cd992, 0x000ddb96, 0x000f1d99, 1783300016Sadrian 0x00005fa8, 0x0001422c, 0x0002842f, 0x00038632, 1784300016Sadrian 0x00048835, 0x0005ca38, 0x0006ccbc, 0x0009d3bf, 1785300016Sadrian 0x000b1603, 0x000c1806, 0x000d1a0a, 0x000e1c0d, 1786300016Sadrian 0x000f5e10, 0x00008093, 0x00018297, 0x0002c49a, 1787300016Sadrian 0x0003c680, 0x0004c880, 0x00060b00, 0x00070d00, 1788300016Sadrian 0x00000000, 0x00000000, 0x00000000, 1789300016Sadrian}; 1790300016Sadrian 1791300016Sadrianstatic const uint32_t bwn_ntab_tdi20a1_r3[] = { 1792300016Sadrian 0x00014b26, 0x00028d29, 0x000393ad, 0x00049630, 1793300016Sadrian 0x0005d833, 0x0006da36, 0x00099c3a, 0x000a9e3d, 1794300016Sadrian 0x000bc081, 0x000cc284, 0x000dc488, 0x000f068b, 1795300016Sadrian 0x0000488e, 0x00018b91, 0x0002d214, 0x0003d418, 1796300016Sadrian 0x0004d6a7, 0x000618aa, 0x00071aae, 0x0009dcb1, 1797300016Sadrian 0x000b1eb4, 0x000c0137, 0x000d033b, 0x000e053e, 1798300016Sadrian 0x000f4702, 0x00008905, 0x00020c09, 0x0003128c, 1799300016Sadrian 0x0004148f, 0x00051712, 0x00065916, 0x00091b19, 1800300016Sadrian 0x000a1d28, 0x000b5f2c, 0x000c41af, 0x000d43b2, 1801300016Sadrian 0x000e85b5, 0x000f87b8, 0x0000c9bc, 0x00024cbf, 1802300016Sadrian 0x00035303, 0x00045506, 0x0005978a, 0x0006998d, 1803300016Sadrian 0x00095b90, 0x000a5d93, 0x000b9f97, 0x000c821a, 1804300016Sadrian 0x000d8400, 0x000ec600, 0x000fc800, 0x00010a00, 1805300016Sadrian 0x00000000, 0x00000000, 0x00000000, 1806300016Sadrian}; 1807300016Sadrian 1808300016Sadrianstatic const uint32_t bwn_ntab_tdi40a0_r3[] = { 1809300016Sadrian 0x0011a346, 0x00136ccf, 0x0014f5d9, 0x001641e2, 1810300016Sadrian 0x0017cb6b, 0x00195475, 0x001b2383, 0x001cad0c, 1811300016Sadrian 0x001e7616, 0x0000821f, 0x00020ba8, 0x0003d4b2, 1812300016Sadrian 0x00056447, 0x00072dd0, 0x0008b6da, 0x000a02e3, 1813300016Sadrian 0x000b8c6c, 0x000d15f6, 0x0011e484, 0x0013ae0d, 1814300016Sadrian 0x00153717, 0x00168320, 0x00180ca9, 0x00199633, 1815300016Sadrian 0x001b6548, 0x001ceed1, 0x001eb7db, 0x0000c3e4, 1816300016Sadrian 0x00024d6d, 0x000416f7, 0x0005a585, 0x00076f0f, 1817300016Sadrian 0x0008f818, 0x000a4421, 0x000bcdab, 0x000d9734, 1818300016Sadrian 0x00122649, 0x0013efd2, 0x001578dc, 0x0016c4e5, 1819300016Sadrian 0x00184e6e, 0x001a17f8, 0x001ba686, 0x001d3010, 1820300016Sadrian 0x001ef999, 0x00010522, 0x00028eac, 0x00045835, 1821300016Sadrian 0x0005e74a, 0x0007b0d3, 0x00093a5d, 0x000a85e6, 1822300016Sadrian 0x000c0f6f, 0x000dd8f9, 0x00126787, 0x00143111, 1823300016Sadrian 0x0015ba9a, 0x00170623, 0x00188fad, 0x001a5936, 1824300016Sadrian 0x001be84b, 0x001db1d4, 0x001f3b5e, 0x000146e7, 1825300016Sadrian 0x00031070, 0x000499fa, 0x00062888, 0x0007f212, 1826300016Sadrian 0x00097b9b, 0x000ac7a4, 0x000c50ae, 0x000e1a37, 1827300016Sadrian 0x0012a94c, 0x001472d5, 0x0015fc5f, 0x00174868, 1828300016Sadrian 0x0018d171, 0x001a9afb, 0x001c2989, 0x001df313, 1829300016Sadrian 0x001f7c9c, 0x000188a5, 0x000351af, 0x0004db38, 1830300016Sadrian 0x0006aa4d, 0x000833d7, 0x0009bd60, 0x000b0969, 1831300016Sadrian 0x000c9273, 0x000e5bfc, 0x00132a8a, 0x0014b414, 1832300016Sadrian 0x00163d9d, 0x001789a6, 0x001912b0, 0x001adc39, 1833300016Sadrian 0x001c6bce, 0x001e34d8, 0x001fbe61, 0x0001ca6a, 1834300016Sadrian 0x00039374, 0x00051cfd, 0x0006ec0b, 0x00087515, 1835300016Sadrian 0x0009fe9e, 0x000b4aa7, 0x000cd3b1, 0x000e9d3a, 1836300016Sadrian 0x00000000, 0x00000000, 1837300016Sadrian}; 1838300016Sadrian 1839300016Sadrianstatic const uint32_t bwn_ntab_tdi40a1_r3[] = { 1840300016Sadrian 0x001edb36, 0x000129ca, 0x0002b353, 0x00047cdd, 1841300016Sadrian 0x0005c8e6, 0x000791ef, 0x00091bf9, 0x000aaa07, 1842300016Sadrian 0x000c3391, 0x000dfd1a, 0x00120923, 0x0013d22d, 1843300016Sadrian 0x00155c37, 0x0016eacb, 0x00187454, 0x001a3dde, 1844300016Sadrian 0x001b89e7, 0x001d12f0, 0x001f1cfa, 0x00016b88, 1845300016Sadrian 0x00033492, 0x0004be1b, 0x00060a24, 0x0007d32e, 1846300016Sadrian 0x00095d38, 0x000aec4c, 0x000c7555, 0x000e3edf, 1847300016Sadrian 0x00124ae8, 0x001413f1, 0x0015a37b, 0x00172c89, 1848300016Sadrian 0x0018b593, 0x001a419c, 0x001bcb25, 0x001d942f, 1849300016Sadrian 0x001f63b9, 0x0001ad4d, 0x00037657, 0x0004c260, 1850300016Sadrian 0x00068be9, 0x000814f3, 0x0009a47c, 0x000b2d8a, 1851300016Sadrian 0x000cb694, 0x000e429d, 0x00128c26, 0x001455b0, 1852300016Sadrian 0x0015e4ba, 0x00176e4e, 0x0018f758, 0x001a8361, 1853300016Sadrian 0x001c0cea, 0x001dd674, 0x001fa57d, 0x0001ee8b, 1854300016Sadrian 0x0003b795, 0x0005039e, 0x0006cd27, 0x000856b1, 1855300016Sadrian 0x0009e5c6, 0x000b6f4f, 0x000cf859, 0x000e8462, 1856300016Sadrian 0x00130deb, 0x00149775, 0x00162603, 0x0017af8c, 1857300016Sadrian 0x00193896, 0x001ac49f, 0x001c4e28, 0x001e17b2, 1858300016Sadrian 0x0000a6c7, 0x00023050, 0x0003f9da, 0x00054563, 1859300016Sadrian 0x00070eec, 0x00089876, 0x000a2704, 0x000bb08d, 1860300016Sadrian 0x000d3a17, 0x001185a0, 0x00134f29, 0x0014d8b3, 1861300016Sadrian 0x001667c8, 0x0017f151, 0x00197adb, 0x001b0664, 1862300016Sadrian 0x001c8fed, 0x001e5977, 0x0000e805, 0x0002718f, 1863300016Sadrian 0x00043b18, 0x000586a1, 0x0007502b, 0x0008d9b4, 1864300016Sadrian 0x000a68c9, 0x000bf252, 0x000dbbdc, 0x0011c7e5, 1865300016Sadrian 0x001390ee, 0x00151a78, 0x0016a906, 0x00183290, 1866300016Sadrian 0x0019bc19, 0x001b4822, 0x001cd12c, 0x001e9ab5, 1867300016Sadrian 0x00000000, 0x00000000, 1868300016Sadrian}; 1869300016Sadrian 1870300016Sadrianstatic const uint32_t bwn_ntab_pilotlt_r3[] = { 1871300016Sadrian 0x76540213, 0x62407351, 0x76543210, 0x76540213, 1872300016Sadrian 0x76540213, 0x76430521, 1873300016Sadrian}; 1874300016Sadrian 1875300016Sadrianstatic const uint32_t bwn_ntab_channelest_r3[] = { 1876300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1877300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1878300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1879300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1880300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1881300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1882300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1883300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1884300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1885300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1886300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1887300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1888300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1889300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1890300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1891300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1892300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1893300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1894300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1895300016Sadrian 0x44444444, 0x44444444, 0x44444444, 0x44444444, 1896300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1897300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1898300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1899300016Sadrian 0x10101010, 0x10101010, 0x10101010, 0x10101010, 1900300016Sadrian}; 1901300016Sadrian 1902300016Sadrianstatic const uint8_t bwn_ntab_framelookup_r3[] = { 1903300016Sadrian 0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16, 1904300016Sadrian 0x0a, 0x0c, 0x1c, 0x1c, 0x0b, 0x0d, 0x1e, 0x1e, 1905300016Sadrian 0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1a, 0x1a, 1906300016Sadrian 0x0e, 0x10, 0x20, 0x28, 0x0f, 0x11, 0x22, 0x2a, 1907300016Sadrian}; 1908300016Sadrian 1909300016Sadrianstatic const uint8_t bwn_ntab_estimatepowerlt0_r3[] = { 1910300016Sadrian 0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51, 1911300016Sadrian 0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c, 1912300016Sadrian 0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46, 1913300016Sadrian 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f, 1914300016Sadrian 0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36, 1915300016Sadrian 0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b, 1916300016Sadrian 0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a, 1917300016Sadrian 0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd, 1918300016Sadrian}; 1919300016Sadrian 1920300016Sadrianstatic const uint8_t bwn_ntab_estimatepowerlt1_r3[] = { 1921300016Sadrian 0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51, 1922300016Sadrian 0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c, 1923300016Sadrian 0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46, 1924300016Sadrian 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f, 1925300016Sadrian 0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36, 1926300016Sadrian 0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b, 1927300016Sadrian 0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a, 1928300016Sadrian 0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd, 1929300016Sadrian}; 1930300016Sadrian 1931300016Sadrianstatic const uint8_t bwn_ntab_adjustpower0_r3[] = { 1932300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1933300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1934300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1935300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1936300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1937300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1938300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1939300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1940300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1941300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1942300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1943300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1944300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1945300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1946300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1947300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1948300016Sadrian}; 1949300016Sadrian 1950300016Sadrianstatic const uint8_t bwn_ntab_adjustpower1_r3[] = { 1951300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1952300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1953300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1954300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1955300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1956300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1957300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1958300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1959300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1960300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1961300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1962300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1963300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1964300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1965300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1966300016Sadrian 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1967300016Sadrian}; 1968300016Sadrian 1969300016Sadrianstatic const uint32_t bwn_ntab_gainctl0_r3[] = { 1970300016Sadrian 0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e, 1971300016Sadrian 0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037, 1972300016Sadrian 0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031, 1973300016Sadrian 0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040, 1974300016Sadrian 0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039, 1975300016Sadrian 0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033, 1976300016Sadrian 0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e, 1977300016Sadrian 0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037, 1978300016Sadrian 0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031, 1979300016Sadrian 0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c, 1980300016Sadrian 0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e, 1981300016Sadrian 0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037, 1982300016Sadrian 0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031, 1983300016Sadrian 0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c, 1984300016Sadrian 0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042, 1985300016Sadrian 0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b, 1986300016Sadrian 0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034, 1987300016Sadrian 0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f, 1988300016Sadrian 0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e, 1989300016Sadrian 0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037, 1990300016Sadrian 0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031, 1991300016Sadrian 0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c, 1992300016Sadrian 0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027, 1993300016Sadrian 0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023, 1994300016Sadrian 0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e, 1995300016Sadrian 0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037, 1996300016Sadrian 0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031, 1997300016Sadrian 0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c, 1998300016Sadrian 0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027, 1999300016Sadrian 0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023, 2000300016Sadrian 0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f, 2001300016Sadrian 0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c, 2002300016Sadrian}; 2003300016Sadrian 2004300016Sadrianstatic const uint32_t bwn_ntab_gainctl1_r3[] = { 2005300016Sadrian 0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e, 2006300016Sadrian 0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037, 2007300016Sadrian 0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031, 2008300016Sadrian 0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040, 2009300016Sadrian 0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039, 2010300016Sadrian 0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033, 2011300016Sadrian 0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e, 2012300016Sadrian 0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037, 2013300016Sadrian 0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031, 2014300016Sadrian 0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c, 2015300016Sadrian 0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e, 2016300016Sadrian 0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037, 2017300016Sadrian 0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031, 2018300016Sadrian 0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c, 2019300016Sadrian 0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042, 2020300016Sadrian 0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b, 2021300016Sadrian 0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034, 2022300016Sadrian 0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f, 2023300016Sadrian 0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e, 2024300016Sadrian 0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037, 2025300016Sadrian 0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031, 2026300016Sadrian 0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c, 2027300016Sadrian 0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027, 2028300016Sadrian 0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023, 2029300016Sadrian 0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e, 2030300016Sadrian 0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037, 2031300016Sadrian 0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031, 2032300016Sadrian 0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c, 2033300016Sadrian 0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027, 2034300016Sadrian 0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023, 2035300016Sadrian 0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f, 2036300016Sadrian 0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c, 2037300016Sadrian}; 2038300016Sadrian 2039300016Sadrianstatic const uint32_t bwn_ntab_iqlt0_r3[] = { 2040300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2041300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2042300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2043300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2044300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2045300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2046300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2047300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2048300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2049300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2050300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2051300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2052300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2053300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2054300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2055300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2056300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2057300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2058300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2059300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2060300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2061300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2062300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2063300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2064300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2065300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2066300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2067300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2068300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2069300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2070300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2071300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2072300016Sadrian}; 2073300016Sadrian 2074300016Sadrianstatic const uint32_t bwn_ntab_iqlt1_r3[] = { 2075300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2076300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2077300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2078300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2079300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2080300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2081300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2082300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2083300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2084300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2085300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2086300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2087300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2088300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2089300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2090300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2091300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2092300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2093300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2094300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2095300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2096300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2097300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2098300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2099300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2100300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2101300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2102300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2103300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2104300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2105300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2106300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2107300016Sadrian}; 2108300016Sadrian 2109300016Sadrianstatic const uint16_t bwn_ntab_loftlt0_r3[] = { 2110300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2111300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2112300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2113300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2114300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2115300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2116300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2117300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2118300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2119300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2120300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2121300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2122300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2123300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2124300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2125300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2126300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2127300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2128300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2129300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2130300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2131300016Sadrian 0x0000, 0x0000, 2132300016Sadrian}; 2133300016Sadrian 2134300016Sadrianstatic const uint16_t bwn_ntab_loftlt1_r3[] = { 2135300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2136300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2137300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2138300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2139300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2140300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2141300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2142300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2143300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2144300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2145300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2146300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2147300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2148300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2149300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2150300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2151300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2152300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2153300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2154300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2155300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2156300016Sadrian 0x0000, 0x0000, 2157300016Sadrian}; 2158300016Sadrian 2159300016Sadrian/* volatile tables, PHY revision >= 3 */ 2160300016Sadrian 2161300016Sadrian/* indexed by antswctl2g */ 2162300016Sadrianstatic const uint16_t bwn_ntab_antswctl_r3[4][32] = { 2163300016Sadrian { 2164300016Sadrian 0x0082, 0x0082, 0x0211, 0x0222, 0x0328, 2165300016Sadrian 0x0000, 0x0000, 0x0000, 0x0144, 0x0000, 2166300016Sadrian 0x0000, 0x0000, 0x0188, 0x0000, 0x0000, 2167300016Sadrian 0x0000, 0x0082, 0x0082, 0x0211, 0x0222, 2168300016Sadrian 0x0328, 0x0000, 0x0000, 0x0000, 0x0144, 2169300016Sadrian 0x0000, 0x0000, 0x0000, 0x0188, 0x0000, 2170300016Sadrian 0x0000, 0x0000, 2171300016Sadrian }, 2172300016Sadrian { 2173300016Sadrian 0x0022, 0x0022, 0x0011, 0x0022, 0x0022, 2174300016Sadrian 0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 2175300016Sadrian 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 2176300016Sadrian 0x0000, 0x0022, 0x0022, 0x0011, 0x0022, 2177300016Sadrian 0x0022, 0x0000, 0x0000, 0x0000, 0x0011, 2178300016Sadrian 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 2179300016Sadrian 0x0000, 0x0000, 2180300016Sadrian }, 2181300016Sadrian { 2182300016Sadrian 0x0088, 0x0088, 0x0044, 0x0088, 0x0088, 2183300016Sadrian 0x0000, 0x0000, 0x0000, 0x0044, 0x0000, 2184300016Sadrian 0x0000, 0x0000, 0x0088, 0x0000, 0x0000, 2185300016Sadrian 0x0000, 0x0088, 0x0088, 0x0044, 0x0088, 2186300016Sadrian 0x0088, 0x0000, 0x0000, 0x0000, 0x0044, 2187300016Sadrian 0x0000, 0x0000, 0x0000, 0x0088, 0x0000, 2188300016Sadrian 0x0000, 0x0000, 2189300016Sadrian }, 2190300016Sadrian { 2191300016Sadrian 0x0022, 0x0022, 0x0011, 0x0022, 0x0000, 2192300016Sadrian 0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 2193300016Sadrian 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 2194300016Sadrian 0x03cc, 0x0022, 0x0022, 0x0011, 0x0022, 2195300016Sadrian 0x0000, 0x0000, 0x0000, 0x0000, 0x0011, 2196300016Sadrian 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 2197300016Sadrian 0x0000, 0x03cc, 2198300016Sadrian } 2199300016Sadrian}; 2200300016Sadrian 2201300016Sadrian/* static tables, PHY revision >= 7 */ 2202300016Sadrian 2203300016Sadrian/* Copied from brcmsmac (5.75.11) */ 2204300016Sadrianstatic const uint32_t bwn_ntab_tmap_r7[] = { 2205300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2206300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2207300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, 2208300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, 2209300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888, 2210300016Sadrian 0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2211300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 2212300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 2213300016Sadrian 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, 2214300016Sadrian 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, 2215300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00011111, 2216300016Sadrian 0x11110000, 0x1111f111, 0x11111111, 0x111111f1, 2217300016Sadrian 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00088aaa, 2218300016Sadrian 0xaaaa0000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 2219300016Sadrian 0xaaa8aaa0, 0x8aaa8aaa, 0xaa8a8a8a, 0x000aaa88, 2220300016Sadrian 0x8aaa0000, 0xaaa8a888, 0x8aa88a8a, 0x8a88a888, 2221300016Sadrian 0x08080a00, 0x0a08080a, 0x080a0a08, 0x00080808, 2222300016Sadrian 0x080a0000, 0x080a0808, 0x080a0808, 0x0a0a0a08, 2223300016Sadrian 0xa0a0a0a0, 0x80a0a080, 0x8080a0a0, 0x00008080, 2224300016Sadrian 0x80a00000, 0x80a080a0, 0xa080a0a0, 0x8080a0a0, 2225300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2226300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2227300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2228300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2229300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2230300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2231300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2232300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2233300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2234300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2235300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2236300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2237300016Sadrian 0x99999000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 2238300016Sadrian 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 2239300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2240300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, 2241300016Sadrian 0x22000000, 0x2222b222, 0x22222222, 0x222222b2, 2242300016Sadrian 0xb2222220, 0x22222222, 0x22d22222, 0x00000222, 2243300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 2244300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 2245300016Sadrian 0x33000000, 0x3333b333, 0x33333333, 0x333333b3, 2246300016Sadrian 0xb3333330, 0x33333333, 0x33d33333, 0x00000333, 2247300016Sadrian 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, 2248300016Sadrian 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, 2249300016Sadrian 0x99b99b00, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 2250300016Sadrian 0x9b99bb99, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 2251300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2252300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, 2253300016Sadrian 0x22222200, 0x2222f222, 0x22222222, 0x222222f2, 2254300016Sadrian 0x22222222, 0x22222222, 0x22f22222, 0x00000222, 2255300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x11111111, 2256300016Sadrian 0xf1111111, 0x11111111, 0x11f11111, 0x01111111, 2257300016Sadrian 0xbb9bb900, 0xb9b9bb99, 0xb99bbbbb, 0xbbbb9b9b, 2258300016Sadrian 0xb9bb99bb, 0xb99999b9, 0xb9b9b99b, 0x00000bbb, 2259300016Sadrian 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 2260300016Sadrian 0xa8aa88aa, 0xa88888a8, 0xa8a8a88a, 0x0a888aaa, 2261300016Sadrian 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, 2262300016Sadrian 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00000aaa, 2263300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2264300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2265300016Sadrian 0xbbbbbb00, 0x999bbbbb, 0x9bb99b9b, 0xb9b9b9bb, 2266300016Sadrian 0xb9b99bbb, 0xb9b9b9bb, 0xb9bb9b99, 0x00000999, 2267300016Sadrian 0x8a000000, 0xaa88a888, 0xa88888aa, 0xa88a8a88, 2268300016Sadrian 0xa88aa88a, 0x88a8aaaa, 0xa8aa8aaa, 0x0888a88a, 2269300016Sadrian 0x0b0b0b00, 0x090b0b0b, 0x0b090b0b, 0x0909090b, 2270300016Sadrian 0x09090b0b, 0x09090b0b, 0x09090b09, 0x00000909, 2271300016Sadrian 0x0a000000, 0x0a080808, 0x080a080a, 0x080a0a08, 2272300016Sadrian 0x080a080a, 0x0808080a, 0x0a0a0a08, 0x0808080a, 2273300016Sadrian 0xb0b0b000, 0x9090b0b0, 0x90b09090, 0xb0b0b090, 2274300016Sadrian 0xb0b090b0, 0x90b0b0b0, 0xb0b09090, 0x00000090, 2275300016Sadrian 0x80000000, 0xa080a080, 0xa08080a0, 0xa0808080, 2276300016Sadrian 0xa080a080, 0x80a0a0a0, 0xa0a080a0, 0x00a0a0a0, 2277300016Sadrian 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, 2278300016Sadrian 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, 2279300016Sadrian 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, 2280300016Sadrian 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, 2281300016Sadrian 0x33000000, 0x3333f333, 0x33333333, 0x333333f3, 2282300016Sadrian 0xf3333330, 0x33333333, 0x33f33333, 0x00000333, 2283300016Sadrian 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, 2284300016Sadrian 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, 2285300016Sadrian 0x99000000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, 2286300016Sadrian 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, 2287300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2288300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2289300016Sadrian 0x88888000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2290300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2291300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2292300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, 2293300016Sadrian 0x88a88a00, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2294300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888, 2295300016Sadrian 0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2296300016Sadrian 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, 2297300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 2298300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 2299300016Sadrian 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, 2300300016Sadrian 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, 2301300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2302300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2303300016Sadrian 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, 2304300016Sadrian 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, 2305300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2306300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2307300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2308300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2309300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2310300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2311300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2312300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2313300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2314300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2315300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2316300016Sadrian 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2317300016Sadrian}; 2318300016Sadrian 2319300016Sadrian/* Extracted from MMIO dump of 6.30.223.141 */ 2320300016Sadrianstatic const uint32_t bwn_ntab_noisevar_r7[] = { 2321300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2322300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2323300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2324300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2325300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2326300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2327300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2328300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2329300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2330300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2331300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2332300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2333300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2334300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2335300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2336300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2337300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2338300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2339300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2340300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2341300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2342300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2343300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2344300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2345300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2346300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2347300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2348300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2349300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2350300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2351300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2352300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2353300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2354300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2355300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2356300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2357300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2358300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2359300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2360300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2361300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2362300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2363300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2364300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2365300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2366300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2367300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2368300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2369300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2370300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2371300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2372300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2373300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2374300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2375300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2376300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2377300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2378300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2379300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2380300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2381300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2382300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2383300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2384300016Sadrian 0x020c020c, 0x0000014d, 0x020c020c, 0x0000014d, 2385300016Sadrian}; 2386300016Sadrian 2387300016Sadrian/************************************************** 2388300016Sadrian * TX gain tables 2389300016Sadrian **************************************************/ 2390300016Sadrian 2391300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_rev0_1_2[] = { 2392300016Sadrian 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42, 2393300016Sadrian 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44, 2394300016Sadrian 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844, 2395300016Sadrian 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44, 2396300016Sadrian 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844, 2397300016Sadrian 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644, 2398300016Sadrian 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444, 2399300016Sadrian 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44, 2400300016Sadrian 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844, 2401300016Sadrian 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44, 2402300016Sadrian 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944, 2403300016Sadrian 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744, 2404300016Sadrian 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544, 2405300016Sadrian 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44, 2406300016Sadrian 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844, 2407300016Sadrian 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44, 2408300016Sadrian 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944, 2409300016Sadrian 0x03902942, 0x03902844, 0x03902842, 0x03902744, 2410300016Sadrian 0x03902742, 0x03902644, 0x03902642, 0x03902544, 2411300016Sadrian 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44, 2412300016Sadrian 0x03802a42, 0x03802944, 0x03802942, 0x03802844, 2413300016Sadrian 0x03802842, 0x03802744, 0x03802742, 0x03802644, 2414300016Sadrian 0x03802642, 0x03802544, 0x03802542, 0x03802444, 2415300016Sadrian 0x03802442, 0x03802344, 0x03802342, 0x03802244, 2416300016Sadrian 0x03802242, 0x03802144, 0x03802142, 0x03802044, 2417300016Sadrian 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44, 2418300016Sadrian 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44, 2419300016Sadrian 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44, 2420300016Sadrian 0x03801a42, 0x03801944, 0x03801942, 0x03801844, 2421300016Sadrian 0x03801842, 0x03801744, 0x03801742, 0x03801644, 2422300016Sadrian 0x03801642, 0x03801544, 0x03801542, 0x03801444, 2423300016Sadrian 0x03801442, 0x03801344, 0x03801342, 0x00002b00, 2424300016Sadrian}; 2425300016Sadrian 2426300016Sadrian/* EPA 2 GHz */ 2427300016Sadrian 2428300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev3_2g[] = { 2429300016Sadrian 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e, 2430300016Sadrian 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037, 2431300016Sadrian 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e, 2432300016Sadrian 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037, 2433300016Sadrian 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e, 2434300016Sadrian 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037, 2435300016Sadrian 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e, 2436300016Sadrian 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037, 2437300016Sadrian 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e, 2438300016Sadrian 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037, 2439300016Sadrian 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e, 2440300016Sadrian 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037, 2441300016Sadrian 0x19410044, 0x19410042, 0x19410040, 0x1941003e, 2442300016Sadrian 0x1941003c, 0x1941003b, 0x19410039, 0x19410037, 2443300016Sadrian 0x18410044, 0x18410042, 0x18410040, 0x1841003e, 2444300016Sadrian 0x1841003c, 0x1841003b, 0x18410039, 0x18410037, 2445300016Sadrian 0x17410044, 0x17410042, 0x17410040, 0x1741003e, 2446300016Sadrian 0x1741003c, 0x1741003b, 0x17410039, 0x17410037, 2447300016Sadrian 0x16410044, 0x16410042, 0x16410040, 0x1641003e, 2448300016Sadrian 0x1641003c, 0x1641003b, 0x16410039, 0x16410037, 2449300016Sadrian 0x15410044, 0x15410042, 0x15410040, 0x1541003e, 2450300016Sadrian 0x1541003c, 0x1541003b, 0x15410039, 0x15410037, 2451300016Sadrian 0x14410044, 0x14410042, 0x14410040, 0x1441003e, 2452300016Sadrian 0x1441003c, 0x1441003b, 0x14410039, 0x14410037, 2453300016Sadrian 0x13410044, 0x13410042, 0x13410040, 0x1341003e, 2454300016Sadrian 0x1341003c, 0x1341003b, 0x13410039, 0x13410037, 2455300016Sadrian 0x12410044, 0x12410042, 0x12410040, 0x1241003e, 2456300016Sadrian 0x1241003c, 0x1241003b, 0x12410039, 0x12410037, 2457300016Sadrian 0x11410044, 0x11410042, 0x11410040, 0x1141003e, 2458300016Sadrian 0x1141003c, 0x1141003b, 0x11410039, 0x11410037, 2459300016Sadrian 0x10410044, 0x10410042, 0x10410040, 0x1041003e, 2460300016Sadrian 0x1041003c, 0x1041003b, 0x10410039, 0x10410037, 2461300016Sadrian}; 2462300016Sadrian 2463300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev3_hi_pwr_2g[] = { 2464300016Sadrian 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e, 2465300016Sadrian 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037, 2466300016Sadrian 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e, 2467300016Sadrian 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037, 2468300016Sadrian 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e, 2469300016Sadrian 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037, 2470300016Sadrian 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e, 2471300016Sadrian 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037, 2472300016Sadrian 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e, 2473300016Sadrian 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037, 2474300016Sadrian 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e, 2475300016Sadrian 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037, 2476300016Sadrian 0x09410044, 0x09410042, 0x09410040, 0x0941003e, 2477300016Sadrian 0x0941003c, 0x0941003b, 0x09410039, 0x09410037, 2478300016Sadrian 0x08410044, 0x08410042, 0x08410040, 0x0841003e, 2479300016Sadrian 0x0841003c, 0x0841003b, 0x08410039, 0x08410037, 2480300016Sadrian 0x07410044, 0x07410042, 0x07410040, 0x0741003e, 2481300016Sadrian 0x0741003c, 0x0741003b, 0x07410039, 0x07410037, 2482300016Sadrian 0x06410044, 0x06410042, 0x06410040, 0x0641003e, 2483300016Sadrian 0x0641003c, 0x0641003b, 0x06410039, 0x06410037, 2484300016Sadrian 0x05410044, 0x05410042, 0x05410040, 0x0541003e, 2485300016Sadrian 0x0541003c, 0x0541003b, 0x05410039, 0x05410037, 2486300016Sadrian 0x04410044, 0x04410042, 0x04410040, 0x0441003e, 2487300016Sadrian 0x0441003c, 0x0441003b, 0x04410039, 0x04410037, 2488300016Sadrian 0x03410044, 0x03410042, 0x03410040, 0x0341003e, 2489300016Sadrian 0x0341003c, 0x0341003b, 0x03410039, 0x03410037, 2490300016Sadrian 0x02410044, 0x02410042, 0x02410040, 0x0241003e, 2491300016Sadrian 0x0241003c, 0x0241003b, 0x02410039, 0x02410037, 2492300016Sadrian 0x01410044, 0x01410042, 0x01410040, 0x0141003e, 2493300016Sadrian 0x0141003c, 0x0141003b, 0x01410039, 0x01410037, 2494300016Sadrian 0x00410044, 0x00410042, 0x00410040, 0x0041003e, 2495300016Sadrian 0x0041003c, 0x0041003b, 0x00410039, 0x00410037 2496300016Sadrian}; 2497300016Sadrian 2498300016Sadrian/* EPA 5 GHz */ 2499300016Sadrian 2500300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev3_5g[] = { 2501300016Sadrian 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e, 2502300016Sadrian 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037, 2503300016Sadrian 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e, 2504300016Sadrian 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037, 2505300016Sadrian 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e, 2506300016Sadrian 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037, 2507300016Sadrian 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e, 2508300016Sadrian 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037, 2509300016Sadrian 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e, 2510300016Sadrian 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037, 2511300016Sadrian 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e, 2512300016Sadrian 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037, 2513300016Sadrian 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e, 2514300016Sadrian 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037, 2515300016Sadrian 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e, 2516300016Sadrian 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037, 2517300016Sadrian 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e, 2518300016Sadrian 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037, 2519300016Sadrian 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e, 2520300016Sadrian 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037, 2521300016Sadrian 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e, 2522300016Sadrian 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037, 2523300016Sadrian 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e, 2524300016Sadrian 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037, 2525300016Sadrian 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e, 2526300016Sadrian 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037, 2527300016Sadrian 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e, 2528300016Sadrian 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037, 2529300016Sadrian 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e, 2530300016Sadrian 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037, 2531300016Sadrian 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e, 2532300016Sadrian 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037, 2533300016Sadrian}; 2534300016Sadrian 2535300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev4_5g[] = { 2536300016Sadrian 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e, 2537300016Sadrian 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037, 2538300016Sadrian 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e, 2539300016Sadrian 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037, 2540300016Sadrian 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e, 2541300016Sadrian 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037, 2542300016Sadrian 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e, 2543300016Sadrian 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037, 2544300016Sadrian 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e, 2545300016Sadrian 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037, 2546300016Sadrian 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e, 2547300016Sadrian 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037, 2548300016Sadrian 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e, 2549300016Sadrian 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037, 2550300016Sadrian 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e, 2551300016Sadrian 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037, 2552300016Sadrian 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e, 2553300016Sadrian 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037, 2554300016Sadrian 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e, 2555300016Sadrian 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037, 2556300016Sadrian 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e, 2557300016Sadrian 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037, 2558300016Sadrian 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e, 2559300016Sadrian 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038, 2560300016Sadrian 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e, 2561300016Sadrian 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037, 2562300016Sadrian 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e, 2563300016Sadrian 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037, 2564300016Sadrian 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e, 2565300016Sadrian 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037, 2566300016Sadrian 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c, 2567300016Sadrian 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034, 2568300016Sadrian}; 2569300016Sadrian 2570300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev4_hi_pwr_5g[] = { 2571300016Sadrian 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e, 2572300016Sadrian 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037, 2573300016Sadrian 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e, 2574300016Sadrian 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037, 2575300016Sadrian 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e, 2576300016Sadrian 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037, 2577300016Sadrian 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e, 2578300016Sadrian 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037, 2579300016Sadrian 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e, 2580300016Sadrian 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037, 2581300016Sadrian 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e, 2582300016Sadrian 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037, 2583300016Sadrian 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e, 2584300016Sadrian 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037, 2585300016Sadrian 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e, 2586300016Sadrian 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037, 2587300016Sadrian 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e, 2588300016Sadrian 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037, 2589300016Sadrian 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e, 2590300016Sadrian 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037, 2591300016Sadrian 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e, 2592300016Sadrian 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037, 2593300016Sadrian 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e, 2594300016Sadrian 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038, 2595300016Sadrian 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e, 2596300016Sadrian 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037, 2597300016Sadrian 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e, 2598300016Sadrian 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037, 2599300016Sadrian 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e, 2600300016Sadrian 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037, 2601300016Sadrian 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c, 2602300016Sadrian 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034 2603300016Sadrian}; 2604300016Sadrian 2605300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_epa_rev5_5g[] = { 2606300016Sadrian 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044, 2607300016Sadrian 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c, 2608300016Sadrian 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e, 2609300016Sadrian 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a, 2610300016Sadrian 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e, 2611300016Sadrian 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a, 2612300016Sadrian 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e, 2613300016Sadrian 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037, 2614300016Sadrian 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040, 2615300016Sadrian 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a, 2616300016Sadrian 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c, 2617300016Sadrian 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038, 2618300016Sadrian 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b, 2619300016Sadrian 0x09620039, 0x09620037, 0x09620035, 0x09620033, 2620300016Sadrian 0x08620044, 0x08620042, 0x08620040, 0x0862003e, 2621300016Sadrian 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039, 2622300016Sadrian 0x07620043, 0x07620042, 0x07620040, 0x0762003f, 2623300016Sadrian 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039, 2624300016Sadrian 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b, 2625300016Sadrian 0x06620039, 0x06620037, 0x06620035, 0x06620033, 2626300016Sadrian 0x05620046, 0x05620044, 0x05620042, 0x05620040, 2627300016Sadrian 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039, 2628300016Sadrian 0x04620044, 0x04620042, 0x04620040, 0x0462003e, 2629300016Sadrian 0x0462003c, 0x0462003b, 0x04620039, 0x04620038, 2630300016Sadrian 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039, 2631300016Sadrian 0x03620038, 0x03620037, 0x03620035, 0x03620033, 2632300016Sadrian 0x0262004c, 0x0262004a, 0x02620048, 0x02620047, 2633300016Sadrian 0x02620046, 0x02620044, 0x02620043, 0x02620042, 2634300016Sadrian 0x0162004a, 0x01620048, 0x01620046, 0x01620044, 2635300016Sadrian 0x01620043, 0x01620042, 0x01620041, 0x01620040, 2636300016Sadrian 0x00620042, 0x00620040, 0x0062003e, 0x0062003c, 2637300016Sadrian 0x0062003b, 0x00620039, 0x00620037, 0x00620035, 2638300016Sadrian}; 2639300016Sadrian 2640300016Sadrian/* IPA 2 GHz */ 2641300016Sadrian 2642300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_rev3_2g[] = { 2643300016Sadrian 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029, 2644300016Sadrian 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025, 2645300016Sadrian 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029, 2646300016Sadrian 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025, 2647300016Sadrian 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029, 2648300016Sadrian 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025, 2649300016Sadrian 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029, 2650300016Sadrian 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025, 2651300016Sadrian 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029, 2652300016Sadrian 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025, 2653300016Sadrian 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029, 2654300016Sadrian 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025, 2655300016Sadrian 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029, 2656300016Sadrian 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025, 2657300016Sadrian 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029, 2658300016Sadrian 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025, 2659300016Sadrian 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029, 2660300016Sadrian 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025, 2661300016Sadrian 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029, 2662300016Sadrian 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025, 2663300016Sadrian 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029, 2664300016Sadrian 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025, 2665300016Sadrian 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029, 2666300016Sadrian 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025, 2667300016Sadrian 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029, 2668300016Sadrian 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025, 2669300016Sadrian 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029, 2670300016Sadrian 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025, 2671300016Sadrian 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029, 2672300016Sadrian 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025, 2673300016Sadrian 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029, 2674300016Sadrian 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025, 2675300016Sadrian}; 2676300016Sadrian 2677300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_rev5_2g[] = { 2678300016Sadrian 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029, 2679300016Sadrian 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025, 2680300016Sadrian 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029, 2681300016Sadrian 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025, 2682300016Sadrian 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029, 2683300016Sadrian 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025, 2684300016Sadrian 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029, 2685300016Sadrian 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025, 2686300016Sadrian 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029, 2687300016Sadrian 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025, 2688300016Sadrian 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029, 2689300016Sadrian 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025, 2690300016Sadrian 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029, 2691300016Sadrian 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025, 2692300016Sadrian 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029, 2693300016Sadrian 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025, 2694300016Sadrian 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029, 2695300016Sadrian 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025, 2696300016Sadrian 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029, 2697300016Sadrian 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025, 2698300016Sadrian 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029, 2699300016Sadrian 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025, 2700300016Sadrian 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029, 2701300016Sadrian 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025, 2702300016Sadrian 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029, 2703300016Sadrian 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025, 2704300016Sadrian 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029, 2705300016Sadrian 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025, 2706300016Sadrian 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029, 2707300016Sadrian 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025, 2708300016Sadrian 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029, 2709300016Sadrian 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025, 2710300016Sadrian}; 2711300016Sadrian 2712300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_rev6_2g[] = { 2713300016Sadrian 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029, 2714300016Sadrian 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025, 2715300016Sadrian 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029, 2716300016Sadrian 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025, 2717300016Sadrian 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029, 2718300016Sadrian 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025, 2719300016Sadrian 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029, 2720300016Sadrian 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025, 2721300016Sadrian 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029, 2722300016Sadrian 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025, 2723300016Sadrian 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029, 2724300016Sadrian 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025, 2725300016Sadrian 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029, 2726300016Sadrian 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025, 2727300016Sadrian 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029, 2728300016Sadrian 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025, 2729300016Sadrian 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029, 2730300016Sadrian 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025, 2731300016Sadrian 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029, 2732300016Sadrian 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025, 2733300016Sadrian 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029, 2734300016Sadrian 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025, 2735300016Sadrian 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029, 2736300016Sadrian 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025, 2737300016Sadrian 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029, 2738300016Sadrian 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025, 2739300016Sadrian 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029, 2740300016Sadrian 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025, 2741300016Sadrian 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029, 2742300016Sadrian 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025, 2743300016Sadrian 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029, 2744300016Sadrian 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025, 2745300016Sadrian}; 2746300016Sadrian 2747300016Sadrian/* Copied from brcmsmac (5.75.11): nphy_tpc_txgain_ipa_2g_2057rev5 */ 2748300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_2057_rev5_2g[] = { 2749300016Sadrian 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e, 2750300016Sadrian 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033, 2751300016Sadrian 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e, 2752300016Sadrian 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d, 2753300016Sadrian 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c, 2754300016Sadrian 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d, 2755300016Sadrian 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a, 2756300016Sadrian 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029, 2757300016Sadrian 0x30270027, 0x30270025, 0x30270023, 0x301f002c, 2758300016Sadrian 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024, 2759300016Sadrian 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b, 2760300016Sadrian 0x30170028, 0x30170026, 0x30170024, 0x30170022, 2761300016Sadrian 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b, 2762300016Sadrian 0x3017001a, 0x30170018, 0x30170017, 0x30170015, 2763300016Sadrian 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024, 2764300016Sadrian 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d, 2765300016Sadrian 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017, 2766300016Sadrian 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215, 2767300016Sadrian 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615, 2768300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2769300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2770300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2771300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2772300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2773300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2774300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2775300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2776300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2777300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2778300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2779300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2780300016Sadrian 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715, 2781300016Sadrian}; 2782300016Sadrian 2783300016Sadrian/* Extracted from MMIO dump of 6.30.223.141 */ 2784300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_2057_rev9_2g[] = { 2785300016Sadrian 0x60ff0031, 0x60e7002c, 0x60cf002a, 0x60c70029, 2786300016Sadrian 0x60b70029, 0x60a70029, 0x609f002a, 0x6097002b, 2787300016Sadrian 0x6087002e, 0x60770031, 0x606f0032, 0x60670034, 2788300016Sadrian 0x60670031, 0x605f0033, 0x605f0031, 0x60570033, 2789300016Sadrian 0x60570030, 0x6057002d, 0x6057002b, 0x604f002d, 2790300016Sadrian 0x604f002b, 0x604f0029, 0x604f0026, 0x60470029, 2791300016Sadrian 0x60470027, 0x603f0029, 0x603f0027, 0x603f0025, 2792300016Sadrian 0x60370029, 0x60370027, 0x60370024, 0x602f002a, 2793300016Sadrian 0x602f0028, 0x602f0026, 0x602f0024, 0x6027002a, 2794300016Sadrian 0x60270028, 0x60270026, 0x60270024, 0x60270022, 2795300016Sadrian 0x601f002b, 0x601f0029, 0x601f0027, 0x601f0024, 2796300016Sadrian 0x601f0022, 0x601f0020, 0x601f001f, 0x601f001d, 2797300016Sadrian 0x60170029, 0x60170027, 0x60170025, 0x60170023, 2798300016Sadrian 0x60170021, 0x6017001f, 0x6017001d, 0x6017001c, 2799300016Sadrian 0x6017001a, 0x60170018, 0x60170018, 0x60170016, 2800300016Sadrian 0x60170015, 0x600f0029, 0x600f0027, 0x600f0025, 2801300016Sadrian 0x600f0023, 0x600f0021, 0x600f001f, 0x600f001d, 2802300016Sadrian 0x600f001c, 0x600f001a, 0x600f0019, 0x600f0018, 2803300016Sadrian 0x600f0016, 0x600f0015, 0x600f0115, 0x600f0215, 2804300016Sadrian 0x600f0315, 0x600f0415, 0x600f0515, 0x600f0615, 2805300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2806300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2807300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2808300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2809300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2810300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2811300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2812300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2813300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2814300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2815300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2816300016Sadrian 0x600f0715, 0x600f0715, 0x600f0715, 0x600f0715, 2817300016Sadrian}; 2818300016Sadrian 2819300016Sadrian/* Extracted from MMIO dump of 6.30.223.248 */ 2820300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_2057_rev14_2g[] = { 2821300016Sadrian 0x50df002e, 0x50cf002d, 0x50bf002c, 0x50b7002b, 2822300016Sadrian 0x50af002a, 0x50a70029, 0x509f0029, 0x50970028, 2823300016Sadrian 0x508f0027, 0x50870027, 0x507f0027, 0x50770027, 2824300016Sadrian 0x506f0027, 0x50670027, 0x505f0028, 0x50570029, 2825300016Sadrian 0x504f002b, 0x5047002e, 0x5047002b, 0x50470029, 2826300016Sadrian 0x503f002c, 0x503f0029, 0x5037002c, 0x5037002a, 2827300016Sadrian 0x50370028, 0x502f002d, 0x502f002b, 0x502f0028, 2828300016Sadrian 0x502f0026, 0x5027002d, 0x5027002a, 0x50270028, 2829300016Sadrian 0x50270026, 0x50270024, 0x501f002e, 0x501f002b, 2830300016Sadrian 0x501f0029, 0x501f0027, 0x501f0024, 0x501f0022, 2831300016Sadrian 0x501f0020, 0x501f001f, 0x5017002c, 0x50170029, 2832300016Sadrian 0x50170027, 0x50170024, 0x50170022, 0x50170021, 2833300016Sadrian 0x5017001f, 0x5017001d, 0x5017001b, 0x5017001a, 2834300016Sadrian 0x50170018, 0x50170017, 0x50170015, 0x500f002c, 2835300016Sadrian 0x500f002a, 0x500f0027, 0x500f0025, 0x500f0023, 2836300016Sadrian 0x500f0022, 0x500f001f, 0x500f001e, 0x500f001c, 2837300016Sadrian 0x500f001a, 0x500f0019, 0x500f0018, 0x500f0016, 2838300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2839300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2840300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2841300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2842300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2843300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2844300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2845300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2846300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2847300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2848300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2849300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2850300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2851300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2852300016Sadrian 0x500f0015, 0x500f0015, 0x500f0015, 0x500f0015, 2853300016Sadrian}; 2854300016Sadrian 2855300016Sadrian/* IPA 2 5Hz */ 2856300016Sadrian 2857300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_rev3_5g[] = { 2858300016Sadrian 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031, 2859300016Sadrian 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b, 2860300016Sadrian 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027, 2861300016Sadrian 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022, 2862300016Sadrian 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025, 2863300016Sadrian 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027, 2864300016Sadrian 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023, 2865300016Sadrian 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027, 2866300016Sadrian 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022, 2867300016Sadrian 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025, 2868300016Sadrian 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021, 2869300016Sadrian 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026, 2870300016Sadrian 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022, 2871300016Sadrian 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026, 2872300016Sadrian 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022, 2873300016Sadrian 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026, 2874300016Sadrian 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022, 2875300016Sadrian 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026, 2876300016Sadrian 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022, 2877300016Sadrian 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026, 2878300016Sadrian 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021, 2879300016Sadrian 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026, 2880300016Sadrian 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029, 2881300016Sadrian 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024, 2882300016Sadrian 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027, 2883300016Sadrian 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023, 2884300016Sadrian 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026, 2885300016Sadrian 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022, 2886300016Sadrian 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025, 2887300016Sadrian 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027, 2888300016Sadrian 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022, 2889300016Sadrian 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f, 2890300016Sadrian}; 2891300016Sadrian 2892300016Sadrian/* Extracted from MMIO dump of 6.30.223.141 */ 2893300016Sadrianstatic const uint32_t bwn_ntab_tx_gain_ipa_2057_rev9_5g[] = { 2894300016Sadrian 0x7f7f0053, 0x7f7f004b, 0x7f7f0044, 0x7f7f003f, 2895300016Sadrian 0x7f7f0039, 0x7f7f0035, 0x7f7f0032, 0x7f7f0030, 2896300016Sadrian 0x7f7f002d, 0x7e7f0030, 0x7e7f002d, 0x7d7f0032, 2897300016Sadrian 0x7d7f002f, 0x7d7f002c, 0x7c7f0032, 0x7c7f0030, 2898300016Sadrian 0x7c7f002d, 0x7b7f0030, 0x7b7f002e, 0x7b7f002b, 2899300016Sadrian 0x7a7f0032, 0x7a7f0030, 0x7a7f002d, 0x7a7f002b, 2900300016Sadrian 0x797f0030, 0x797f002e, 0x797f002b, 0x797f0029, 2901300016Sadrian 0x787f0030, 0x787f002d, 0x787f002b, 0x777f0032, 2902300016Sadrian 0x777f0030, 0x777f002d, 0x777f002b, 0x767f0031, 2903300016Sadrian 0x767f002f, 0x767f002c, 0x767f002a, 0x757f0031, 2904300016Sadrian 0x757f002f, 0x757f002c, 0x757f002a, 0x747f0030, 2905300016Sadrian 0x747f002d, 0x747f002b, 0x737f0032, 0x737f002f, 2906300016Sadrian 0x737f002c, 0x737f002a, 0x727f0030, 0x727f002d, 2907300016Sadrian 0x727f002b, 0x727f0029, 0x717f0030, 0x717f002d, 2908300016Sadrian 0x717f002b, 0x707f0031, 0x707f002f, 0x707f002c, 2909300016Sadrian 0x707f002a, 0x707f0027, 0x707f0025, 0x707f0023, 2910300016Sadrian 0x707f0021, 0x707f001f, 0x707f001d, 0x707f001c, 2911300016Sadrian 0x707f001a, 0x707f0019, 0x707f0017, 0x707f0016, 2912300016Sadrian 0x707f0015, 0x707f0014, 0x707f0012, 0x707f0012, 2913300016Sadrian 0x707f0011, 0x707f0010, 0x707f000f, 0x707f000e, 2914300016Sadrian 0x707f000d, 0x707f000d, 0x707f000c, 0x707f000b, 2915300016Sadrian 0x707f000a, 0x707f000a, 0x707f0009, 0x707f0008, 2916300016Sadrian 0x707f0008, 0x707f0008, 0x707f0008, 0x707f0007, 2917300016Sadrian 0x707f0007, 0x707f0006, 0x707f0006, 0x707f0006, 2918300016Sadrian 0x707f0005, 0x707f0005, 0x707f0005, 0x707f0004, 2919300016Sadrian 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003, 2920300016Sadrian 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003, 2921300016Sadrian 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003, 2922300016Sadrian 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002, 2923300016Sadrian 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002, 2924300016Sadrian 0x707f0002, 0x707f0001, 0x707f0001, 0x707f0001, 2925300016Sadrian 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001, 2926300016Sadrian}; 2927300016Sadrian 2928300016Sadrianconst int8_t bwn_ntab_papd_pga_gain_delta_ipa_2g[] = { 2929300016Sadrian -114, -108, -98, -91, -84, -78, -70, -62, 2930300016Sadrian -54, -46, -39, -31, -23, -15, -8, 0 2931300016Sadrian}; 2932300016Sadrian 2933300016Sadrian/* Extracted from MMIO dump of 6.30.223.248 2934300016Sadrian * Entries: 0, 15, 17, 21, 24, 26, 27, 29, 30 were guessed 2935300016Sadrian */ 2936300016Sadrianstatic const int16_t bwn_ntab_rf_pwr_offset_2057_rev9_2g[] = { 2937300016Sadrian -133, -133, -107, -92, -81, 2938300016Sadrian -73, -66, -61, -56, -52, 2939300016Sadrian -48, -44, -41, -37, -34, 2940300016Sadrian -31, -28, -25, -22, -19, 2941300016Sadrian -17, -14, -12, -10, -9, 2942300016Sadrian -7, -5, -4, -3, -2, 2943300016Sadrian -1, 0, 2944300016Sadrian}; 2945300016Sadrian 2946300016Sadrian/* Extracted from MMIO dump of 6.30.223.248 */ 2947300016Sadrianstatic const int16_t bwn_ntab_rf_pwr_offset_2057_rev9_5g[] = { 2948300016Sadrian -101, -94, -86, -79, -72, 2949300016Sadrian -65, -57, -50, -42, -35, 2950300016Sadrian -28, -21, -16, -9, -4, 2951300016Sadrian 0, 2952300016Sadrian}; 2953300016Sadrian 2954300016Sadrian/* Extracted from MMIO dump of 6.30.223.248 2955300016Sadrian * Entries: 0, 26, 28, 29, 30, 31 were guessed 2956300016Sadrian */ 2957300016Sadrianstatic const int16_t bwn_ntab_rf_pwr_offset_2057_rev14_2g[] = { 2958300016Sadrian -111, -111, -111, -84, -70, 2959300016Sadrian -59, -52, -45, -40, -36, 2960300016Sadrian -32, -29, -26, -23, -21, 2961300016Sadrian -18, -16, -15, -13, -11, 2962300016Sadrian -10, -8, -7, -6, -5, 2963300016Sadrian -4, -4, -3, -3, -2, 2964300016Sadrian -2, -1, 2965300016Sadrian}; 2966300016Sadrian 2967300016Sadrianconst uint16_t tbl_iqcal_gainparams[2][9][8] = { 2968300016Sadrian { 2969300016Sadrian { 0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69 }, 2970300016Sadrian { 0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69 }, 2971300016Sadrian { 0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68 }, 2972300016Sadrian { 0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67 }, 2973300016Sadrian { 0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66 }, 2974300016Sadrian { 0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65 }, 2975300016Sadrian { 0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65 }, 2976300016Sadrian { 0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65 }, 2977300016Sadrian { 0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65 } 2978300016Sadrian }, 2979300016Sadrian { 2980300016Sadrian { 0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 }, 2981300016Sadrian { 0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 }, 2982300016Sadrian { 0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79 }, 2983300016Sadrian { 0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78 }, 2984300016Sadrian { 0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78 }, 2985300016Sadrian { 0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78 }, 2986300016Sadrian { 0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78 }, 2987300016Sadrian { 0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78 }, 2988300016Sadrian { 0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78 } 2989300016Sadrian } 2990300016Sadrian}; 2991300016Sadrian 2992300016Sadrianconst struct bwn_nphy_txiqcal_ladder ladder_lo[] = { 2993300016Sadrian { 3, 0 }, 2994300016Sadrian { 4, 0 }, 2995300016Sadrian { 6, 0 }, 2996300016Sadrian { 9, 0 }, 2997300016Sadrian { 13, 0 }, 2998300016Sadrian { 18, 0 }, 2999300016Sadrian { 25, 0 }, 3000300016Sadrian { 25, 1 }, 3001300016Sadrian { 25, 2 }, 3002300016Sadrian { 25, 3 }, 3003300016Sadrian { 25, 4 }, 3004300016Sadrian { 25, 5 }, 3005300016Sadrian { 25, 6 }, 3006300016Sadrian { 25, 7 }, 3007300016Sadrian { 35, 7 }, 3008300016Sadrian { 50, 7 }, 3009300016Sadrian { 71, 7 }, 3010300016Sadrian { 100, 7 } 3011300016Sadrian}; 3012300016Sadrian 3013300016Sadrianconst struct bwn_nphy_txiqcal_ladder ladder_iq[] = { 3014300016Sadrian { 3, 0 }, 3015300016Sadrian { 4, 0 }, 3016300016Sadrian { 6, 0 }, 3017300016Sadrian { 9, 0 }, 3018300016Sadrian { 13, 0 }, 3019300016Sadrian { 18, 0 }, 3020300016Sadrian { 25, 0 }, 3021300016Sadrian { 35, 0 }, 3022300016Sadrian { 50, 0 }, 3023300016Sadrian { 71, 0 }, 3024300016Sadrian { 100, 0 }, 3025300016Sadrian { 100, 1 }, 3026300016Sadrian { 100, 2 }, 3027300016Sadrian { 100, 3 }, 3028300016Sadrian { 100, 4 }, 3029300016Sadrian { 100, 5 }, 3030300016Sadrian { 100, 6 }, 3031300016Sadrian { 100, 7 } 3032300016Sadrian}; 3033300016Sadrian 3034300016Sadrianconst uint16_t loscale[] = { 3035300016Sadrian 256, 256, 271, 271, 3036300016Sadrian 287, 256, 256, 271, 3037300016Sadrian 271, 287, 287, 304, 3038300016Sadrian 304, 256, 256, 271, 3039300016Sadrian 271, 287, 287, 304, 3040300016Sadrian 304, 322, 322, 341, 3041300016Sadrian 341, 362, 362, 383, 3042300016Sadrian 383, 256, 256, 271, 3043300016Sadrian 271, 287, 287, 304, 3044300016Sadrian 304, 322, 322, 256, 3045300016Sadrian 256, 271, 271, 287, 3046300016Sadrian 287, 304, 304, 322, 3047300016Sadrian 322, 341, 341, 362, 3048300016Sadrian 362, 256, 256, 271, 3049300016Sadrian 271, 287, 287, 304, 3050300016Sadrian 304, 322, 322, 256, 3051300016Sadrian 256, 271, 271, 287, 3052300016Sadrian 287, 304, 304, 322, 3053300016Sadrian 322, 341, 341, 362, 3054300016Sadrian 362, 256, 256, 271, 3055300016Sadrian 271, 287, 287, 304, 3056300016Sadrian 304, 322, 322, 341, 3057300016Sadrian 341, 362, 362, 383, 3058300016Sadrian 383, 406, 406, 430, 3059300016Sadrian 430, 455, 455, 482, 3060300016Sadrian 482, 511, 511, 541, 3061300016Sadrian 541, 573, 573, 607, 3062300016Sadrian 607, 643, 643, 681, 3063300016Sadrian 681, 722, 722, 764, 3064300016Sadrian 764, 810, 810, 858, 3065300016Sadrian 858, 908, 908, 962, 3066300016Sadrian 962, 1019, 1019, 256 3067300016Sadrian}; 3068300016Sadrian 3069300016Sadrianconst uint16_t tbl_tx_iqlo_cal_loft_ladder_40[] = { 3070300016Sadrian 0x0200, 0x0300, 0x0400, 0x0700, 3071300016Sadrian 0x0900, 0x0c00, 0x1200, 0x1201, 3072300016Sadrian 0x1202, 0x1203, 0x1204, 0x1205, 3073300016Sadrian 0x1206, 0x1207, 0x1907, 0x2307, 3074300016Sadrian 0x3207, 0x4707 3075300016Sadrian}; 3076300016Sadrian 3077300016Sadrianconst uint16_t tbl_tx_iqlo_cal_loft_ladder_20[] = { 3078300016Sadrian 0x0300, 0x0500, 0x0700, 0x0900, 3079300016Sadrian 0x0d00, 0x1100, 0x1900, 0x1901, 3080300016Sadrian 0x1902, 0x1903, 0x1904, 0x1905, 3081300016Sadrian 0x1906, 0x1907, 0x2407, 0x3207, 3082300016Sadrian 0x4607, 0x6407 3083300016Sadrian}; 3084300016Sadrian 3085300016Sadrianconst uint16_t tbl_tx_iqlo_cal_iqimb_ladder_40[] = { 3086300016Sadrian 0x0100, 0x0200, 0x0400, 0x0700, 3087300016Sadrian 0x0900, 0x0c00, 0x1200, 0x1900, 3088300016Sadrian 0x2300, 0x3200, 0x4700, 0x4701, 3089300016Sadrian 0x4702, 0x4703, 0x4704, 0x4705, 3090300016Sadrian 0x4706, 0x4707 3091300016Sadrian}; 3092300016Sadrian 3093300016Sadrianconst uint16_t tbl_tx_iqlo_cal_iqimb_ladder_20[] = { 3094300016Sadrian 0x0200, 0x0300, 0x0600, 0x0900, 3095300016Sadrian 0x0d00, 0x1100, 0x1900, 0x2400, 3096300016Sadrian 0x3200, 0x4600, 0x6400, 0x6401, 3097300016Sadrian 0x6402, 0x6403, 0x6404, 0x6405, 3098300016Sadrian 0x6406, 0x6407 3099300016Sadrian}; 3100300016Sadrian 3101300016Sadrianconst uint16_t tbl_tx_iqlo_cal_startcoefs_nphyrev3[BWN_NTAB_TX_IQLO_CAL_STARTCOEFS_REV3] = { }; 3102300016Sadrian 3103300016Sadrianconst uint16_t tbl_tx_iqlo_cal_startcoefs[BWN_NTAB_TX_IQLO_CAL_STARTCOEFS] = { }; 3104300016Sadrian 3105300016Sadrianconst uint16_t tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = { 3106300016Sadrian 0x8423, 0x8323, 0x8073, 0x8256, 3107300016Sadrian 0x8045, 0x8223, 0x9423, 0x9323, 3108300016Sadrian 0x9073, 0x9256, 0x9045, 0x9223 3109300016Sadrian}; 3110300016Sadrian 3111300016Sadrianconst uint16_t tbl_tx_iqlo_cal_cmds_recal[] = { 3112300016Sadrian 0x8101, 0x8253, 0x8053, 0x8234, 3113300016Sadrian 0x8034, 0x9101, 0x9253, 0x9053, 3114300016Sadrian 0x9234, 0x9034 3115300016Sadrian}; 3116300016Sadrian 3117300016Sadrianconst uint16_t tbl_tx_iqlo_cal_cmds_fullcal[] = { 3118300016Sadrian 0x8123, 0x8264, 0x8086, 0x8245, 3119300016Sadrian 0x8056, 0x9123, 0x9264, 0x9086, 3120300016Sadrian 0x9245, 0x9056 3121300016Sadrian}; 3122300016Sadrian 3123300016Sadrianconst uint16_t tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = { 3124300016Sadrian 0x8434, 0x8334, 0x8084, 0x8267, 3125300016Sadrian 0x8056, 0x8234, 0x9434, 0x9334, 3126300016Sadrian 0x9084, 0x9267, 0x9056, 0x9234 3127300016Sadrian}; 3128300016Sadrian 3129300016Sadrianconst int16_t tbl_tx_filter_coef_rev4[7][15] = { 3130300016Sadrian { -377, 137, -407, 208, -1527, 3131300016Sadrian 956, 93, 186, 93, 230, 3132300016Sadrian -44, 230, 201, -191, 201 }, 3133300016Sadrian { -77, 20, -98, 49, -93, 3134300016Sadrian 60, 56, 111, 56, 26, 3135300016Sadrian -5, 26, 34, -32, 34 }, 3136300016Sadrian { -360, 164, -376, 164, -1533, 3137300016Sadrian 576, 308, -314, 308, 121, 3138300016Sadrian -73, 121, 91, 124, 91 }, 3139300016Sadrian { -295, 200, -363, 142, -1391, 3140300016Sadrian 826, 151, 301, 151, 151, 3141300016Sadrian 301, 151, 602, -752, 602 }, 3142300016Sadrian { -92, 58, -96, 49, -104, 3143300016Sadrian 44, 17, 35, 17, 12, 3144300016Sadrian 25, 12, 13, 27, 13 }, 3145300016Sadrian { -375, 136, -399, 209, -1479, 3146300016Sadrian 949, 130, 260, 130, 230, 3147300016Sadrian -44, 230, 201, -191, 201 }, 3148300016Sadrian { 0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 3149300016Sadrian 0x33a, 0x97, 0x12d, 0x97, 0x97, 3150300016Sadrian 0x12d, 0x97, 0x25a, 0xd10, 0x25a } 3151300016Sadrian}; 3152300016Sadrian 3153300016Sadrian/* addr0, addr1, bmask, shift */ 3154300016Sadrianconst struct bwn_nphy_rf_control_override_rev2 tbl_rf_control_override_rev2[] = { 3155300016Sadrian { 0x78, 0x78, 0x0038, 3 }, /* for field == 0x0002 (fls == 2) */ 3156300016Sadrian { 0x7A, 0x7D, 0x0001, 0 }, /* for field == 0x0004 (fls == 3) */ 3157300016Sadrian { 0x7A, 0x7D, 0x0002, 1 }, /* for field == 0x0008 (fls == 4) */ 3158300016Sadrian { 0x7A, 0x7D, 0x0004, 2 }, /* for field == 0x0010 (fls == 5) */ 3159300016Sadrian { 0x7A, 0x7D, 0x0030, 4 }, /* for field == 0x0020 (fls == 6) */ 3160300016Sadrian { 0x7A, 0x7D, 0x00C0, 6 }, /* for field == 0x0040 (fls == 7) */ 3161300016Sadrian { 0x7A, 0x7D, 0x0100, 8 }, /* for field == 0x0080 (fls == 8) */ 3162300016Sadrian { 0x7A, 0x7D, 0x0200, 9 }, /* for field == 0x0100 (fls == 9) */ 3163300016Sadrian { 0x78, 0x78, 0x0004, 2 }, /* for field == 0x0200 (fls == 10) */ 3164300016Sadrian { 0x7B, 0x7E, 0x01FF, 0 }, /* for field == 0x0400 (fls == 11) */ 3165300016Sadrian { 0x7C, 0x7F, 0x01FF, 0 }, /* for field == 0x0800 (fls == 12) */ 3166300016Sadrian { 0x78, 0x78, 0x0100, 8 }, /* for field == 0x1000 (fls == 13) */ 3167300016Sadrian { 0x78, 0x78, 0x0200, 9 }, /* for field == 0x2000 (fls == 14) */ 3168300016Sadrian { 0x78, 0x78, 0xF000, 12 } /* for field == 0x4000 (fls == 15) */ 3169300016Sadrian}; 3170300016Sadrian 3171300016Sadrian/* val_mask, val_shift, en_addr0, val_addr0, en_addr1, val_addr1 */ 3172300016Sadrianconst struct bwn_nphy_rf_control_override_rev3 tbl_rf_control_override_rev3[] = { 3173300016Sadrian { 0x8000, 15, 0xE5, 0xF9, 0xE6, 0xFB }, /* field == 0x0001 (fls 1) */ 3174300016Sadrian { 0x0001, 0, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0002 (fls 2) */ 3175300016Sadrian { 0x0002, 1, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0004 (fls 3) */ 3176300016Sadrian { 0x0004, 2, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0008 (fls 4) */ 3177300016Sadrian { 0x0010, 4, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0010 (fls 5) */ 3178300016Sadrian { 0x0020, 5, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0020 (fls 6) */ 3179300016Sadrian { 0x0040, 6, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0040 (fls 7) */ 3180300016Sadrian { 0x0080, 7, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0080 (fls 8) */ 3181300016Sadrian { 0x0100, 8, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0100 (fls 9) */ 3182300016Sadrian { 0x0007, 0, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0200 (fls 10) */ 3183300016Sadrian { 0x0070, 4, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0400 (fls 11) */ 3184300016Sadrian { 0xE000, 13, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0800 (fls 12) */ 3185300016Sadrian { 0xFFFF, 0, 0xE7, 0x7B, 0xEC, 0x7E }, /* field == 0x1000 (fls 13) */ 3186300016Sadrian { 0xFFFF, 0, 0xE7, 0x7C, 0xEC, 0x7F }, /* field == 0x2000 (fls 14) */ 3187300016Sadrian { 0x00C0, 6, 0xE7, 0xF9, 0xEC, 0xFB } /* field == 0x4000 (fls 15) */ 3188300016Sadrian}; 3189300016Sadrian 3190300016Sadrian/* field, val_addr_core0, val_addr_core1, val_mask, val_shift */ 3191300016Sadrianstatic const struct bwn_nphy_rf_control_override_rev7 3192300016Sadrian tbl_rf_control_override_rev7_over0[] = { 3193300016Sadrian { 0x0004, 0x07A, 0x07D, 0x0002, 1 }, 3194300016Sadrian { 0x0008, 0x07A, 0x07D, 0x0004, 2 }, 3195300016Sadrian { 0x0010, 0x07A, 0x07D, 0x0010, 4 }, 3196300016Sadrian { 0x0020, 0x07A, 0x07D, 0x0020, 5 }, 3197300016Sadrian { 0x0040, 0x07A, 0x07D, 0x0040, 6 }, 3198300016Sadrian { 0x0080, 0x07A, 0x07D, 0x0080, 7 }, 3199300016Sadrian { 0x0400, 0x0F8, 0x0FA, 0x0070, 4 }, 3200300016Sadrian { 0x0800, 0x07B, 0x07E, 0xFFFF, 0 }, 3201300016Sadrian { 0x1000, 0x07C, 0x07F, 0xFFFF, 0 }, 3202300016Sadrian { 0x6000, 0x348, 0x349, 0x00FF, 0 }, 3203300016Sadrian { 0x2000, 0x348, 0x349, 0x000F, 0 }, 3204300016Sadrian}; 3205300016Sadrian 3206300016Sadrian/* field, val_addr_core0, val_addr_core1, val_mask, val_shift */ 3207300016Sadrianstatic const struct bwn_nphy_rf_control_override_rev7 3208300016Sadrian tbl_rf_control_override_rev7_over1[] = { 3209300016Sadrian { 0x0002, 0x340, 0x341, 0x0002, 1 }, 3210300016Sadrian { 0x0008, 0x340, 0x341, 0x0008, 3 }, 3211300016Sadrian { 0x0020, 0x340, 0x341, 0x0020, 5 }, 3212300016Sadrian { 0x0010, 0x340, 0x341, 0x0010, 4 }, 3213300016Sadrian { 0x0004, 0x340, 0x341, 0x0004, 2 }, 3214300016Sadrian { 0x0080, 0x340, 0x341, 0x0700, 8 }, 3215300016Sadrian { 0x0800, 0x340, 0x341, 0x4000, 14 }, 3216300016Sadrian { 0x0400, 0x340, 0x341, 0x2000, 13 }, 3217300016Sadrian { 0x0200, 0x340, 0x341, 0x0800, 12 }, 3218300016Sadrian { 0x0100, 0x340, 0x341, 0x0100, 11 }, 3219300016Sadrian { 0x0040, 0x340, 0x341, 0x0040, 6 }, 3220300016Sadrian { 0x0001, 0x340, 0x341, 0x0001, 0 }, 3221300016Sadrian}; 3222300016Sadrian 3223300016Sadrian/* field, val_addr_core0, val_addr_core1, val_mask, val_shift */ 3224300016Sadrianstatic const struct bwn_nphy_rf_control_override_rev7 3225300016Sadrian tbl_rf_control_override_rev7_over2[] = { 3226300016Sadrian { 0x0008, 0x344, 0x345, 0x0008, 3 }, 3227300016Sadrian { 0x0002, 0x344, 0x345, 0x0002, 1 }, 3228300016Sadrian { 0x0001, 0x344, 0x345, 0x0001, 0 }, 3229300016Sadrian { 0x0004, 0x344, 0x345, 0x0004, 2 }, 3230300016Sadrian { 0x0010, 0x344, 0x345, 0x0010, 4 }, 3231300016Sadrian}; 3232300016Sadrian 3233300016Sadrianstatic struct bwn_nphy_gain_ctl_workaround_entry nphy_gain_ctl_wa_phy6_radio11_ghz2 = { 3234300016Sadrian { 10, 14, 19, 27 }, 3235300016Sadrian { -5, 6, 10, 15 }, 3236300016Sadrian { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, 3237300016Sadrian { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, 3238300016Sadrian 0x427E, 3239300016Sadrian { 0x413F, 0x413F, 0x413F, 0x413F }, 3240300016Sadrian 0x007E, 0x0066, 0x1074, 3241300016Sadrian 0x18, 0x18, 0x18, 3242300016Sadrian 0x01D0, 0x5, 3243300016Sadrian}; 3244300016Sadrianstatic struct bwn_nphy_gain_ctl_workaround_entry nphy_gain_ctl_workaround[2][4] = { 3245300016Sadrian { /* 2GHz */ 3246300016Sadrian { /* PHY rev 3 */ 3247300016Sadrian { 7, 11, 16, 23 }, 3248300016Sadrian { -5, 6, 10, 14 }, 3249300016Sadrian { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, 3250300016Sadrian { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, 3251300016Sadrian 0x627E, 3252300016Sadrian { 0x613F, 0x613F, 0x613F, 0x613F }, 3253300016Sadrian 0x107E, 0x0066, 0x0074, 3254300016Sadrian 0x18, 0x18, 0x18, 3255300016Sadrian 0x020D, 0x5, 3256300016Sadrian }, 3257300016Sadrian { /* PHY rev 4 */ 3258300016Sadrian { 8, 12, 17, 25 }, 3259300016Sadrian { -5, 6, 10, 14 }, 3260300016Sadrian { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, 3261300016Sadrian { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, 3262300016Sadrian 0x527E, 3263300016Sadrian { 0x513F, 0x513F, 0x513F, 0x513F }, 3264300016Sadrian 0x007E, 0x0066, 0x0074, 3265300016Sadrian 0x18, 0x18, 0x18, 3266300016Sadrian 0x01A1, 0x5, 3267300016Sadrian }, 3268300016Sadrian { /* PHY rev 5 */ 3269300016Sadrian { 9, 13, 18, 26 }, 3270300016Sadrian { -3, 7, 11, 16 }, 3271300016Sadrian { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, 3272300016Sadrian { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, 3273300016Sadrian 0x427E, /* invalid for external LNA! */ 3274300016Sadrian { 0x413F, 0x413F, 0x413F, 0x413F }, /* invalid for external LNA! */ 3275300016Sadrian 0x1076, 0x0066, 0x0000, /* low is invalid (the last one) */ 3276300016Sadrian 0x18, 0x18, 0x18, 3277300016Sadrian 0x01D0, 0x9, 3278300016Sadrian }, 3279300016Sadrian { /* PHY rev 6+ */ 3280300016Sadrian { 8, 13, 18, 25 }, 3281300016Sadrian { -5, 6, 10, 14 }, 3282300016Sadrian { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, 3283300016Sadrian { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, 3284300016Sadrian 0x527E, /* invalid for external LNA! */ 3285300016Sadrian { 0x513F, 0x513F, 0x513F, 0x513F }, /* invalid for external LNA! */ 3286300016Sadrian 0x007E, 0x0066, 0x0000, /* low is invalid (the last one) */ 3287300016Sadrian 0x18, 0x18, 0x18, 3288300016Sadrian 0x01D0, 0x5, 3289300016Sadrian }, 3290300016Sadrian }, 3291300016Sadrian { /* 5GHz */ 3292300016Sadrian { /* PHY rev 3 */ 3293300016Sadrian { 7, 11, 17, 23 }, 3294300016Sadrian { -6, 2, 6, 10 }, 3295300016Sadrian { 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 }, 3296300016Sadrian { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, 3297300016Sadrian 0x52DE, 3298300016Sadrian { 0x516F, 0x516F, 0x516F, 0x516F }, 3299300016Sadrian 0x00DE, 0x00CA, 0x00CC, 3300300016Sadrian 0x1E, 0x1E, 0x1E, 3301300016Sadrian 0x01A1, 25, 3302300016Sadrian }, 3303300016Sadrian { /* PHY rev 4 */ 3304300016Sadrian { 8, 12, 18, 23 }, 3305300016Sadrian { -5, 2, 6, 10 }, 3306300016Sadrian { 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD }, 3307300016Sadrian { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, 3308300016Sadrian 0x629E, 3309300016Sadrian { 0x614F, 0x614F, 0x614F, 0x614F }, 3310300016Sadrian 0x029E, 0x1084, 0x0086, 3311300016Sadrian 0x24, 0x24, 0x24, 3312300016Sadrian 0x0107, 25, 3313300016Sadrian }, 3314300016Sadrian { /* PHY rev 5 */ 3315300016Sadrian { 6, 10, 16, 21 }, 3316300016Sadrian { -7, 0, 4, 8 }, 3317300016Sadrian { 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD }, 3318300016Sadrian { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, 3319300016Sadrian 0x729E, 3320300016Sadrian { 0x714F, 0x714F, 0x714F, 0x714F }, 3321300016Sadrian 0x029E, 0x2084, 0x2086, 3322300016Sadrian 0x24, 0x24, 0x24, 3323300016Sadrian 0x00A9, 25, 3324300016Sadrian }, 3325300016Sadrian { /* PHY rev 6+ */ 3326300016Sadrian { 6, 10, 16, 21 }, 3327300016Sadrian { -7, 0, 4, 8 }, 3328300016Sadrian { 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD }, 3329300016Sadrian { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, 3330300016Sadrian 0x729E, 3331300016Sadrian { 0x714F, 0x714F, 0x714F, 0x714F }, 3332300016Sadrian 0x029E, 0x2084, 0x2086, 3333300016Sadrian 0x24, 0x24, 0x24, /* low is invalid for radio rev 11! */ 3334300016Sadrian 0x00F0, 25, 3335300016Sadrian }, 3336300016Sadrian }, 3337300016Sadrian}; 3338300016Sadrian 3339300016Sadrianstatic inline void assert_ntab_array_sizes(void) 3340300016Sadrian{ 3341300016Sadrian#undef check 3342300016Sadrian#define check(table, size) \ 3343300016Sadrian CTASSERT(nitems(bwn_ntab_##table) == BWN_NTAB_##size##_SIZE) 3344300016Sadrian 3345300016Sadrian check(adjustpower0, C0_ADJPLT); 3346300016Sadrian check(adjustpower1, C1_ADJPLT); 3347300016Sadrian check(bdi, BDI); 3348300016Sadrian check(channelest, CHANEST); 3349300016Sadrian check(estimatepowerlt0, C0_ESTPLT); 3350300016Sadrian check(estimatepowerlt1, C1_ESTPLT); 3351300016Sadrian check(framelookup, FRAMELT); 3352300016Sadrian check(framestruct, FRAMESTRUCT); 3353300016Sadrian check(gainctl0, C0_GAINCTL); 3354300016Sadrian check(gainctl1, C1_GAINCTL); 3355300016Sadrian check(intlevel, INTLEVEL); 3356300016Sadrian check(iqlt0, C0_IQLT); 3357300016Sadrian check(iqlt1, C1_IQLT); 3358300016Sadrian check(loftlt0, C0_LOFEEDTH); 3359300016Sadrian check(loftlt1, C1_LOFEEDTH); 3360300016Sadrian check(mcs, MCS); 3361300016Sadrian check(noisevar10, NOISEVAR10); 3362300016Sadrian check(noisevar11, NOISEVAR11); 3363300016Sadrian check(pilot, PILOT); 3364300016Sadrian check(pilotlt, PILOTLT); 3365300016Sadrian check(tdi20a0, TDI20A0); 3366300016Sadrian check(tdi20a1, TDI20A1); 3367300016Sadrian check(tdi40a0, TDI40A0); 3368300016Sadrian check(tdi40a1, TDI40A1); 3369300016Sadrian check(tdtrn, TDTRN); 3370300016Sadrian check(tmap, TMAP); 3371300016Sadrian 3372300016Sadrian#undef check 3373300016Sadrian} 3374300016Sadrian 3375300016Sadrianuint32_t bwn_ntab_read(struct bwn_mac *mac, uint32_t offset) 3376300016Sadrian{ 3377300016Sadrian uint32_t type, value; 3378300016Sadrian 3379300016Sadrian type = offset & BWN_NTAB_TYPEMASK; 3380300016Sadrian offset &= ~BWN_NTAB_TYPEMASK; 3381300016Sadrian 3382300016Sadrian KASSERT(offset <= 0xFFFF, ("%s: invalid offset (%d)\n", 3383300016Sadrian __func__, offset)); 3384300016Sadrian 3385300016Sadrian switch (type) { 3386300016Sadrian case BWN_NTAB_8BIT: 3387300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3388300016Sadrian value = BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO) & 0xFF; 3389300016Sadrian break; 3390300016Sadrian case BWN_NTAB_16BIT: 3391300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3392300016Sadrian value = BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3393300016Sadrian break; 3394300016Sadrian case BWN_NTAB_32BIT: 3395300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3396300016Sadrian value = BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3397300016Sadrian value |= BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATAHI) << 16; 3398300016Sadrian break; 3399300016Sadrian default: 3400300016Sadrian KASSERT(0, ("%s: invalid type", __func__)); 3401300016Sadrian value = 0; 3402300016Sadrian } 3403300016Sadrian 3404300016Sadrian return value; 3405300016Sadrian} 3406300016Sadrian 3407300016Sadrianvoid bwn_ntab_read_bulk(struct bwn_mac *mac, uint32_t offset, 3408300016Sadrian unsigned int nr_elements, void *_data) 3409300016Sadrian{ 3410300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3411300016Sadrian uint32_t type; 3412300016Sadrian uint8_t *data = _data; 3413300016Sadrian unsigned int i; 3414300016Sadrian 3415300016Sadrian type = offset & BWN_NTAB_TYPEMASK; 3416300016Sadrian offset &= ~BWN_NTAB_TYPEMASK; 3417300016Sadrian KASSERT(offset <= 0xFFFF, ("%s: invalid offset (%d)\n", 3418300016Sadrian __func__, offset)); 3419300016Sadrian 3420300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3421300016Sadrian 3422300016Sadrian for (i = 0; i < nr_elements; i++) { 3423300016Sadrian /* Auto increment broken + caching issue on BCM43224? */ 3424300016Sadrian if (siba_get_chipid(sc->sc_dev) == 43224 && 3425300016Sadrian siba_get_revid(sc->sc_dev) == 1) { 3426300016Sadrian BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3427300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset + i); 3428300016Sadrian } 3429300016Sadrian 3430300016Sadrian switch (type) { 3431300016Sadrian case BWN_NTAB_8BIT: 3432300016Sadrian *data = BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO) & 0xFF; 3433300016Sadrian data++; 3434300016Sadrian break; 3435300016Sadrian case BWN_NTAB_16BIT: 3436300016Sadrian *((uint16_t *)data) = BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3437300016Sadrian data += 2; 3438300016Sadrian break; 3439300016Sadrian case BWN_NTAB_32BIT: 3440300016Sadrian *((uint32_t *)data) = 3441300016Sadrian BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3442300016Sadrian *((uint32_t *)data) |= 3443300016Sadrian BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATAHI) << 16; 3444300016Sadrian data += 4; 3445300016Sadrian break; 3446300016Sadrian default: 3447300016Sadrian KASSERT(0, ("%s: called; invalid type (%d)\n", 3448300016Sadrian __func__, type)); 3449300016Sadrian } 3450300016Sadrian } 3451300016Sadrian} 3452300016Sadrian 3453300016Sadrianvoid bwn_ntab_write(struct bwn_mac *mac, uint32_t offset, uint32_t value) 3454300016Sadrian{ 3455300016Sadrian uint32_t type, orig; 3456300016Sadrian 3457300016Sadrian type = offset & BWN_NTAB_TYPEMASK; 3458300016Sadrian orig = offset; 3459300016Sadrian offset &= 0xFFFF; 3460300016Sadrian 3461300016Sadrian switch (type) { 3462300016Sadrian case BWN_NTAB_8BIT: 3463300016Sadrian KASSERT(value <= 0xFF, ("%s: 8bit: invalid value (%d) (0x%08x)\n", 3464300016Sadrian __func__, value, orig)); 3465300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3466300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, value); 3467300016Sadrian break; 3468300016Sadrian case BWN_NTAB_16BIT: 3469300016Sadrian KASSERT(value <= 0xFFFF, ("%s: 8bit: invalid value (%d) (0x%08x)\n", 3470300016Sadrian __func__, value, orig)); 3471300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3472300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, value); 3473300016Sadrian break; 3474300016Sadrian case BWN_NTAB_32BIT: 3475300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3476300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATAHI, value >> 16); 3477300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, value & 0xFFFF); 3478300016Sadrian break; 3479300016Sadrian default: 3480300016Sadrian KASSERT(0, ("%s: called; invalid type (%d)\n", 3481300016Sadrian __func__, type)); 3482300016Sadrian } 3483300016Sadrian 3484300016Sadrian return; 3485300016Sadrian 3486300016Sadrian /* Some compiletime assertions... */ 3487300016Sadrian assert_ntab_array_sizes(); 3488300016Sadrian} 3489300016Sadrian 3490300016Sadrianvoid bwn_ntab_write_bulk(struct bwn_mac *mac, uint32_t offset, 3491300016Sadrian unsigned int nr_elements, const void *_data) 3492300016Sadrian{ 3493300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3494300016Sadrian uint32_t type, value; 3495300016Sadrian uint32_t orig; 3496300016Sadrian const uint8_t *data = _data; 3497300016Sadrian unsigned int i; 3498300016Sadrian 3499300016Sadrian type = offset & BWN_NTAB_TYPEMASK; 3500300016Sadrian orig = offset; 3501300016Sadrian offset &= ~BWN_NTAB_TYPEMASK; 3502300016Sadrian KASSERT(offset <= 0xFFFF, ("%s: invalid offset (%d)\n", 3503300016Sadrian __func__, offset)); 3504300016Sadrian 3505300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset); 3506300016Sadrian 3507300016Sadrian for (i = 0; i < nr_elements; i++) { 3508300016Sadrian /* Auto increment broken + caching issue on BCM43224? */ 3509300016Sadrian if ((offset >> 10) == 9 && 3510300016Sadrian siba_get_chipid(sc->sc_dev) == 43224 && 3511300016Sadrian siba_get_revid(sc->sc_dev) == 1) { 3512300016Sadrian BWN_PHY_READ(mac, BWN_NPHY_TABLE_DATALO); 3513300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_ADDR, offset + i); 3514300016Sadrian } 3515300016Sadrian 3516300016Sadrian switch (type) { 3517300016Sadrian case BWN_NTAB_8BIT: 3518300016Sadrian value = *data; 3519300016Sadrian data++; 3520300016Sadrian KASSERT(value <= 0xFF, ("%s: 8bit: invalid value (%d) (0x%08x)\n", 3521300016Sadrian __func__, value, orig)); 3522300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, value); 3523300016Sadrian break; 3524300016Sadrian case BWN_NTAB_16BIT: 3525300016Sadrian value = *((const uint16_t *)data); 3526300016Sadrian data += 2; 3527300016Sadrian KASSERT(value <= 0xFFFF, ("%s: 16bit: invalid value (%d) (0x%08x)\n", 3528300016Sadrian __func__, value, orig)); 3529300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, value); 3530300016Sadrian break; 3531300016Sadrian case BWN_NTAB_32BIT: 3532300016Sadrian value = *((const uint32_t *)data); 3533300016Sadrian data += 4; 3534300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATAHI, value >> 16); 3535300016Sadrian BWN_PHY_WRITE(mac, BWN_NPHY_TABLE_DATALO, 3536300016Sadrian value & 0xFFFF); 3537300016Sadrian break; 3538300016Sadrian default: 3539300016Sadrian KASSERT(0, ("%s: invalid type (%d)\n", __func__, 3540300016Sadrian type)); 3541300016Sadrian } 3542300016Sadrian } 3543300016Sadrian} 3544300016Sadrian 3545300016Sadrian#define ntab_upload(mac, offset, data) do { \ 3546300016Sadrian bwn_ntab_write_bulk(mac, offset, nitems(data), data); \ 3547300016Sadrian } while (0) 3548300016Sadrian 3549300016Sadrianstatic void bwn_nphy_tables_init_shared_lut(struct bwn_mac *mac) 3550300016Sadrian{ 3551300016Sadrian ntab_upload(mac, BWN_NTAB_C0_ESTPLT_R3, bwn_ntab_estimatepowerlt0_r3); 3552300016Sadrian ntab_upload(mac, BWN_NTAB_C1_ESTPLT_R3, bwn_ntab_estimatepowerlt1_r3); 3553300016Sadrian ntab_upload(mac, BWN_NTAB_C0_ADJPLT_R3, bwn_ntab_adjustpower0_r3); 3554300016Sadrian ntab_upload(mac, BWN_NTAB_C1_ADJPLT_R3, bwn_ntab_adjustpower1_r3); 3555300016Sadrian ntab_upload(mac, BWN_NTAB_C0_GAINCTL_R3, bwn_ntab_gainctl0_r3); 3556300016Sadrian ntab_upload(mac, BWN_NTAB_C1_GAINCTL_R3, bwn_ntab_gainctl1_r3); 3557300016Sadrian ntab_upload(mac, BWN_NTAB_C0_IQLT_R3, bwn_ntab_iqlt0_r3); 3558300016Sadrian ntab_upload(mac, BWN_NTAB_C1_IQLT_R3, bwn_ntab_iqlt1_r3); 3559300016Sadrian ntab_upload(mac, BWN_NTAB_C0_LOFEEDTH_R3, bwn_ntab_loftlt0_r3); 3560300016Sadrian ntab_upload(mac, BWN_NTAB_C1_LOFEEDTH_R3, bwn_ntab_loftlt1_r3); 3561300016Sadrian} 3562300016Sadrian 3563300016Sadrianstatic void bwn_nphy_tables_init_rev7_volatile(struct bwn_mac *mac) 3564300016Sadrian{ 3565300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3566300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3567300016Sadrian uint8_t antswlut; 3568300016Sadrian int core, offset, i; 3569300016Sadrian 3570300016Sadrian const int antswlut0_offsets[] = { 0, 4, 8, }; /* Offsets for values */ 3571300016Sadrian const uint8_t antswlut0_values[][3] = { 3572300016Sadrian { 0x2, 0x12, 0x8 }, /* Core 0 */ 3573300016Sadrian { 0x2, 0x18, 0x2 }, /* Core 1 */ 3574300016Sadrian }; 3575300016Sadrian 3576300016Sadrian if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) 3577300016Sadrian antswlut = siba_sprom_get_fem_5ghz_antswlut(sc->sc_dev); 3578300016Sadrian else 3579300016Sadrian antswlut = siba_sprom_get_fem_2ghz_antswlut(sc->sc_dev); 3580300016Sadrian 3581300016Sadrian switch (antswlut) { 3582300016Sadrian case 0: 3583300016Sadrian for (core = 0; core < 2; core++) { 3584300016Sadrian for (i = 0; i < nitems(antswlut0_values[0]); i++) { 3585300016Sadrian offset = core ? 0x20 : 0x00; 3586300016Sadrian offset += antswlut0_offsets[i]; 3587300016Sadrian bwn_ntab_write(mac, BWN_NTAB8(9, offset), 3588300016Sadrian antswlut0_values[core][i]); 3589300016Sadrian } 3590300016Sadrian } 3591300016Sadrian break; 3592300016Sadrian default: 3593300016Sadrian BWN_ERRPRINTF(mac->mac_sc, "Unsupported antswlut: %d\n", antswlut); 3594300016Sadrian break; 3595300016Sadrian } 3596300016Sadrian} 3597300016Sadrian 3598300016Sadrianstatic void bwn_nphy_tables_init_rev16(struct bwn_mac *mac) 3599300016Sadrian{ 3600300016Sadrian /* Static tables */ 3601300016Sadrian if (mac->mac_phy.phy_do_full_init) { 3602300016Sadrian ntab_upload(mac, BWN_NTAB_NOISEVAR_R7, bwn_ntab_noisevar_r7); 3603300016Sadrian bwn_nphy_tables_init_shared_lut(mac); 3604300016Sadrian } 3605300016Sadrian 3606300016Sadrian /* Volatile tables */ 3607300016Sadrian bwn_nphy_tables_init_rev7_volatile(mac); 3608300016Sadrian} 3609300016Sadrian 3610300016Sadrianstatic void bwn_nphy_tables_init_rev7(struct bwn_mac *mac) 3611300016Sadrian{ 3612300016Sadrian /* Static tables */ 3613300016Sadrian if (mac->mac_phy.phy_do_full_init) { 3614300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMESTRUCT_R3, bwn_ntab_framestruct_r3); 3615300016Sadrian ntab_upload(mac, BWN_NTAB_PILOT_R3, bwn_ntab_pilot_r3); 3616300016Sadrian ntab_upload(mac, BWN_NTAB_TMAP_R7, bwn_ntab_tmap_r7); 3617300016Sadrian ntab_upload(mac, BWN_NTAB_INTLEVEL_R3, bwn_ntab_intlevel_r3); 3618300016Sadrian ntab_upload(mac, BWN_NTAB_TDTRN_R3, bwn_ntab_tdtrn_r3); 3619300016Sadrian ntab_upload(mac, BWN_NTAB_NOISEVAR_R7, bwn_ntab_noisevar_r7); 3620300016Sadrian ntab_upload(mac, BWN_NTAB_MCS_R3, bwn_ntab_mcs_r3); 3621300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A0_R3, bwn_ntab_tdi20a0_r3); 3622300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A1_R3, bwn_ntab_tdi20a1_r3); 3623300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A0_R3, bwn_ntab_tdi40a0_r3); 3624300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A1_R3, bwn_ntab_tdi40a1_r3); 3625300016Sadrian ntab_upload(mac, BWN_NTAB_PILOTLT_R3, bwn_ntab_pilotlt_r3); 3626300016Sadrian ntab_upload(mac, BWN_NTAB_CHANEST_R3, bwn_ntab_channelest_r3); 3627300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMELT_R3, bwn_ntab_framelookup_r3); 3628300016Sadrian bwn_nphy_tables_init_shared_lut(mac); 3629300016Sadrian } 3630300016Sadrian 3631300016Sadrian /* Volatile tables */ 3632300016Sadrian bwn_nphy_tables_init_rev7_volatile(mac); 3633300016Sadrian} 3634300016Sadrian 3635300016Sadrianstatic void bwn_nphy_tables_init_rev3(struct bwn_mac *mac) 3636300016Sadrian{ 3637300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3638300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3639300016Sadrian uint8_t antswlut; 3640300016Sadrian 3641300016Sadrian if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) 3642300016Sadrian antswlut = siba_sprom_get_fem_5ghz_antswlut(sc->sc_dev); 3643300016Sadrian else 3644300016Sadrian antswlut = siba_sprom_get_fem_2ghz_antswlut(sc->sc_dev); 3645300016Sadrian 3646300016Sadrian /* Static tables */ 3647300016Sadrian if (mac->mac_phy.phy_do_full_init) { 3648300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMESTRUCT_R3, bwn_ntab_framestruct_r3); 3649300016Sadrian ntab_upload(mac, BWN_NTAB_PILOT_R3, bwn_ntab_pilot_r3); 3650300016Sadrian ntab_upload(mac, BWN_NTAB_TMAP_R3, bwn_ntab_tmap_r3); 3651300016Sadrian ntab_upload(mac, BWN_NTAB_INTLEVEL_R3, bwn_ntab_intlevel_r3); 3652300016Sadrian ntab_upload(mac, BWN_NTAB_TDTRN_R3, bwn_ntab_tdtrn_r3); 3653300016Sadrian ntab_upload(mac, BWN_NTAB_NOISEVAR_R3, bwn_ntab_noisevar_r3); 3654300016Sadrian ntab_upload(mac, BWN_NTAB_MCS_R3, bwn_ntab_mcs_r3); 3655300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A0_R3, bwn_ntab_tdi20a0_r3); 3656300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A1_R3, bwn_ntab_tdi20a1_r3); 3657300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A0_R3, bwn_ntab_tdi40a0_r3); 3658300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A1_R3, bwn_ntab_tdi40a1_r3); 3659300016Sadrian ntab_upload(mac, BWN_NTAB_PILOTLT_R3, bwn_ntab_pilotlt_r3); 3660300016Sadrian ntab_upload(mac, BWN_NTAB_CHANEST_R3, bwn_ntab_channelest_r3); 3661300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMELT_R3, bwn_ntab_framelookup_r3); 3662300016Sadrian bwn_nphy_tables_init_shared_lut(mac); 3663300016Sadrian } 3664300016Sadrian 3665300016Sadrian /* Volatile tables */ 3666300016Sadrian if (antswlut < nitems(bwn_ntab_antswctl_r3)) 3667300016Sadrian ntab_upload(mac, BWN_NTAB_ANT_SW_CTL_R3, 3668300016Sadrian bwn_ntab_antswctl_r3[antswlut]); 3669300016Sadrian else 3670300016Sadrian KASSERT(0, ("%s: antswlut out of bounds (%d)\n", 3671300016Sadrian __func__, antswlut)); 3672300016Sadrian} 3673300016Sadrian 3674300016Sadrianstatic void bwn_nphy_tables_init_rev0(struct bwn_mac *mac) 3675300016Sadrian{ 3676300016Sadrian /* Static tables */ 3677300016Sadrian if (mac->mac_phy.phy_do_full_init) { 3678300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMESTRUCT, bwn_ntab_framestruct); 3679300016Sadrian ntab_upload(mac, BWN_NTAB_FRAMELT, bwn_ntab_framelookup); 3680300016Sadrian ntab_upload(mac, BWN_NTAB_TMAP, bwn_ntab_tmap); 3681300016Sadrian ntab_upload(mac, BWN_NTAB_TDTRN, bwn_ntab_tdtrn); 3682300016Sadrian ntab_upload(mac, BWN_NTAB_INTLEVEL, bwn_ntab_intlevel); 3683300016Sadrian ntab_upload(mac, BWN_NTAB_PILOT, bwn_ntab_pilot); 3684300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A0, bwn_ntab_tdi20a0); 3685300016Sadrian ntab_upload(mac, BWN_NTAB_TDI20A1, bwn_ntab_tdi20a1); 3686300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A0, bwn_ntab_tdi40a0); 3687300016Sadrian ntab_upload(mac, BWN_NTAB_TDI40A1, bwn_ntab_tdi40a1); 3688300016Sadrian ntab_upload(mac, BWN_NTAB_CHANEST, bwn_ntab_channelest); 3689300016Sadrian ntab_upload(mac, BWN_NTAB_MCS, bwn_ntab_mcs); 3690300016Sadrian ntab_upload(mac, BWN_NTAB_NOISEVAR10, bwn_ntab_noisevar10); 3691300016Sadrian ntab_upload(mac, BWN_NTAB_NOISEVAR11, bwn_ntab_noisevar11); 3692300016Sadrian } 3693300016Sadrian 3694300016Sadrian /* Volatile tables */ 3695300016Sadrian ntab_upload(mac, BWN_NTAB_BDI, bwn_ntab_bdi); 3696300016Sadrian ntab_upload(mac, BWN_NTAB_PILOTLT, bwn_ntab_pilotlt); 3697300016Sadrian ntab_upload(mac, BWN_NTAB_C0_GAINCTL, bwn_ntab_gainctl0); 3698300016Sadrian ntab_upload(mac, BWN_NTAB_C1_GAINCTL, bwn_ntab_gainctl1); 3699300016Sadrian ntab_upload(mac, BWN_NTAB_C0_ESTPLT, bwn_ntab_estimatepowerlt0); 3700300016Sadrian ntab_upload(mac, BWN_NTAB_C1_ESTPLT, bwn_ntab_estimatepowerlt1); 3701300016Sadrian ntab_upload(mac, BWN_NTAB_C0_ADJPLT, bwn_ntab_adjustpower0); 3702300016Sadrian ntab_upload(mac, BWN_NTAB_C1_ADJPLT, bwn_ntab_adjustpower1); 3703300016Sadrian ntab_upload(mac, BWN_NTAB_C0_IQLT, bwn_ntab_iqlt0); 3704300016Sadrian ntab_upload(mac, BWN_NTAB_C1_IQLT, bwn_ntab_iqlt1); 3705300016Sadrian ntab_upload(mac, BWN_NTAB_C0_LOFEEDTH, bwn_ntab_loftlt0); 3706300016Sadrian ntab_upload(mac, BWN_NTAB_C1_LOFEEDTH, bwn_ntab_loftlt1); 3707300016Sadrian} 3708300016Sadrian 3709300016Sadrian/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/InitTables */ 3710300016Sadrianvoid bwn_nphy_tables_init(struct bwn_mac *mac) 3711300016Sadrian{ 3712300016Sadrian if (mac->mac_phy.rev >= 16) 3713300016Sadrian bwn_nphy_tables_init_rev16(mac); 3714300016Sadrian else if (mac->mac_phy.rev >= 7) 3715300016Sadrian bwn_nphy_tables_init_rev7(mac); 3716300016Sadrian else if (mac->mac_phy.rev >= 3) 3717300016Sadrian bwn_nphy_tables_init_rev3(mac); 3718300016Sadrian else 3719300016Sadrian bwn_nphy_tables_init_rev0(mac); 3720300016Sadrian} 3721300016Sadrian 3722300016Sadrian/* http://bcm-v4.sipsolutions.net/802.11/PHY/N/GetIpaGainTbl */ 3723300016Sadrianstatic const uint32_t *bwn_nphy_get_ipa_gain_table(struct bwn_mac *mac) 3724300016Sadrian{ 3725300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3726300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3727300016Sadrian struct bwn_phy *phy = &mac->mac_phy; 3728300016Sadrian 3729300016Sadrian if (IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) { 3730300016Sadrian switch (phy->rev) { 3731300016Sadrian case 17: 3732300016Sadrian if (phy->rf_rev == 14) 3733300016Sadrian return bwn_ntab_tx_gain_ipa_2057_rev14_2g; 3734300016Sadrian break; 3735300016Sadrian case 16: 3736300016Sadrian if (phy->rf_rev == 9) 3737300016Sadrian return bwn_ntab_tx_gain_ipa_2057_rev9_2g; 3738300016Sadrian break; 3739300016Sadrian case 8: 3740300016Sadrian if (phy->rf_rev == 5) 3741300016Sadrian return bwn_ntab_tx_gain_ipa_2057_rev5_2g; 3742300016Sadrian break; 3743300016Sadrian case 6: 3744300016Sadrian if (siba_get_chipid(sc->sc_dev) == 47162) /* BCM47612 */ 3745300016Sadrian return bwn_ntab_tx_gain_ipa_rev5_2g; 3746300016Sadrian return bwn_ntab_tx_gain_ipa_rev6_2g; 3747300016Sadrian case 5: 3748300016Sadrian return bwn_ntab_tx_gain_ipa_rev5_2g; 3749300016Sadrian case 4: 3750300016Sadrian case 3: 3751300016Sadrian return bwn_ntab_tx_gain_ipa_rev3_2g; 3752300016Sadrian } 3753300016Sadrian 3754300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3755300016Sadrian "No 2GHz IPA gain table available for this device\n"); 3756300016Sadrian return NULL; 3757300016Sadrian } else { 3758300016Sadrian switch (phy->rev) { 3759300016Sadrian case 16: 3760300016Sadrian if (phy->rf_rev == 9) 3761300016Sadrian return bwn_ntab_tx_gain_ipa_2057_rev9_5g; 3762300016Sadrian break; 3763300016Sadrian case 3 ... 6: 3764300016Sadrian return bwn_ntab_tx_gain_ipa_rev3_5g; 3765300016Sadrian } 3766300016Sadrian 3767300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3768300016Sadrian "No 5GHz IPA gain table available for this device\n"); 3769300016Sadrian return NULL; 3770300016Sadrian } 3771300016Sadrian} 3772300016Sadrian 3773300016Sadrianconst uint32_t *bwn_nphy_get_tx_gain_table(struct bwn_mac *mac) 3774300016Sadrian{ 3775300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3776300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3777300016Sadrian struct bwn_phy *phy = &mac->mac_phy; 3778300016Sadrian int is_5ghz; 3779300016Sadrian 3780300016Sadrian /* XXX ideally we'd have is2, is5, etc */ 3781300016Sadrian is_5ghz = !! IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan); 3782300016Sadrian 3783300016Sadrian if (mac->mac_phy.rev < 3) 3784300016Sadrian return bwn_ntab_tx_gain_rev0_1_2; 3785300016Sadrian 3786300016Sadrian /* rev 3+ */ 3787300016Sadrian if ((mac->mac_phy.phy_n->ipa2g_on && is_5ghz == 0) || 3788300016Sadrian (mac->mac_phy.phy_n->ipa5g_on && is_5ghz == 1)) { 3789300016Sadrian return bwn_nphy_get_ipa_gain_table(mac); 3790300016Sadrian } else if (is_5ghz == 1) { 3791300016Sadrian switch (phy->rev) { 3792300016Sadrian case 6: 3793300016Sadrian case 5: 3794300016Sadrian return bwn_ntab_tx_gain_epa_rev5_5g; 3795300016Sadrian case 4: 3796300016Sadrian return siba_sprom_get_fem_5ghz_extpa_gain(sc->sc_dev) == 3 ? 3797300016Sadrian bwn_ntab_tx_gain_epa_rev4_5g : 3798300016Sadrian bwn_ntab_tx_gain_epa_rev4_hi_pwr_5g; 3799300016Sadrian case 3: 3800300016Sadrian return bwn_ntab_tx_gain_epa_rev3_5g; 3801300016Sadrian default: 3802300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3803300016Sadrian "No 5GHz EPA gain table available for this device\n"); 3804300016Sadrian return NULL; 3805300016Sadrian } 3806300016Sadrian } else { 3807300016Sadrian switch (phy->rev) { 3808300016Sadrian case 6: 3809300016Sadrian case 5: 3810300016Sadrian if (siba_sprom_get_fem_5ghz_extpa_gain(sc->sc_dev) == 3) 3811300016Sadrian return bwn_ntab_tx_gain_epa_rev3_hi_pwr_2g; 3812300016Sadrian /* fall through */ 3813300016Sadrian case 4: 3814300016Sadrian case 3: 3815300016Sadrian return bwn_ntab_tx_gain_epa_rev3_2g; 3816300016Sadrian default: 3817300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3818300016Sadrian "No 2GHz EPA gain table available for this device\n"); 3819300016Sadrian return NULL; 3820300016Sadrian } 3821300016Sadrian } 3822300016Sadrian} 3823300016Sadrian 3824300016Sadrianconst int16_t *bwn_ntab_get_rf_pwr_offset_table(struct bwn_mac *mac) 3825300016Sadrian{ 3826300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3827300016Sadrian struct bwn_phy *phy = &mac->mac_phy; 3828300016Sadrian 3829300016Sadrian if (IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) { 3830300016Sadrian switch (phy->rev) { 3831300016Sadrian case 17: 3832300016Sadrian if (phy->rf_rev == 14) 3833300016Sadrian return bwn_ntab_rf_pwr_offset_2057_rev14_2g; 3834300016Sadrian break; 3835300016Sadrian case 16: 3836300016Sadrian if (phy->rf_rev == 9) 3837300016Sadrian return bwn_ntab_rf_pwr_offset_2057_rev9_2g; 3838300016Sadrian break; 3839300016Sadrian } 3840300016Sadrian 3841300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3842300016Sadrian "No 2GHz RF power table available for this device\n"); 3843300016Sadrian return NULL; 3844300016Sadrian } else { 3845300016Sadrian switch (phy->rev) { 3846300016Sadrian case 16: 3847300016Sadrian if (phy->rf_rev == 9) 3848300016Sadrian return bwn_ntab_rf_pwr_offset_2057_rev9_5g; 3849300016Sadrian break; 3850300016Sadrian } 3851300016Sadrian 3852300016Sadrian BWN_ERRPRINTF(mac->mac_sc, 3853300016Sadrian "No 5GHz RF power table available for this device\n"); 3854300016Sadrian return NULL; 3855300016Sadrian } 3856300016Sadrian} 3857300016Sadrian 3858300016Sadrianstruct bwn_nphy_gain_ctl_workaround_entry *bwn_nphy_get_gain_ctl_workaround_ent( 3859300016Sadrian struct bwn_mac *mac, bool ghz5, bool ext_lna) 3860300016Sadrian{ 3861300016Sadrian struct ieee80211com *ic = &mac->mac_sc->sc_ic; 3862300016Sadrian struct bwn_softc *sc = mac->mac_sc; 3863300016Sadrian struct bwn_phy *phy = &mac->mac_phy; 3864300016Sadrian struct bwn_nphy_gain_ctl_workaround_entry *e; 3865300016Sadrian uint8_t phy_idx; 3866300016Sadrian 3867300016Sadrian if (!ghz5 && mac->mac_phy.rev >= 6 && mac->mac_phy.rf_rev == 11) 3868300016Sadrian return &nphy_gain_ctl_wa_phy6_radio11_ghz2; 3869300016Sadrian 3870300016Sadrian KASSERT(mac->mac_phy.rev >= 3, 3871300016Sadrian ("%s: called; too early phy rev (%d)\n", 3872300016Sadrian __func__, mac->mac_phy.rev)); 3873300016Sadrian if (mac->mac_phy.rev >= 6) 3874300016Sadrian phy_idx = 3; 3875300016Sadrian else if (mac->mac_phy.rev == 5) 3876300016Sadrian phy_idx = 2; 3877300016Sadrian else if (mac->mac_phy.rev == 4) 3878300016Sadrian phy_idx = 1; 3879300016Sadrian else 3880300016Sadrian phy_idx = 0; 3881300016Sadrian e = &nphy_gain_ctl_workaround[ghz5][phy_idx]; 3882300016Sadrian 3883300016Sadrian /* Some workarounds to the workarounds... */ 3884300016Sadrian if (!ghz5) { 3885300016Sadrian uint8_t tr_iso = siba_sprom_get_fem_2ghz_tr_iso(sc->sc_dev); 3886300016Sadrian 3887300016Sadrian if (tr_iso > 7) 3888300016Sadrian tr_iso = 3; 3889300016Sadrian 3890300016Sadrian if (phy->rev >= 6) { 3891300016Sadrian static const int gain_data[] = { 0x106a, 0x106c, 0x1074, 3892300016Sadrian 0x107c, 0x007e, 0x107e, 3893300016Sadrian 0x207e, 0x307e, }; 3894300016Sadrian 3895300016Sadrian e->cliplo_gain = gain_data[tr_iso]; 3896300016Sadrian } else if (phy->rev == 5) { 3897300016Sadrian static const int gain_data[] = { 0x0062, 0x0064, 0x006a, 3898300016Sadrian 0x106a, 0x106c, 0x1074, 3899300016Sadrian 0x107c, 0x207c, }; 3900300016Sadrian 3901300016Sadrian e->cliplo_gain = gain_data[tr_iso]; 3902300016Sadrian } 3903300016Sadrian 3904300016Sadrian if (phy->rev >= 5 && ext_lna) { 3905300016Sadrian e->rfseq_init[0] &= ~0x4000; 3906300016Sadrian e->rfseq_init[1] &= ~0x4000; 3907300016Sadrian e->rfseq_init[2] &= ~0x4000; 3908300016Sadrian e->rfseq_init[3] &= ~0x4000; 3909300016Sadrian e->init_gain &= ~0x4000; 3910300016Sadrian } 3911300016Sadrian } else { 3912300016Sadrian if (phy->rev >= 6) { 3913300016Sadrian /* XXX 40MHz HT only? No static-40MHz? */ 3914300016Sadrian if (phy->rf_rev == 11 && 3915300016Sadrian IEEE80211_IS_CHAN_HT40(ic->ic_curchan)) 3916300016Sadrian e->crsminu = 0x2d; 3917300016Sadrian } else if (phy->rev == 4 && ext_lna) { 3918300016Sadrian e->rfseq_init[0] &= ~0x4000; 3919300016Sadrian e->rfseq_init[1] &= ~0x4000; 3920300016Sadrian e->rfseq_init[2] &= ~0x4000; 3921300016Sadrian e->rfseq_init[3] &= ~0x4000; 3922300016Sadrian e->init_gain &= ~0x4000; 3923300016Sadrian e->rfseq_init[0] |= 0x1000; 3924300016Sadrian e->rfseq_init[1] |= 0x1000; 3925300016Sadrian e->rfseq_init[2] |= 0x1000; 3926300016Sadrian e->rfseq_init[3] |= 0x1000; 3927300016Sadrian e->init_gain |= 0x1000; 3928300016Sadrian } 3929300016Sadrian } 3930300016Sadrian 3931300016Sadrian return e; 3932300016Sadrian} 3933300016Sadrian 3934300016Sadrianconst struct bwn_nphy_rf_control_override_rev7 * 3935300016Sadrianbwn_nphy_get_rf_ctl_over_rev7(struct bwn_mac *mac, uint16_t field, 3936300016Sadrian uint8_t override) 3937300016Sadrian{ 3938300016Sadrian const struct bwn_nphy_rf_control_override_rev7 *e; 3939300016Sadrian uint8_t size, i; 3940300016Sadrian 3941300016Sadrian switch (override) { 3942300016Sadrian case 0: 3943300016Sadrian e = tbl_rf_control_override_rev7_over0; 3944300016Sadrian size = nitems(tbl_rf_control_override_rev7_over0); 3945300016Sadrian break; 3946300016Sadrian case 1: 3947300016Sadrian e = tbl_rf_control_override_rev7_over1; 3948300016Sadrian size = nitems(tbl_rf_control_override_rev7_over1); 3949300016Sadrian break; 3950300016Sadrian case 2: 3951300016Sadrian e = tbl_rf_control_override_rev7_over2; 3952300016Sadrian size = nitems(tbl_rf_control_override_rev7_over2); 3953300016Sadrian break; 3954300016Sadrian default: 3955300016Sadrian BWN_ERRPRINTF(mac->mac_sc, "Invalid override value %d\n", override); 3956300016Sadrian return NULL; 3957300016Sadrian } 3958300016Sadrian 3959300016Sadrian for (i = 0; i < size; i++) { 3960300016Sadrian if (e[i].field == field) 3961300016Sadrian return &e[i]; 3962300016Sadrian } 3963300016Sadrian 3964300016Sadrian return NULL; 3965300016Sadrian} 3966