Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
   1/*
   2
   3  Broadcom B43 wireless driver
   4  IEEE 802.11n PHY data tables
   5
   6  Copyright (c) 2008 Michael Buesch <m@bues.ch>
   7
   8  This program is free software; you can redistribute it and/or modify
   9  it under the terms of the GNU General Public License as published by
  10  the Free Software Foundation; either version 2 of the License, or
  11  (at your option) any later version.
  12
  13  This program is distributed in the hope that it will be useful,
  14  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16  GNU General Public License for more details.
  17
  18  You should have received a copy of the GNU General Public License
  19  along with this program; see the file COPYING.  If not, write to
  20  the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
  21  Boston, MA 02110-1301, USA.
  22
  23*/
  24
  25#include "b43.h"
  26#include "tables_nphy.h"
  27#include "phy_common.h"
  28#include "phy_n.h"
  29
  30static const u8 b43_ntab_adjustpower0[] = {
  31	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  32	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  33	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  34	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  35	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  36	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  37	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  38	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  39	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  40	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  41	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  42	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  43	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  44	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  45	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  46	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  47};
  48
  49static const u8 b43_ntab_adjustpower1[] = {
  50	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  51	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  52	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  53	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  54	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  55	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  56	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  57	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  58	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  59	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  60	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  61	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  62	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  63	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  64	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  65	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  66};
  67
  68static const u16 b43_ntab_bdi[] = {
  69	0x0070, 0x0126, 0x012C, 0x0246, 0x048D, 0x04D2,
  70};
  71
  72static const u32 b43_ntab_channelest[] = {
  73	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  74	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  75	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  76	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  77	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  78	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  79	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  80	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  81	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  82	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  83	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  84	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  85	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  86	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  87	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  88	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  89	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  90	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  91	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  92	0x44444444, 0x44444444, 0x44444444, 0x44444444,
  93	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  94	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  95	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  96	0x10101010, 0x10101010, 0x10101010, 0x10101010,
  97};
  98
  99static const u8 b43_ntab_estimatepowerlt0[] = {
 100	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
 101	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
 102	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
 103	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
 104	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
 105	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
 106	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
 107	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
 108};
 109
 110static const u8 b43_ntab_estimatepowerlt1[] = {
 111	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
 112	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
 113	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
 114	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
 115	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
 116	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
 117	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
 118	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
 119};
 120
 121static const u8 b43_ntab_framelookup[] = {
 122	0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16,
 123	0x0A, 0x0C, 0x1C, 0x1C, 0x0B, 0x0D, 0x1E, 0x1E,
 124	0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1A, 0x1A,
 125	0x0E, 0x10, 0x20, 0x28, 0x0F, 0x11, 0x22, 0x2A,
 126};
 127
 128static const u32 b43_ntab_framestruct[] = {
 129	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
 130	0x09804506, 0x00100030, 0x09804507, 0x00100030,
 131	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 132	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 133	0x08004A0C, 0x00100004, 0x01000A0D, 0x00100024,
 134	0x0980450E, 0x00100034, 0x0980450F, 0x00100034,
 135	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 136	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 137	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
 138	0x1980C506, 0x00100030, 0x21810506, 0x00100030,
 139	0x21810506, 0x00100030, 0x01800504, 0x00100030,
 140	0x11808505, 0x00100030, 0x29814507, 0x01100030,
 141	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
 142	0x21810506, 0x00100030, 0x21810506, 0x00100030,
 143	0x29814507, 0x01100030, 0x00000000, 0x00000000,
 144	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 145	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
 146	0x1980C50E, 0x00100038, 0x2181050E, 0x00100038,
 147	0x2181050E, 0x00100038, 0x0180050C, 0x00100038,
 148	0x1180850D, 0x00100038, 0x2981450F, 0x01100038,
 149	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
 150	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
 151	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
 152	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 153	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
 154	0x1980C506, 0x00100030, 0x1980C506, 0x00100030,
 155	0x11808504, 0x00100030, 0x3981CA05, 0x00100030,
 156	0x29814507, 0x01100030, 0x00000000, 0x00000000,
 157	0x10008A04, 0x00100000, 0x3981CA05, 0x00100030,
 158	0x1980C506, 0x00100030, 0x29814507, 0x01100030,
 159	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 160	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 161	0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028,
 162	0x1980C50E, 0x00100038, 0x1980C50E, 0x00100038,
 163	0x1180850C, 0x00100038, 0x3981CA0D, 0x00100038,
 164	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
 165	0x10008A0C, 0x00100008, 0x3981CA0D, 0x00100038,
 166	0x1980C50E, 0x00100038, 0x2981450F, 0x01100038,
 167	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 168	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 169	0x40021404, 0x00100000, 0x02001405, 0x00100040,
 170	0x0B004A06, 0x01900060, 0x13008A06, 0x01900060,
 171	0x13008A06, 0x01900060, 0x43020A04, 0x00100060,
 172	0x1B00CA05, 0x00100060, 0x23010A07, 0x01500060,
 173	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
 174	0x13008A06, 0x01900060, 0x13008A06, 0x01900060,
 175	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
 176	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 177	0x4002140C, 0x00100010, 0x0200140D, 0x00100050,
 178	0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070,
 179	0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070,
 180	0x1B00CA0D, 0x00100070, 0x23010A0F, 0x01500070,
 181	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
 182	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
 183	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
 184	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 185	0x50029404, 0x00100000, 0x32019405, 0x00100040,
 186	0x0B004A06, 0x01900060, 0x0B004A06, 0x01900060,
 187	0x5B02CA04, 0x00100060, 0x3B01D405, 0x00100060,
 188	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
 189	0x5802D404, 0x00100000, 0x3B01D405, 0x00100060,
 190	0x0B004A06, 0x01900060, 0x23010A07, 0x01500060,
 191	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 192	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 193	0x5002940C, 0x00100010, 0x3201940D, 0x00100050,
 194	0x0B004A0E, 0x01900070, 0x0B004A0E, 0x01900070,
 195	0x5B02CA0C, 0x00100070, 0x3B01D40D, 0x00100070,
 196	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
 197	0x5802D40C, 0x00100010, 0x3B01D40D, 0x00100070,
 198	0x0B004A0E, 0x01900070, 0x23010A0F, 0x01500070,
 199	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 200	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 201	0x40021404, 0x000F4800, 0x62031405, 0x00100040,
 202	0x53028A06, 0x01900060, 0x53028A07, 0x01900060,
 203	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 204	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 205	0x4002140C, 0x000F4808, 0x6203140D, 0x00100048,
 206	0x53028A0E, 0x01900068, 0x53028A0F, 0x01900068,
 207	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 208	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 209	0x00000A0C, 0x00100004, 0x11008A0D, 0x00100024,
 210	0x1980C50E, 0x00100034, 0x2181050E, 0x00100034,
 211	0x2181050E, 0x00100034, 0x0180050C, 0x00100038,
 212	0x1180850D, 0x00100038, 0x1181850D, 0x00100038,
 213	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
 214	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 215	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 216	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 217	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
 218	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
 219	0x1181850D, 0x00100038, 0x2981450F, 0x01100038,
 220	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 221	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 222	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 223	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 224	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 225	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
 226	0x0180C506, 0x00100030, 0x0180C506, 0x00100030,
 227	0x2180C50C, 0x00100030, 0x49820A0D, 0x0016A130,
 228	0x41824A0D, 0x0016A130, 0x2981450F, 0x01100030,
 229	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 230	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 231	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 232	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 233	0x2000CA0C, 0x00100000, 0x49820A0D, 0x0016A130,
 234	0x1980C50E, 0x00100030, 0x41824A0D, 0x0016A130,
 235	0x2981450F, 0x01100030, 0x00000000, 0x00000000,
 236	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 237	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 238	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 239	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 240	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 241	0x4002140C, 0x00100008, 0x0200140D, 0x00100048,
 242	0x0B004A0E, 0x01900068, 0x13008A0E, 0x01900068,
 243	0x13008A0E, 0x01900068, 0x43020A0C, 0x00100070,
 244	0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070,
 245	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
 246	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 247	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 248	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 249	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
 250	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
 251	0x1B014A0D, 0x00100070, 0x23010A0F, 0x01500070,
 252	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 253	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 254	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 255	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 256	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 257	0x50029404, 0x00100000, 0x32019405, 0x00100040,
 258	0x03004A06, 0x01900060, 0x03004A06, 0x01900060,
 259	0x6B030A0C, 0x00100060, 0x4B02140D, 0x0016A160,
 260	0x4302540D, 0x0016A160, 0x23010A0F, 0x01500060,
 261	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 262	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 263	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 264	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 265	0x6B03140C, 0x00100060, 0x4B02140D, 0x0016A160,
 266	0x0B004A0E, 0x01900060, 0x4302540D, 0x0016A160,
 267	0x23010A0F, 0x01500060, 0x00000000, 0x00000000,
 268	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 269	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 270	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 271	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 272	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 273	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
 274	0x53028A06, 0x01900060, 0x5B02CA06, 0x01900060,
 275	0x5B02CA06, 0x01900060, 0x43020A04, 0x00100060,
 276	0x1B00CA05, 0x00100060, 0x53028A07, 0x0190C060,
 277	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 278	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 279	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 280	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 281	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
 282	0x53028A0E, 0x01900070, 0x5B02CA0E, 0x01900070,
 283	0x5B02CA0E, 0x01900070, 0x43020A0C, 0x00100070,
 284	0x1B00CA0D, 0x00100070, 0x53028A0F, 0x0190C070,
 285	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 286	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 287	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 288	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 289	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
 290	0x5B02CA06, 0x01900060, 0x5B02CA06, 0x01900060,
 291	0x53028A07, 0x0190C060, 0x00000000, 0x00000000,
 292	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 293	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 294	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 295	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 296	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 297	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
 298	0x5B02CA0E, 0x01900070, 0x5B02CA0E, 0x01900070,
 299	0x53028A0F, 0x0190C070, 0x00000000, 0x00000000,
 300	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 301	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 302	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 303	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 304	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 305	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 306	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 307	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 308	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 309	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 310	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 311	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 312	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 313	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 314	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 315	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 316	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 317	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 318	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 319	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 320	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 321	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 322	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 323	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 324	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 325	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 326	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 327	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 328	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 329	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 330	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 331	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 332	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 333	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 334	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 335	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 336	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 337};
 338
 339static const u32 b43_ntab_gainctl0[] = {
 340	0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E,
 341	0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42,
 342	0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B,
 343	0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34,
 344	0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E,
 345	0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38,
 346	0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32,
 347	0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44,
 348	0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D,
 349	0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36,
 350	0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40,
 351	0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39,
 352	0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33,
 353	0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D,
 354	0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E,
 355	0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38,
 356	0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42,
 357	0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B,
 358	0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34,
 359	0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44,
 360	0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D,
 361	0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36,
 362	0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30,
 363	0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B,
 364	0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26,
 365	0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22,
 366	0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E,
 367	0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B,
 368	0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18,
 369	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
 370	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
 371	0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00,
 372};
 373
 374static const u32 b43_ntab_gainctl1[] = {
 375	0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E,
 376	0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42,
 377	0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B,
 378	0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34,
 379	0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E,
 380	0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38,
 381	0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32,
 382	0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44,
 383	0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D,
 384	0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36,
 385	0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40,
 386	0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39,
 387	0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33,
 388	0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D,
 389	0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E,
 390	0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38,
 391	0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42,
 392	0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B,
 393	0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34,
 394	0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44,
 395	0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D,
 396	0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36,
 397	0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30,
 398	0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B,
 399	0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26,
 400	0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22,
 401	0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E,
 402	0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B,
 403	0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18,
 404	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
 405	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
 406	0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00,
 407};
 408
 409static const u32 b43_ntab_intlevel[] = {
 410	0x00802070, 0x0671188D, 0x0A60192C, 0x0A300E46,
 411	0x00C1188D, 0x080024D2, 0x00000070,
 412};
 413
 414static const u32 b43_ntab_iqlt0[] = {
 415	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 416	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 417	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 418	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 419	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 420	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 421	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 422	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 423	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 424	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 425	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 426	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 427	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 428	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 429	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 430	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 431	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 432	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 433	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 434	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 435	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 436	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 437	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 438	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 439	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 440	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 441	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 442	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 443	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 444	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 445	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 446	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 447};
 448
 449static const u32 b43_ntab_iqlt1[] = {
 450	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 451	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 452	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 453	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 454	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 455	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 456	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 457	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 458	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 459	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 460	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 461	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 462	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 463	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 464	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 465	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 466	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 467	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 468	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 469	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 470	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 471	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 472	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 473	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 474	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 475	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 476	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 477	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 478	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 479	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 480	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 481	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
 482};
 483
 484static const u16 b43_ntab_loftlt0[] = {
 485	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 486	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 487	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 488	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 489	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 490	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 491	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 492	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 493	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 494	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 495	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 496	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 497	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 498	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 499	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 500	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 501	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 502	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 503	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 504	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 505	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 506	0x0002, 0x0103,
 507};
 508
 509static const u16 b43_ntab_loftlt1[] = {
 510	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 511	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 512	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 513	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 514	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 515	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 516	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 517	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 518	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 519	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 520	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 521	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 522	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 523	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 524	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 525	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 526	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 527	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 528	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 529	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
 530	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
 531	0x0002, 0x0103,
 532};
 533
 534static const u8 b43_ntab_mcs[] = {
 535	0x00, 0x08, 0x0A, 0x10, 0x12, 0x19, 0x1A, 0x1C,
 536	0x40, 0x48, 0x4A, 0x50, 0x52, 0x59, 0x5A, 0x5C,
 537	0x80, 0x88, 0x8A, 0x90, 0x92, 0x99, 0x9A, 0x9C,
 538	0xC0, 0xC8, 0xCA, 0xD0, 0xD2, 0xD9, 0xDA, 0xDC,
 539	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 540	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 541	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 542	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 543	0x00, 0x01, 0x02, 0x04, 0x08, 0x09, 0x0A, 0x0C,
 544	0x10, 0x11, 0x12, 0x14, 0x18, 0x19, 0x1A, 0x1C,
 545	0x20, 0x21, 0x22, 0x24, 0x40, 0x41, 0x42, 0x44,
 546	0x48, 0x49, 0x4A, 0x4C, 0x50, 0x51, 0x52, 0x54,
 547	0x58, 0x59, 0x5A, 0x5C, 0x60, 0x61, 0x62, 0x64,
 548	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 549	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 550	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 551};
 552
 553static const u32 b43_ntab_noisevar10[] = {
 554	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 555	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 556	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 557	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 558	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 559	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 560	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 561	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 562	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 563	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 564	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 565	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 566	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 567	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 568	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 569	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 570	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 571	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 572	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 573	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 574	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 575	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 576	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 577	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 578	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 579	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 580	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 581	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 582	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 583	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 584	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 585	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 586	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 587	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 588	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 589	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 590	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 591	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 592	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 593	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 594	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 595	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 596	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 597	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 598	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 599	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 600	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 601	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 602	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 603	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 604	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 605	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 606	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 607	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 608	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 609	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 610	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 611	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 612	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 613	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 614	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 615	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 616	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 617	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 618};
 619
 620static const u32 b43_ntab_noisevar11[] = {
 621	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 622	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 623	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 624	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 625	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 626	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 627	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 628	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 629	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 630	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 631	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 632	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 633	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 634	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 635	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 636	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 637	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 638	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 639	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 640	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 641	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 642	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 643	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 644	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 645	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 646	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 647	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 648	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 649	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 650	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 651	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 652	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 653	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 654	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 655	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 656	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 657	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 658	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 659	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 660	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 661	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 662	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 663	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 664	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 665	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 666	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 667	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 668	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 669	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 670	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 671	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 672	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 673	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 674	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 675	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 676	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 677	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 678	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 679	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 680	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 681	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 682	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 683	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 684	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
 685};
 686
 687static const u16 b43_ntab_pilot[] = {
 688	0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08,
 689	0xFF08, 0xFF08, 0x80D5, 0x80D5, 0x80D5, 0x80D5,
 690	0x80D5, 0x80D5, 0x80D5, 0x80D5, 0xFF0A, 0xFF82,
 691	0xFFA0, 0xFF28, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
 692	0xFF82, 0xFFA0, 0xFF28, 0xFF0A, 0xFFFF, 0xFFFF,
 693	0xFFFF, 0xFFFF, 0xF83F, 0xFA1F, 0xFA97, 0xFAB5,
 694	0xF2BD, 0xF0BF, 0xFFFF, 0xFFFF, 0xF017, 0xF815,
 695	0xF215, 0xF095, 0xF035, 0xF01D, 0xFFFF, 0xFFFF,
 696	0xFF08, 0xFF02, 0xFF80, 0xFF20, 0xFF08, 0xFF02,
 697	0xFF80, 0xFF20, 0xF01F, 0xF817, 0xFA15, 0xF295,
 698	0xF0B5, 0xF03D, 0xFFFF, 0xFFFF, 0xF82A, 0xFA0A,
 699	0xFA82, 0xFAA0, 0xF2A8, 0xF0AA, 0xFFFF, 0xFFFF,
 700	0xF002, 0xF800, 0xF200, 0xF080, 0xF020, 0xF008,
 701	0xFFFF, 0xFFFF, 0xF00A, 0xF802, 0xFA00, 0xF280,
 702	0xF0A0, 0xF028, 0xFFFF, 0xFFFF,
 703};
 704
 705static const u32 b43_ntab_pilotlt[] = {
 706	0x76540123, 0x62407351, 0x76543201, 0x76540213,
 707	0x76540123, 0x76430521,
 708};
 709
 710static const u32 b43_ntab_tdi20a0[] = {
 711	0x00091226, 0x000A1429, 0x000B56AD, 0x000C58B0,
 712	0x000D5AB3, 0x000E9CB6, 0x000F9EBA, 0x0000C13D,
 713	0x00020301, 0x00030504, 0x00040708, 0x0005090B,
 714	0x00064B8E, 0x00095291, 0x000A5494, 0x000B9718,
 715	0x000C9927, 0x000D9B2A, 0x000EDD2E, 0x000FDF31,
 716	0x000101B4, 0x000243B7, 0x000345BB, 0x000447BE,
 717	0x00058982, 0x00068C05, 0x00099309, 0x000A950C,
 718	0x000BD78F, 0x000CD992, 0x000DDB96, 0x000F1D99,
 719	0x00005FA8, 0x0001422C, 0x0002842F, 0x00038632,
 720	0x00048835, 0x0005CA38, 0x0006CCBC, 0x0009D3BF,
 721	0x000B1603, 0x000C1806, 0x000D1A0A, 0x000E1C0D,
 722	0x000F5E10, 0x00008093, 0x00018297, 0x0002C49A,
 723	0x0003C680, 0x0004C880, 0x00060B00, 0x00070D00,
 724	0x00000000, 0x00000000, 0x00000000,
 725};
 726
 727static const u32 b43_ntab_tdi20a1[] = {
 728	0x00014B26, 0x00028D29, 0x000393AD, 0x00049630,
 729	0x0005D833, 0x0006DA36, 0x00099C3A, 0x000A9E3D,
 730	0x000BC081, 0x000CC284, 0x000DC488, 0x000F068B,
 731	0x0000488E, 0x00018B91, 0x0002D214, 0x0003D418,
 732	0x0004D6A7, 0x000618AA, 0x00071AAE, 0x0009DCB1,
 733	0x000B1EB4, 0x000C0137, 0x000D033B, 0x000E053E,
 734	0x000F4702, 0x00008905, 0x00020C09, 0x0003128C,
 735	0x0004148F, 0x00051712, 0x00065916, 0x00091B19,
 736	0x000A1D28, 0x000B5F2C, 0x000C41AF, 0x000D43B2,
 737	0x000E85B5, 0x000F87B8, 0x0000C9BC, 0x00024CBF,
 738	0x00035303, 0x00045506, 0x0005978A, 0x0006998D,
 739	0x00095B90, 0x000A5D93, 0x000B9F97, 0x000C821A,
 740	0x000D8400, 0x000EC600, 0x000FC800, 0x00010A00,
 741	0x00000000, 0x00000000, 0x00000000,
 742};
 743
 744static const u32 b43_ntab_tdi40a0[] = {
 745	0x0011A346, 0x00136CCF, 0x0014F5D9, 0x001641E2,
 746	0x0017CB6B, 0x00195475, 0x001B2383, 0x001CAD0C,
 747	0x001E7616, 0x0000821F, 0x00020BA8, 0x0003D4B2,
 748	0x00056447, 0x00072DD0, 0x0008B6DA, 0x000A02E3,
 749	0x000B8C6C, 0x000D15F6, 0x0011E484, 0x0013AE0D,
 750	0x00153717, 0x00168320, 0x00180CA9, 0x00199633,
 751	0x001B6548, 0x001CEED1, 0x001EB7DB, 0x0000C3E4,
 752	0x00024D6D, 0x000416F7, 0x0005A585, 0x00076F0F,
 753	0x0008F818, 0x000A4421, 0x000BCDAB, 0x000D9734,
 754	0x00122649, 0x0013EFD2, 0x001578DC, 0x0016C4E5,
 755	0x00184E6E, 0x001A17F8, 0x001BA686, 0x001D3010,
 756	0x001EF999, 0x00010522, 0x00028EAC, 0x00045835,
 757	0x0005E74A, 0x0007B0D3, 0x00093A5D, 0x000A85E6,
 758	0x000C0F6F, 0x000DD8F9, 0x00126787, 0x00143111,
 759	0x0015BA9A, 0x00170623, 0x00188FAD, 0x001A5936,
 760	0x001BE84B, 0x001DB1D4, 0x001F3B5E, 0x000146E7,
 761	0x00031070, 0x000499FA, 0x00062888, 0x0007F212,
 762	0x00097B9B, 0x000AC7A4, 0x000C50AE, 0x000E1A37,
 763	0x0012A94C, 0x001472D5, 0x0015FC5F, 0x00174868,
 764	0x0018D171, 0x001A9AFB, 0x001C2989, 0x001DF313,
 765	0x001F7C9C, 0x000188A5, 0x000351AF, 0x0004DB38,
 766	0x0006AA4D, 0x000833D7, 0x0009BD60, 0x000B0969,
 767	0x000C9273, 0x000E5BFC, 0x00132A8A, 0x0014B414,
 768	0x00163D9D, 0x001789A6, 0x001912B0, 0x001ADC39,
 769	0x001C6BCE, 0x001E34D8, 0x001FBE61, 0x0001CA6A,
 770	0x00039374, 0x00051CFD, 0x0006EC0B, 0x00087515,
 771	0x0009FE9E, 0x000B4AA7, 0x000CD3B1, 0x000E9D3A,
 772	0x00000000, 0x00000000,
 773};
 774
 775static const u32 b43_ntab_tdi40a1[] = {
 776	0x001EDB36, 0x000129CA, 0x0002B353, 0x00047CDD,
 777	0x0005C8E6, 0x000791EF, 0x00091BF9, 0x000AAA07,
 778	0x000C3391, 0x000DFD1A, 0x00120923, 0x0013D22D,
 779	0x00155C37, 0x0016EACB, 0x00187454, 0x001A3DDE,
 780	0x001B89E7, 0x001D12F0, 0x001F1CFA, 0x00016B88,
 781	0x00033492, 0x0004BE1B, 0x00060A24, 0x0007D32E,
 782	0x00095D38, 0x000AEC4C, 0x000C7555, 0x000E3EDF,
 783	0x00124AE8, 0x001413F1, 0x0015A37B, 0x00172C89,
 784	0x0018B593, 0x001A419C, 0x001BCB25, 0x001D942F,
 785	0x001F63B9, 0x0001AD4D, 0x00037657, 0x0004C260,
 786	0x00068BE9, 0x000814F3, 0x0009A47C, 0x000B2D8A,
 787	0x000CB694, 0x000E429D, 0x00128C26, 0x001455B0,
 788	0x0015E4BA, 0x00176E4E, 0x0018F758, 0x001A8361,
 789	0x001C0CEA, 0x001DD674, 0x001FA57D, 0x0001EE8B,
 790	0x0003B795, 0x0005039E, 0x0006CD27, 0x000856B1,
 791	0x0009E5C6, 0x000B6F4F, 0x000CF859, 0x000E8462,
 792	0x00130DEB, 0x00149775, 0x00162603, 0x0017AF8C,
 793	0x00193896, 0x001AC49F, 0x001C4E28, 0x001E17B2,
 794	0x0000A6C7, 0x00023050, 0x0003F9DA, 0x00054563,
 795	0x00070EEC, 0x00089876, 0x000A2704, 0x000BB08D,
 796	0x000D3A17, 0x001185A0, 0x00134F29, 0x0014D8B3,
 797	0x001667C8, 0x0017F151, 0x00197ADB, 0x001B0664,
 798	0x001C8FED, 0x001E5977, 0x0000E805, 0x0002718F,
 799	0x00043B18, 0x000586A1, 0x0007502B, 0x0008D9B4,
 800	0x000A68C9, 0x000BF252, 0x000DBBDC, 0x0011C7E5,
 801	0x001390EE, 0x00151A78, 0x0016A906, 0x00183290,
 802	0x0019BC19, 0x001B4822, 0x001CD12C, 0x001E9AB5,
 803	0x00000000, 0x00000000,
 804};
 805
 806static const u32 b43_ntab_tdtrn[] = {
 807	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
 808	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
 809	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
 810	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
 811	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
 812	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
 813	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
 814	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
 815	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
 816	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
 817	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
 818	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
 819	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
 820	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
 821	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
 822	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
 823	0xFA58FA58, 0xF895043B, 0xFF4C09C0, 0xFBC6FFA8,
 824	0xFB84F384, 0x0798F6F9, 0x05760122, 0x058409F6,
 825	0x0B500000, 0x05B7F542, 0x08860432, 0x06DDFEE7,
 826	0xFB84F384, 0xF9D90664, 0xF7E8025C, 0x00FFF7BD,
 827	0x05A805A8, 0xF7BD00FF, 0x025CF7E8, 0x0664F9D9,
 828	0xF384FB84, 0xFEE706DD, 0x04320886, 0xF54205B7,
 829	0x00000B50, 0x09F60584, 0x01220576, 0xF6F90798,
 830	0xF384FB84, 0xFFA8FBC6, 0x09C0FF4C, 0x043BF895,
 831	0x02D402D4, 0x07DE0270, 0xFC96079C, 0xF90AFE94,
 832	0xFE00FF2C, 0x02D4065D, 0x092A0096, 0x0014FBB8,
 833	0xFD2CFD2C, 0x076AFB3C, 0x0096F752, 0xF991FD87,
 834	0xFB2C0200, 0xFEB8F960, 0x08E0FC96, 0x049802A8,
 835	0xFD2CFD2C, 0x02A80498, 0xFC9608E0, 0xF960FEB8,
 836	0x0200FB2C, 0xFD87F991, 0xF7520096, 0xFB3C076A,
 837	0xFD2CFD2C, 0xFBB80014, 0x0096092A, 0x065D02D4,
 838	0xFF2CFE00, 0xFE94F90A, 0x079CFC96, 0x027007DE,
 839	0x02D402D4, 0x027007DE, 0x079CFC96, 0xFE94F90A,
 840	0xFF2CFE00, 0x065D02D4, 0x0096092A, 0xFBB80014,
 841	0xFD2CFD2C, 0xFB3C076A, 0xF7520096, 0xFD87F991,
 842	0x0200FB2C, 0xF960FEB8, 0xFC9608E0, 0x02A80498,
 843	0xFD2CFD2C, 0x049802A8, 0x08E0FC96, 0xFEB8F960,
 844	0xFB2C0200, 0xF991FD87, 0x0096F752, 0x076AFB3C,
 845	0xFD2CFD2C, 0x0014FBB8, 0x092A0096, 0x02D4065D,
 846	0xFE00FF2C, 0xF90AFE94, 0xFC96079C, 0x07DE0270,
 847	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 848	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 849	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 850	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 851	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 852	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 853	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 854	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 855	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 856	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 857	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 858	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 859	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 860	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 861	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 862	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 863	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 864	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 865	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 866	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 867	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 868	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 869	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 870	0x00000000, 0x00000000, 0x00000000, 0x00000000,
 871	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
 872	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
 873	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
 874	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
 875	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
 876	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
 877	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
 878	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
 879	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
 880	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
 881	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
 882	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
 883	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
 884	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
 885	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
 886	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
 887	0x061C061C, 0xFF30009D, 0xFFB21141, 0xFD87FB54,
 888	0xF65DFE59, 0x02EEF99E, 0x0166F03C, 0xFFF809B6,
 889	0x000008A4, 0x000AF42B, 0x00EFF577, 0xFA840BF2,
 890	0xFC02FF51, 0x08260F67, 0xFFF0036F, 0x0842F9C3,
 891	0x00000000, 0x063DF7BE, 0xFC910010, 0xF099F7DA,
 892	0x00AF03FE, 0xF40E057C, 0x0A89FF11, 0x0BD5FFF6,
 893	0xF75C0000, 0xF64A0008, 0x0FC4FE9A, 0x0662FD12,
 894	0x01A709A3, 0x04AC0279, 0xEEBF004E, 0xFF6300D0,
 895	0xF9E4F9E4, 0x00D0FF63, 0x004EEEBF, 0x027904AC,
 896	0x09A301A7, 0xFD120662, 0xFE9A0FC4, 0x0008F64A,
 897	0x0000F75C, 0xFFF60BD5, 0xFF110A89, 0x057CF40E,
 898	0x03FE00AF, 0xF7DAF099, 0x0010FC91, 0xF7BE063D,
 899	0x00000000, 0xF9C30842, 0x036FFFF0, 0x0F670826,
 900	0xFF51FC02, 0x0BF2FA84, 0xF57700EF, 0xF42B000A,
 901	0x08A40000, 0x09B6FFF8, 0xF03C0166, 0xF99E02EE,
 902	0xFE59F65D, 0xFB54FD87, 0x1141FFB2, 0x009DFF30,
 903	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
 904	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
 905	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
 906	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
 907	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
 908	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
 909	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
 910	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
 911	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
 912	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
 913	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
 914	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
 915	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
 916	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
 917	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
 918	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
 919	0xFA58FA58, 0xF8F0FE00, 0x0448073D, 0xFDC9FE46,
 920	0xF9910258, 0x089D0407, 0xFD5CF71A, 0x02AFFDE0,
 921	0x083E0496, 0xFF5A0740, 0xFF7AFD97, 0x00FE01F1,
 922	0x0009082E, 0xFA94FF75, 0xFECDF8EA, 0xFFB0F693,
 923	0xFD2CFA58, 0x0433FF16, 0xFBA405DD, 0xFA610341,
 924	0x06A606CB, 0x0039FD2D, 0x0677FA97, 0x01FA05E0,
 925	0xF896003E, 0x075A068B, 0x012CFC3E, 0xFA23F98D,
 926	0xFC7CFD43, 0xFF90FC0D, 0x01C10982, 0x00C601D6,
 927	0xFD2CFD2C, 0x01D600C6, 0x098201C1, 0xFC0DFF90,
 928	0xFD43FC7C, 0xF98DFA23, 0xFC3E012C, 0x068B075A,
 929	0x003EF896, 0x05E001FA, 0xFA970677, 0xFD2D0039,
 930	0x06CB06A6, 0x0341FA61, 0x05DDFBA4, 0xFF160433,
 931	0xFA58FD2C, 0xF693FFB0, 0xF8EAFECD, 0xFF75FA94,
 932	0x082E0009, 0x01F100FE, 0xFD97FF7A, 0x0740FF5A,
 933	0x0496083E, 0xFDE002AF, 0xF71AFD5C, 0x0407089D,
 934	0x0258F991, 0xFE46FDC9, 0x073D0448, 0xFE00F8F0,
 935	0xFD2CFD2C, 0xFCE00500, 0xFC09FDDC, 0xFE680157,
 936	0x04C70571, 0xFC3AFF21, 0xFCD70228, 0x056D0277,
 937	0x0200FE00, 0x0022F927, 0xFE3C032B, 0xFC44FF3C,
 938	0x03E9FBDB, 0x04570313, 0x04C9FF5C, 0x000D03B8,
 939	0xFA580000, 0xFBE900D2, 0xF9D0FE0B, 0x0125FDF9,
 940	0x042501BF, 0x0328FA2B, 0xFFA902F0, 0xFA250157,
 941	0x0200FE00, 0x03740438, 0xFF0405FD, 0x030CFE52,
 942	0x0037FB39, 0xFF6904C5, 0x04F8FD23, 0xFD31FC1B,
 943	0xFD2CFD2C, 0xFC1BFD31, 0xFD2304F8, 0x04C5FF69,
 944	0xFB390037, 0xFE52030C, 0x05FDFF04, 0x04380374,
 945	0xFE000200, 0x0157FA25, 0x02F0FFA9, 0xFA2B0328,
 946	0x01BF0425, 0xFDF90125, 0xFE0BF9D0, 0x00D2FBE9,
 947	0x0000FA58, 0x03B8000D, 0xFF5C04C9, 0x03130457,
 948	0xFBDB03E9, 0xFF3CFC44, 0x032BFE3C, 0xF9270022,
 949	0xFE000200, 0x0277056D, 0x0228FCD7, 0xFF21FC3A,
 950	0x057104C7, 0x0157FE68, 0xFDDCFC09, 0x0500FCE0,
 951	0xFD2CFD2C, 0x0500FCE0, 0xFDDCFC09, 0x0157FE68,
 952	0x057104C7, 0xFF21FC3A, 0x0228FCD7, 0x0277056D,
 953	0xFE000200, 0xF9270022, 0x032BFE3C, 0xFF3CFC44,
 954	0xFBDB03E9, 0x03130457, 0xFF5C04C9, 0x03B8000D,
 955	0x0000FA58, 0x00D2FBE9, 0xFE0BF9D0, 0xFDF90125,
 956	0x01BF0425, 0xFA2B0328, 0x02F0FFA9, 0x0157FA25,
 957	0xFE000200, 0x04380374, 0x05FDFF04, 0xFE52030C,
 958	0xFB390037, 0x04C5FF69, 0xFD2304F8, 0xFC1BFD31,
 959	0xFD2CFD2C, 0xFD31FC1B, 0x04F8FD23, 0xFF6904C5,
 960	0x0037FB39, 0x030CFE52, 0xFF0405FD, 0x03740438,
 961	0x0200FE00, 0xFA250157, 0xFFA902F0, 0x0328FA2B,
 962	0x042501BF, 0x0125FDF9, 0xF9D0FE0B, 0xFBE900D2,
 963	0xFA580000, 0x000D03B8, 0x04C9FF5C, 0x04570313,
 964	0x03E9FBDB, 0xFC44FF3C, 0xFE3C032B, 0x0022F927,
 965	0x0200FE00, 0x056D0277, 0xFCD70228, 0xFC3AFF21,
 966	0x04C70571, 0xFE680157, 0xFC09FDDC, 0xFCE00500,
 967	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
 968	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
 969	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
 970	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
 971	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
 972	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
 973	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
 974	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
 975	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
 976	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
 977	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
 978	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
 979	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
 980	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
 981	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
 982	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
 983};
 984
 985static const u32 b43_ntab_tmap[] = {
 986	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
 987	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
 988	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
 989	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
 990	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x000AA888,
 991	0x88880000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
 992	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
 993	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
 994	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
 995	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
 996	0xF1111110, 0x11111111, 0x11F11111, 0x00011111,
 997	0x11110000, 0x1111F111, 0x11111111, 0x111111F1,
 998	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00088AAA,
 999	0xAAAA0000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1000	0xAAA8AAA0, 0x8AAA8AAA, 0xAA8A8A8A, 0x000AAA88,
1001	0x8AAA0000, 0xAAA8A888, 0x8AA88A8A, 0x8A88A888,
1002	0x08080A00, 0x0A08080A, 0x080A0A08, 0x00080808,
1003	0x080A0000, 0x080A0808, 0x080A0808, 0x0A0A0A08,
1004	0xA0A0A0A0, 0x80A0A080, 0x8080A0A0, 0x00008080,
1005	0x80A00000, 0x80A080A0, 0xA080A0A0, 0x8080A0A0,
1006	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1007	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1008	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1009	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1010	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1011	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1012	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1013	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1014	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1015	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1016	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1017	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1018	0x99999000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1019	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1020	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1021	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
1022	0x22000000, 0x2222B222, 0x22222222, 0x222222B2,
1023	0xB2222220, 0x22222222, 0x22D22222, 0x00000222,
1024	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1025	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1026	0x33000000, 0x3333B333, 0x33333333, 0x333333B3,
1027	0xB3333330, 0x33333333, 0x33D33333, 0x00000333,
1028	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
1029	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
1030	0x99B99B00, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1031	0x9B99BB99, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1032	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1033	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
1034	0x22222200, 0x2222F222, 0x22222222, 0x222222F2,
1035	0x22222222, 0x22222222, 0x22F22222, 0x00000222,
1036	0x11000000, 0x1111F111, 0x11111111, 0x11111111,
1037	0xF1111111, 0x11111111, 0x11F11111, 0x01111111,
1038	0xBB9BB900, 0xB9B9BB99, 0xB99BBBBB, 0xBBBB9B9B,
1039	0xB9BB99BB, 0xB99999B9, 0xB9B9B99B, 0x00000BBB,
1040	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1041	0xA8AA88AA, 0xA88888A8, 0xA8A8A88A, 0x0A888AAA,
1042	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1043	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00000AAA,
1044	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1045	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1046	0xBBBBBB00, 0x999BBBBB, 0x9BB99B9B, 0xB9B9B9BB,
1047	0xB9B99BBB, 0xB9B9B9BB, 0xB9BB9B99, 0x00000999,
1048	0x8A000000, 0xAA88A888, 0xA88888AA, 0xA88A8A88,
1049	0xA88AA88A, 0x88A8AAAA, 0xA8AA8AAA, 0x0888A88A,
1050	0x0B0B0B00, 0x090B0B0B, 0x0B090B0B, 0x0909090B,
1051	0x09090B0B, 0x09090B0B, 0x09090B09, 0x00000909,
1052	0x0A000000, 0x0A080808, 0x080A080A, 0x080A0A08,
1053	0x080A080A, 0x0808080A, 0x0A0A0A08, 0x0808080A,
1054	0xB0B0B000, 0x9090B0B0, 0x90B09090, 0xB0B0B090,
1055	0xB0B090B0, 0x90B0B0B0, 0xB0B09090, 0x00000090,
1056	0x80000000, 0xA080A080, 0xA08080A0, 0xA0808080,
1057	0xA080A080, 0x80A0A0A0, 0xA0A080A0, 0x00A0A0A0,
1058	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
1059	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
1060	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
1061	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
1062	0x33000000, 0x3333F333, 0x33333333, 0x333333F3,
1063	0xF3333330, 0x33333333, 0x33F33333, 0x00000333,
1064	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
1065	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
1066	0x99000000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1067	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1068	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1069	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1070	0x88888000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1071	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1072	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1073	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
1074	0x88A88A00, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1075	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1076	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1077	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
1078	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1079	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1080	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1081	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1082	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1083	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1084	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1085	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1086	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1087	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1088	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1089	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1090	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1091	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1092	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1093	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1094	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1095	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1096	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1097	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1098};
1099
1100/* static tables, PHY revision >= 3 */
1101static const u32 b43_ntab_framestruct_r3[] = {
1102	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1103	0x09804506, 0x00100030, 0x09804507, 0x00100030,
1104	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1105	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1106	0x08004a0c, 0x00100004, 0x01000a0d, 0x00100024,
1107	0x0980450e, 0x00100034, 0x0980450f, 0x00100034,
1108	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1109	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1110	0x00000a04, 0x00100000, 0x11008a05, 0x00100020,
1111	0x1980c506, 0x00100030, 0x21810506, 0x00100030,
1112	0x21810506, 0x00100030, 0x01800504, 0x00100030,
1113	0x11808505, 0x00100030, 0x29814507, 0x01100030,
1114	0x00000a04, 0x00100000, 0x11008a05, 0x00100020,
1115	0x21810506, 0x00100030, 0x21810506, 0x00100030,
1116	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1117	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1118	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1119	0x1980c50e, 0x00100038, 0x2181050e, 0x00100038,
1120	0x2181050e, 0x00100038, 0x0180050c, 0x00100038,
1121	0x1180850d, 0x00100038, 0x2981450f, 0x01100038,
1122	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1123	0x2181050e, 0x00100038, 0x2181050e, 0x00100038,
1124	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1125	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1126	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1127	0x1980c506, 0x00100030, 0x1980c506, 0x00100030,
1128	0x11808504, 0x00100030, 0x3981ca05, 0x00100030,
1129	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1130	0x10008a04, 0x00100000, 0x3981ca05, 0x00100030,
1131	0x1980c506, 0x00100030, 0x29814507, 0x01100030,
1132	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1133	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1134	0x08004a0c, 0x00100008, 0x01000a0d, 0x00100028,
1135	0x1980c50e, 0x00100038, 0x1980c50e, 0x00100038,
1136	0x1180850c, 0x00100038, 0x3981ca0d, 0x00100038,
1137	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1138	0x10008a0c, 0x00100008, 0x3981ca0d, 0x00100038,
1139	0x1980c50e, 0x00100038, 0x2981450f, 0x01100038,
1140	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1141	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1142	0x40021404, 0x00100000, 0x02001405, 0x00100040,
1143	0x0b004a06, 0x01900060, 0x13008a06, 0x01900060,
1144	0x13008a06, 0x01900060, 0x43020a04, 0x00100060,
1145	0x1b00ca05, 0x00100060, 0x23010a07, 0x01500060,
1146	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1147	0x13008a06, 0x01900060, 0x13008a06, 0x01900060,
1148	0x23010a07, 0x01500060, 0x00000000, 0x00000000,
1149	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1150	0x4002140c, 0x00100010, 0x0200140d, 0x00100050,
1151	0x0b004a0e, 0x01900070, 0x13008a0e, 0x01900070,
1152	0x13008a0e, 0x01900070, 0x43020a0c, 0x00100070,
1153	0x1b00ca0d, 0x00100070, 0x23010a0f, 0x01500070,
1154	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1155	0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070,
1156	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1157	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1158	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1159	0x0b004a06, 0x01900060, 0x0b004a06, 0x01900060,
1160	0x5b02ca04, 0x00100060, 0x3b01d405, 0x00100060,
1161	0x23010a07, 0x01500060, 0x00000000, 0x00000000,
1162	0x5802d404, 0x00100000, 0x3b01d405, 0x00100060,
1163	0x0b004a06, 0x01900060, 0x23010a07, 0x01500060,
1164	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1165	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1166	0x5002940c, 0x00100010, 0x3201940d, 0x00100050,
1167	0x0b004a0e, 0x01900070, 0x0b004a0e, 0x01900070,
1168	0x5b02ca0c, 0x00100070, 0x3b01d40d, 0x00100070,
1169	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1170	0x5802d40c, 0x00100010, 0x3b01d40d, 0x00100070,
1171	0x0b004a0e, 0x01900070, 0x23010a0f, 0x01500070,
1172	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1173	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1174	0x40021404, 0x000f4800, 0x62031405, 0x00100040,
1175	0x53028a06, 0x01900060, 0x53028a07, 0x01900060,
1176	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1177	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1178	0x4002140c, 0x000f4808, 0x6203140d, 0x00100048,
1179	0x53028a0e, 0x01900068, 0x53028a0f, 0x01900068,
1180	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1181	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1182	0x00000a0c, 0x00100004, 0x11008a0d, 0x00100024,
1183	0x1980c50e, 0x00100034, 0x2181050e, 0x00100034,
1184	0x2181050e, 0x00100034, 0x0180050c, 0x00100038,
1185	0x1180850d, 0x00100038, 0x1181850d, 0x00100038,
1186	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1187	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1188	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1189	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1190	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1191	0x2181050e, 0x00100038, 0x2181050e, 0x00100038,
1192	0x1181850d, 0x00100038, 0x2981450f, 0x01100038,
1193	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1194	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1195	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1196	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1197	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1198	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1199	0x0180c506, 0x00100030, 0x0180c506, 0x00100030,
1200	0x2180c50c, 0x00100030, 0x49820a0d, 0x0016a130,
1201	0x41824a0d, 0x0016a130, 0x2981450f, 0x01100030,
1202	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1203	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1204	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1205	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1206	0x2000ca0c, 0x00100000, 0x49820a0d, 0x0016a130,
1207	0x1980c50e, 0x00100030, 0x41824a0d, 0x0016a130,
1208	0x2981450f, 0x01100030, 0x00000000, 0x00000000,
1209	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1210	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1211	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1212	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1213	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1214	0x4002140c, 0x00100008, 0x0200140d, 0x00100048,
1215	0x0b004a0e, 0x01900068, 0x13008a0e, 0x01900068,
1216	0x13008a0e, 0x01900068, 0x43020a0c, 0x00100070,
1217	0x1b00ca0d, 0x00100070, 0x1b014a0d, 0x00100070,
1218	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1219	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1220	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1221	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1222	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1223	0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070,
1224	0x1b014a0d, 0x00100070, 0x23010a0f, 0x01500070,
1225	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1226	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1227	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1228	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1229	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1230	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1231	0x03004a06, 0x01900060, 0x03004a06, 0x01900060,
1232	0x6b030a0c, 0x00100060, 0x4b02140d, 0x0016a160,
1233	0x4302540d, 0x0016a160, 0x23010a0f, 0x01500060,
1234	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1235	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1236	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1237	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1238	0x6b03140c, 0x00100060, 0x4b02140d, 0x0016a160,
1239	0x0b004a0e, 0x01900060, 0x4302540d, 0x0016a160,
1240	0x23010a0f, 0x01500060, 0x00000000, 0x00000000,
1241	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1242	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1243	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1244	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1245	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1246	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1247	0x53028a06, 0x01900060, 0x5b02ca06, 0x01900060,
1248	0x5b02ca06, 0x01900060, 0x43020a04, 0x00100060,
1249	0x1b00ca05, 0x00100060, 0x53028a07, 0x0190c060,
1250	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1251	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1252	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1253	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1254	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1255	0x53028a0e, 0x01900070, 0x5b02ca0e, 0x01900070,
1256	0x5b02ca0e, 0x01900070, 0x43020a0c, 0x00100070,
1257	0x1b00ca0d, 0x00100070, 0x53028a0f, 0x0190c070,
1258	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1259	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1260	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1261	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1262	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1263	0x5b02ca06, 0x01900060, 0x5b02ca06, 0x01900060,
1264	0x53028a07, 0x0190c060, 0x00000000, 0x00000000,
1265	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1266	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1267	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1268	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1269	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1270	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1271	0x5b02ca0e, 0x01900070, 0x5b02ca0e, 0x01900070,
1272	0x53028a0f, 0x0190c070, 0x00000000, 0x00000000,
1273	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1274	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1275	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1276	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1277	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1278	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1279	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1280	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1281	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1282	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1283	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1284	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1285	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1286	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1287	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1288	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1289	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1290	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1291	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1292	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1293	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1294	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1295	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1296	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1297	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1298	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1299	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1300	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1301	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1302	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1303	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1304	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1305	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1306	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1307	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1308	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1309	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1310};
1311
1312static const u16 b43_ntab_pilot_r3[] = {
1313	0xff08, 0xff08, 0xff08, 0xff08, 0xff08, 0xff08,
1314	0xff08, 0xff08, 0x80d5, 0x80d5, 0x80d5, 0x80d5,
1315	0x80d5, 0x80d5, 0x80d5, 0x80d5, 0xff0a, 0xff82,
1316	0xffa0, 0xff28, 0xffff, 0xffff, 0xffff, 0xffff,
1317	0xff82, 0xffa0, 0xff28, 0xff0a, 0xffff, 0xffff,
1318	0xffff, 0xffff, 0xf83f, 0xfa1f, 0xfa97, 0xfab5,
1319	0xf2bd, 0xf0bf, 0xffff, 0xffff, 0xf017, 0xf815,
1320	0xf215, 0xf095, 0xf035, 0xf01d, 0xffff, 0xffff,
1321	0xff08, 0xff02, 0xff80, 0xff20, 0xff08, 0xff02,
1322	0xff80, 0xff20, 0xf01f, 0xf817, 0xfa15, 0xf295,
1323	0xf0b5, 0xf03d, 0xffff, 0xffff, 0xf82a, 0xfa0a,
1324	0xfa82, 0xfaa0, 0xf2a8, 0xf0aa, 0xffff, 0xffff,
1325	0xf002, 0xf800, 0xf200, 0xf080, 0xf020, 0xf008,
1326	0xffff, 0xffff, 0xf00a, 0xf802, 0xfa00, 0xf280,
1327	0xf0a0, 0xf028, 0xffff, 0xffff,
1328};
1329
1330static const u32 b43_ntab_tmap_r3[] = {
1331	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1332	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1333	0xf1111110, 0x11111111, 0x11f11111, 0x00000111,
1334	0x11000000, 0x1111f111, 0x11111111, 0x111111f1,
1335	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888,
1336	0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1337	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1338	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1339	0xa2222220, 0x22222222, 0x22c22222, 0x00000222,
1340	0x22000000, 0x2222a222, 0x22222222, 0x222222a2,
1341	0xf1111110, 0x11111111, 0x11f11111, 0x00011111,
1342	0x11110000, 0x1111f111, 0x11111111, 0x111111f1,
1343	0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00088aaa,
1344	0xaaaa0000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1345	0xaaa8aaa0, 0x8aaa8aaa, 0xaa8a8a8a, 0x000aaa88,
1346	0x8aaa0000, 0xaaa8a888, 0x8aa88a8a, 0x8a88a888,
1347	0x08080a00, 0x0a08080a, 0x080a0a08, 0x00080808,
1348	0x080a0000, 0x080a0808, 0x080a0808, 0x0a0a0a08,
1349	0xa0a0a0a0, 0x80a0a080, 0x8080a0a0, 0x00008080,
1350	0x80a00000, 0x80a080a0, 0xa080a0a0, 0x8080a0a0,
1351	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1352	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1353	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1354	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1355	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1356	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1357	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1358	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1359	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1360	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1361	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1362	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1363	0x99999000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1364	0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1365	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1366	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888,
1367	0x22000000, 0x2222b222, 0x22222222, 0x222222b2,
1368	0xb2222220, 0x22222222, 0x22d22222, 0x00000222,
1369	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1370	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1371	0x33000000, 0x3333b333, 0x33333333, 0x333333b3,
1372	0xb3333330, 0x33333333, 0x33d33333, 0x00000333,
1373	0x22000000, 0x2222a222, 0x22222222, 0x222222a2,
1374	0xa2222220, 0x22222222, 0x22c22222, 0x00000222,
1375	0x99b99b00, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1376	0x9b99bb99, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1377	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1378	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888,
1379	0x22222200, 0x2222f222, 0x22222222, 0x222222f2,
1380	0x22222222, 0x22222222, 0x22f22222, 0x00000222,
1381	0x11000000, 0x1111f111, 0x11111111, 0x11111111,
1382	0xf1111111, 0x11111111, 0x11f11111, 0x01111111,
1383	0xbb9bb900, 0xb9b9bb99, 0xb99bbbbb, 0xbbbb9b9b,
1384	0xb9bb99bb, 0xb99999b9, 0xb9b9b99b, 0x00000bbb,
1385	0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1386	0xa8aa88aa, 0xa88888a8, 0xa8a8a88a, 0x0a888aaa,
1387	0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1388	0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00000aaa,
1389	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1390	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1391	0xbbbbbb00, 0x999bbbbb, 0x9bb99b9b, 0xb9b9b9bb,
1392	0xb9b99bbb, 0xb9b9b9bb, 0xb9bb9b99, 0x00000999,
1393	0x8a000000, 0xaa88a888, 0xa88888aa, 0xa88a8a88,
1394	0xa88aa88a, 0x88a8aaaa, 0xa8aa8aaa, 0x0888a88a,
1395	0x0b0b0b00, 0x090b0b0b, 0x0b090b0b, 0x0909090b,
1396	0x09090b0b, 0x09090b0b, 0x09090b09, 0x00000909,
1397	0x0a000000, 0x0a080808, 0x080a080a, 0x080a0a08,
1398	0x080a080a, 0x0808080a, 0x0a0a0a08, 0x0808080a,
1399	0xb0b0b000, 0x9090b0b0, 0x90b09090, 0xb0b0b090,
1400	0xb0b090b0, 0x90b0b0b0, 0xb0b09090, 0x00000090,
1401	0x80000000, 0xa080a080, 0xa08080a0, 0xa0808080,
1402	0xa080a080, 0x80a0a0a0, 0xa0a080a0, 0x00a0a0a0,
1403	0x22000000, 0x2222f222, 0x22222222, 0x222222f2,
1404	0xf2222220, 0x22222222, 0x22f22222, 0x00000222,
1405	0x11000000, 0x1111f111, 0x11111111, 0x111111f1,
1406	0xf1111110, 0x11111111, 0x11f11111, 0x00000111,
1407	0x33000000, 0x3333f333, 0x33333333, 0x333333f3,
1408	0xf3333330, 0x33333333, 0x33f33333, 0x00000333,
1409	0x22000000, 0x2222f222, 0x22222222, 0x222222f2,
1410	0xf2222220, 0x22222222, 0x22f22222, 0x00000222,
1411	0x99000000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1412	0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1413	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1414	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1415	0x88888000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1416	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1417	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1418	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888,
1419	0x88a88a00, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1420	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1421	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1422	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888,
1423	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1424	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1425	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1426	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1427	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1428	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1429	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1430	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1431	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1432	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1433	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1434	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1435	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1436	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1437	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1438	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1439	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1440	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1441	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1442	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1443};
1444
1445static const u32 b43_ntab_intlevel_r3[] = {
1446	0x00802070, 0x0671188d, 0x0a60192c, 0x0a300e46,
1447	0x00c1188d, 0x080024d2, 0x00000070,
1448};
1449
1450static const u32 b43_ntab_tdtrn_r3[] = {
1451	0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6,
1452	0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68,
1453	0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52,
1454	0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050,
1455	0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6,
1456	0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68,
1457	0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52,
1458	0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050,
1459	0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246,
1460	0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c,
1461	0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61,
1462	0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d,
1463	0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246,
1464	0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c,
1465	0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61,
1466	0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d,
1467	0xfa58fa58, 0xf895043b, 0xff4c09c0, 0xfbc6ffa8,
1468	0xfb84f384, 0x0798f6f9, 0x05760122, 0x058409f6,
1469	0x0b500000, 0x05b7f542, 0x08860432, 0x06ddfee7,
1470	0xfb84f384, 0xf9d90664, 0xf7e8025c, 0x00fff7bd,
1471	0x05a805a8, 0xf7bd00ff, 0x025cf7e8, 0x0664f9d9,
1472	0xf384fb84, 0xfee706dd, 0x04320886, 0xf54205b7,
1473	0x00000b50, 0x09f60584, 0x01220576, 0xf6f90798,
1474	0xf384fb84, 0xffa8fbc6, 0x09c0ff4c, 0x043bf895,
1475	0x02d402d4, 0x07de0270, 0xfc96079c, 0xf90afe94,
1476	0xfe00ff2c, 0x02d4065d, 0x092a0096, 0x0014fbb8,
1477	0xfd2cfd2c, 0x076afb3c, 0x0096f752, 0xf991fd87,
1478	0xfb2c0200, 0xfeb8f960, 0x08e0fc96, 0x049802a8,
1479	0xfd2cfd2c, 0x02a80498, 0xfc9608e0, 0xf960feb8,
1480	0x0200fb2c, 0xfd87f991, 0xf7520096, 0xfb3c076a,
1481	0xfd2cfd2c, 0xfbb80014, 0x0096092a, 0x065d02d4,
1482	0xff2cfe00, 0xfe94f90a, 0x079cfc96, 0x027007de,
1483	0x02d402d4, 0x027007de, 0x079cfc96, 0xfe94f90a,
1484	0xff2cfe00, 0x065d02d4, 0x0096092a, 0xfbb80014,
1485	0xfd2cfd2c, 0xfb3c076a, 0xf7520096, 0xfd87f991,
1486	0x0200fb2c, 0xf960feb8, 0xfc9608e0, 0x02a80498,
1487	0xfd2cfd2c, 0x049802a8, 0x08e0fc96, 0xfeb8f960,
1488	0xfb2c0200, 0xf991fd87, 0x0096f752, 0x076afb3c,
1489	0xfd2cfd2c, 0x0014fbb8, 0x092a0096, 0x02d4065d,
1490	0xfe00ff2c, 0xf90afe94, 0xfc96079c, 0x07de0270,
1491	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1492	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1493	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1494	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1495	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1496	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1497	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1498	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1499	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1500	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1501	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1502	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1503	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1504	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1505	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1506	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1507	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1508	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1509	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1510	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1511	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1512	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1513	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1514	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1515	0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d,
1516	0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf,
1517	0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8,
1518	0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7,
1519	0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3,
1520	0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841,
1521	0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608,
1522	0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759,
1523	0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d,
1524	0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf,
1525	0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8,
1526	0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7,
1527	0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3,
1528	0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841,
1529	0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608,
1530	0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759,
1531	0x061c061c, 0xff30009d, 0xffb21141, 0xfd87fb54,
1532	0xf65dfe59, 0x02eef99e, 0x0166f03c, 0xfff809b6,
1533	0x000008a4, 0x000af42b, 0x00eff577, 0xfa840bf2,
1534	0xfc02ff51, 0x08260f67, 0xfff0036f, 0x0842f9c3,
1535	0x00000000, 0x063df7be, 0xfc910010, 0xf099f7da,
1536	0x00af03fe, 0xf40e057c, 0x0a89ff11, 0x0bd5fff6,
1537	0xf75c0000, 0xf64a0008, 0x0fc4fe9a, 0x0662fd12,
1538	0x01a709a3, 0x04ac0279, 0xeebf004e, 0xff6300d0,
1539	0xf9e4f9e4, 0x00d0ff63, 0x004eeebf, 0x027904ac,
1540	0x09a301a7, 0xfd120662, 0xfe9a0fc4, 0x0008f64a,
1541	0x0000f75c, 0xfff60bd5, 0xff110a89, 0x057cf40e,
1542	0x03fe00af, 0xf7daf099, 0x0010fc91, 0xf7be063d,
1543	0x00000000, 0xf9c30842, 0x036ffff0, 0x0f670826,
1544	0xff51fc02, 0x0bf2fa84, 0xf57700ef, 0xf42b000a,
1545	0x08a40000, 0x09b6fff8, 0xf03c0166, 0xf99e02ee,
1546	0xfe59f65d, 0xfb54fd87, 0x1141ffb2, 0x009dff30,
1547	0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59,
1548	0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766,
1549	0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986,
1550	0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb,
1551	0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7,
1552	0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a,
1553	0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a,
1554	0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705,
1555	0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59,
1556	0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766,
1557	0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986,
1558	0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb,
1559	0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7,
1560	0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a,
1561	0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a,
1562	0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705,
1563	0xfa58fa58, 0xf8f0fe00, 0x0448073d, 0xfdc9fe46,
1564	0xf9910258, 0x089d0407, 0xfd5cf71a, 0x02affde0,
1565	0x083e0496, 0xff5a0740, 0xff7afd97, 0x00fe01f1,
1566	0x0009082e, 0xfa94ff75, 0xfecdf8ea, 0xffb0f693,
1567	0xfd2cfa58, 0x0433ff16, 0xfba405dd, 0xfa610341,
1568	0x06a606cb, 0x0039fd2d, 0x0677fa97, 0x01fa05e0,
1569	0xf896003e, 0x075a068b, 0x012cfc3e, 0xfa23f98d,
1570	0xfc7cfd43, 0xff90fc0d, 0x01c10982, 0x00c601d6,
1571	0xfd2cfd2c, 0x01d600c6, 0x098201c1, 0xfc0dff90,
1572	0xfd43fc7c, 0xf98dfa23, 0xfc3e012c, 0x068b075a,
1573	0x003ef896, 0x05e001fa, 0xfa970677, 0xfd2d0039,
1574	0x06cb06a6, 0x0341fa61, 0x05ddfba4, 0xff160433,
1575	0xfa58fd2c, 0xf693ffb0, 0xf8eafecd, 0xff75fa94,
1576	0x082e0009, 0x01f100fe, 0xfd97ff7a, 0x0740ff5a,
1577	0x0496083e, 0xfde002af, 0xf71afd5c, 0x0407089d,
1578	0x0258f991, 0xfe46fdc9, 0x073d0448, 0xfe00f8f0,
1579	0xfd2cfd2c, 0xfce00500, 0xfc09fddc, 0xfe680157,
1580	0x04c70571, 0xfc3aff21, 0xfcd70228, 0x056d0277,
1581	0x0200fe00, 0x0022f927, 0xfe3c032b, 0xfc44ff3c,
1582	0x03e9fbdb, 0x04570313, 0x04c9ff5c, 0x000d03b8,
1583	0xfa580000, 0xfbe900d2, 0xf9d0fe0b, 0x0125fdf9,
1584	0x042501bf, 0x0328fa2b, 0xffa902f0, 0xfa250157,
1585	0x0200fe00, 0x03740438, 0xff0405fd, 0x030cfe52,
1586	0x0037fb39, 0xff6904c5, 0x04f8fd23, 0xfd31fc1b,
1587	0xfd2cfd2c, 0xfc1bfd31, 0xfd2304f8, 0x04c5ff69,
1588	0xfb390037, 0xfe52030c, 0x05fdff04, 0x04380374,
1589	0xfe000200, 0x0157fa25, 0x02f0ffa9, 0xfa2b0328,
1590	0x01bf0425, 0xfdf90125, 0xfe0bf9d0, 0x00d2fbe9,
1591	0x0000fa58, 0x03b8000d, 0xff5c04c9, 0x03130457,
1592	0xfbdb03e9, 0xff3cfc44, 0x032bfe3c, 0xf9270022,
1593	0xfe000200, 0x0277056d, 0x0228fcd7, 0xff21fc3a,
1594	0x057104c7, 0x0157fe68, 0xfddcfc09, 0x0500fce0,
1595	0xfd2cfd2c, 0x0500fce0, 0xfddcfc09, 0x0157fe68,
1596	0x057104c7, 0xff21fc3a, 0x0228fcd7, 0x0277056d,
1597	0xfe000200, 0xf9270022, 0x032bfe3c, 0xff3cfc44,
1598	0xfbdb03e9, 0x03130457, 0xff5c04c9, 0x03b8000d,
1599	0x0000fa58, 0x00d2fbe9, 0xfe0bf9d0, 0xfdf90125,
1600	0x01bf0425, 0xfa2b0328, 0x02f0ffa9, 0x0157fa25,
1601	0xfe000200, 0x04380374, 0x05fdff04, 0xfe52030c,
1602	0xfb390037, 0x04c5ff69, 0xfd2304f8, 0xfc1bfd31,
1603	0xfd2cfd2c, 0xfd31fc1b, 0x04f8fd23, 0xff6904c5,
1604	0x0037fb39, 0x030cfe52, 0xff0405fd, 0x03740438,
1605	0x0200fe00, 0xfa250157, 0xffa902f0, 0x0328fa2b,
1606	0x042501bf, 0x0125fdf9, 0xf9d0fe0b, 0xfbe900d2,
1607	0xfa580000, 0x000d03b8, 0x04c9ff5c, 0x04570313,
1608	0x03e9fbdb, 0xfc44ff3c, 0xfe3c032b, 0x0022f927,
1609	0x0200fe00, 0x056d0277, 0xfcd70228, 0xfc3aff21,
1610	0x04c70571, 0xfe680157, 0xfc09fddc, 0xfce00500,
1611	0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e,
1612	0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c,
1613	0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926,
1614	0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942,
1615	0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382,
1616	0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4,
1617	0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da,
1618	0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be,
1619	0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e,
1620	0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c,
1621	0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926,
1622	0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942,
1623	0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382,
1624	0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4,
1625	0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da,
1626	0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be,
1627};
1628
1629static const u32 b43_ntab_noisevar0_r3[] = {
1630	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1631	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1632	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1633	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1634	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1635	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1636	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1637	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1638	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1639	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1640	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1641	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1642	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1643	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1644	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1645	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1646	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1647	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1648	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1649	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1650	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1651	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1652	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1653	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1654	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1655	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1656	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1657	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1658	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1659	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1660	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1661	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1662	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1663	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1664	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1665	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1666	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1667	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1668	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1669	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1670	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1671	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1672	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1673	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1674	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1675	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1676	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1677	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1678	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1679	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1680	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1681	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1682	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1683	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1684	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1685	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1686	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1687	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1688	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1689	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1690	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1691	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1692	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1693	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1694};
1695
1696static const u32 b43_ntab_noisevar1_r3[] = {
1697	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1698	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1699	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1700	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1701	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1702	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1703	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1704	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1705	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1706	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1707	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1708	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1709	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1710	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1711	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1712	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1713	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1714	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1715	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1716	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1717	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1718	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1719	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1720	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1721	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1722	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1723	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1724	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1725	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1726	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1727	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1728	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1729	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1730	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1731	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1732	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1733	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1734	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1735	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1736	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1737	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1738	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1739	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1740	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1741	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1742	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1743	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1744	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1745	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1746	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1747	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1748	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1749	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1750	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1751	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1752	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1753	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1754	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1755	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1756	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1757	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1758	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1759	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1760	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1761};
1762
1763static const u16 b43_ntab_mcs_r3[] = {
1764	0x0000, 0x0008, 0x000a, 0x0010, 0x0012, 0x0019,
1765	0x001a, 0x001c, 0x0080, 0x0088, 0x008a, 0x0090,
1766	0x0092, 0x0099, 0x009a, 0x009c, 0x0100, 0x0108,
1767	0x010a, 0x0110, 0x0112, 0x0119, 0x011a, 0x011c,
1768	0x0180, 0x0188, 0x018a, 0x0190, 0x0192, 0x0199,
1769	0x019a, 0x019c, 0x0000, 0x0098, 0x00a0, 0x00a8,
1770	0x009a, 0x00a2, 0x00aa, 0x0120, 0x0128, 0x0128,
1771	0x0130, 0x0138, 0x0138, 0x0140, 0x0122, 0x012a,
1772	0x012a, 0x0132, 0x013a, 0x013a, 0x0142, 0x01a8,
1773	0x01b0, 0x01b8, 0x01b0, 0x01b8, 0x01c0, 0x01c8,
1774	0x01c0, 0x01c8, 0x01d0, 0x01d0, 0x01d8, 0x01aa,
1775	0x01b2, 0x01ba, 0x01b2, 0x01ba, 0x01c2, 0x01ca,
1776	0x01c2, 0x01ca, 0x01d2, 0x01d2, 0x01da, 0x0001,
1777	0x0002, 0x0004, 0x0009, 0x000c, 0x0011, 0x0014,
1778	0x0018, 0x0020, 0x0021, 0x0022, 0x0024, 0x0081,
1779	0x0082, 0x0084, 0x0089, 0x008c, 0x0091, 0x0094,
1780	0x0098, 0x00a0, 0x00a1, 0x00a2, 0x00a4, 0x0007,
1781	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1782	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1783	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1784	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1785	0x0007, 0x0007,
1786};
1787
1788static const u32 b43_ntab_tdi20a0_r3[] = {
1789	0x00091226, 0x000a1429, 0x000b56ad, 0x000c58b0,
1790	0x000d5ab3, 0x000e9cb6, 0x000f9eba, 0x0000c13d,
1791	0x00020301, 0x00030504, 0x00040708, 0x0005090b,
1792	0x00064b8e, 0x00095291, 0x000a5494, 0x000b9718,
1793	0x000c9927, 0x000d9b2a, 0x000edd2e, 0x000fdf31,
1794	0x000101b4, 0x000243b7, 0x000345bb, 0x000447be,
1795	0x00058982, 0x00068c05, 0x00099309, 0x000a950c,
1796	0x000bd78f, 0x000cd992, 0x000ddb96, 0x000f1d99,
1797	0x00005fa8, 0x0001422c, 0x0002842f, 0x00038632,
1798	0x00048835, 0x0005ca38, 0x0006ccbc, 0x0009d3bf,
1799	0x000b1603, 0x000c1806, 0x000d1a0a, 0x000e1c0d,
1800	0x000f5e10, 0x00008093, 0x00018297, 0x0002c49a,
1801	0x0003c680, 0x0004c880, 0x00060b00, 0x00070d00,
1802	0x00000000, 0x00000000, 0x00000000,
1803};
1804
1805static const u32 b43_ntab_tdi20a1_r3[] = {
1806	0x00014b26, 0x00028d29, 0x000393ad, 0x00049630,
1807	0x0005d833, 0x0006da36, 0x00099c3a, 0x000a9e3d,
1808	0x000bc081, 0x000cc284, 0x000dc488, 0x000f068b,
1809	0x0000488e, 0x00018b91, 0x0002d214, 0x0003d418,
1810	0x0004d6a7, 0x000618aa, 0x00071aae, 0x0009dcb1,
1811	0x000b1eb4, 0x000c0137, 0x000d033b, 0x000e053e,
1812	0x000f4702, 0x00008905, 0x00020c09, 0x0003128c,
1813	0x0004148f, 0x00051712, 0x00065916, 0x00091b19,
1814	0x000a1d28, 0x000b5f2c, 0x000c41af, 0x000d43b2,
1815	0x000e85b5, 0x000f87b8, 0x0000c9bc, 0x00024cbf,
1816	0x00035303, 0x00045506, 0x0005978a, 0x0006998d,
1817	0x00095b90, 0x000a5d93, 0x000b9f97, 0x000c821a,
1818	0x000d8400, 0x000ec600, 0x000fc800, 0x00010a00,
1819	0x00000000, 0x00000000, 0x00000000,
1820};
1821
1822static const u32 b43_ntab_tdi40a0_r3[] = {
1823	0x0011a346, 0x00136ccf, 0x0014f5d9, 0x001641e2,
1824	0x0017cb6b, 0x00195475, 0x001b2383, 0x001cad0c,
1825	0x001e7616, 0x0000821f, 0x00020ba8, 0x0003d4b2,
1826	0x00056447, 0x00072dd0, 0x0008b6da, 0x000a02e3,
1827	0x000b8c6c, 0x000d15f6, 0x0011e484, 0x0013ae0d,
1828	0x00153717, 0x00168320, 0x00180ca9, 0x00199633,
1829	0x001b6548, 0x001ceed1, 0x001eb7db, 0x0000c3e4,
1830	0x00024d6d, 0x000416f7, 0x0005a585, 0x00076f0f,
1831	0x0008f818, 0x000a4421, 0x000bcdab, 0x000d9734,
1832	0x00122649, 0x0013efd2, 0x001578dc, 0x0016c4e5,
1833	0x00184e6e, 0x001a17f8, 0x001ba686, 0x001d3010,
1834	0x001ef999, 0x00010522, 0x00028eac, 0x00045835,
1835	0x0005e74a, 0x0007b0d3, 0x00093a5d, 0x000a85e6,
1836	0x000c0f6f, 0x000dd8f9, 0x00126787, 0x00143111,
1837	0x0015ba9a, 0x00170623, 0x00188fad, 0x001a5936,
1838	0x001be84b, 0x001db1d4, 0x001f3b5e, 0x000146e7,
1839	0x00031070, 0x000499fa, 0x00062888, 0x0007f212,
1840	0x00097b9b, 0x000ac7a4, 0x000c50ae, 0x000e1a37,
1841	0x0012a94c, 0x001472d5, 0x0015fc5f, 0x00174868,
1842	0x0018d171, 0x001a9afb, 0x001c2989, 0x001df313,
1843	0x001f7c9c, 0x000188a5, 0x000351af, 0x0004db38,
1844	0x0006aa4d, 0x000833d7, 0x0009bd60, 0x000b0969,
1845	0x000c9273, 0x000e5bfc, 0x00132a8a, 0x0014b414,
1846	0x00163d9d, 0x001789a6, 0x001912b0, 0x001adc39,
1847	0x001c6bce, 0x001e34d8, 0x001fbe61, 0x0001ca6a,
1848	0x00039374, 0x00051cfd, 0x0006ec0b, 0x00087515,
1849	0x0009fe9e, 0x000b4aa7, 0x000cd3b1, 0x000e9d3a,
1850	0x00000000, 0x00000000,
1851};
1852
1853static const u32 b43_ntab_tdi40a1_r3[] = {
1854	0x001edb36, 0x000129ca, 0x0002b353, 0x00047cdd,
1855	0x0005c8e6, 0x000791ef, 0x00091bf9, 0x000aaa07,
1856	0x000c3391, 0x000dfd1a, 0x00120923, 0x0013d22d,
1857	0x00155c37, 0x0016eacb, 0x00187454, 0x001a3dde,
1858	0x001b89e7, 0x001d12f0, 0x001f1cfa, 0x00016b88,
1859	0x00033492, 0x0004be1b, 0x00060a24, 0x0007d32e,
1860	0x00095d38, 0x000aec4c, 0x000c7555, 0x000e3edf,
1861	0x00124ae8, 0x001413f1, 0x0015a37b, 0x00172c89,
1862	0x0018b593, 0x001a419c, 0x001bcb25, 0x001d942f,
1863	0x001f63b9, 0x0001ad4d, 0x00037657, 0x0004c260,
1864	0x00068be9, 0x000814f3, 0x0009a47c, 0x000b2d8a,
1865	0x000cb694, 0x000e429d, 0x00128c26, 0x001455b0,
1866	0x0015e4ba, 0x00176e4e, 0x0018f758, 0x001a8361,
1867	0x001c0cea, 0x001dd674, 0x001fa57d, 0x0001ee8b,
1868	0x0003b795, 0x0005039e, 0x0006cd27, 0x000856b1,
1869	0x0009e5c6, 0x000b6f4f, 0x000cf859, 0x000e8462,
1870	0x00130deb, 0x00149775, 0x00162603, 0x0017af8c,
1871	0x00193896, 0x001ac49f, 0x001c4e28, 0x001e17b2,
1872	0x0000a6c7, 0x00023050, 0x0003f9da, 0x00054563,
1873	0x00070eec, 0x00089876, 0x000a2704, 0x000bb08d,
1874	0x000d3a17, 0x001185a0, 0x00134f29, 0x0014d8b3,
1875	0x001667c8, 0x0017f151, 0x00197adb, 0x001b0664,
1876	0x001c8fed, 0x001e5977, 0x0000e805, 0x0002718f,
1877	0x00043b18, 0x000586a1, 0x0007502b, 0x0008d9b4,
1878	0x000a68c9, 0x000bf252, 0x000dbbdc, 0x0011c7e5,
1879	0x001390ee, 0x00151a78, 0x0016a906, 0x00183290,
1880	0x0019bc19, 0x001b4822, 0x001cd12c, 0x001e9ab5,
1881	0x00000000, 0x00000000,
1882};
1883
1884static const u32 b43_ntab_pilotlt_r3[] = {
1885	0x76540213, 0x62407351, 0x76543210, 0x76540213,
1886	0x76540213, 0x76430521,
1887};
1888
1889static const u32 b43_ntab_channelest_r3[] = {
1890	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1891	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1892	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1893	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1894	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1895	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1896	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1897	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1898	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1899	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1900	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1901	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1902	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1903	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1904	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1905	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1906	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1907	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1908	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1909	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1910	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1911	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1912	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1913	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1914};
1915
1916static const u8 b43_ntab_framelookup_r3[] = {
1917	0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16,
1918	0x0a, 0x0c, 0x1c, 0x1c, 0x0b, 0x0d, 0x1e, 0x1e,
1919	0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1a, 0x1a,
1920	0x0e, 0x10, 0x20, 0x28, 0x0f, 0x11, 0x22, 0x2a,
1921};
1922
1923static const u8 b43_ntab_estimatepowerlt0_r3[] = {
1924	0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51,
1925	0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c,
1926	0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46,
1927	0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f,
1928	0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36,
1929	0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b,
1930	0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a,
1931	0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd,
1932};
1933
1934static const u8 b43_ntab_estimatepowerlt1_r3[] = {
1935	0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51,
1936	0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c,
1937	0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46,
1938	0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f,
1939	0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36,
1940	0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b,
1941	0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a,
1942	0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd,
1943};
1944
1945static const u8 b43_ntab_adjustpower0_r3[] = {
1946	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1947	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1948	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1949	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1950	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1951	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1952	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1953	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1954	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1955	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1956	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1957	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1958	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1959	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1960	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1961	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1962};
1963
1964static const u8 b43_ntab_adjustpower1_r3[] = {
1965	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1966	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1967	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1968	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1969	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1971	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1972	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1973	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1974	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1975	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1976	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1977	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1978	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1979	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1981};
1982
1983static const u32 b43_ntab_gainctl0_r3[] = {
1984	0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e,
1985	0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037,
1986	0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031,
1987	0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040,
1988	0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039,
1989	0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033,
1990	0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e,
1991	0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037,
1992	0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031,
1993	0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c,
1994	0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e,
1995	0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037,
1996	0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031,
1997	0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c,
1998	0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042,
1999	0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b,
2000	0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034,
2001	0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f,
2002	0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e,
2003	0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037,
2004	0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031,
2005	0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c,
2006	0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027,
2007	0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023,
2008	0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e,
2009	0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037,
2010	0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031,
2011	0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c,
2012	0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027,
2013	0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023,
2014	0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f,
2015	0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c,
2016};
2017
2018static const u32 b43_ntab_gainctl1_r3[] = {
2019	0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e,
2020	0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037,
2021	0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031,
2022	0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040,
2023	0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039,
2024	0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033,
2025	0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e,
2026	0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037,
2027	0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031,
2028	0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c,
2029	0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e,
2030	0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037,
2031	0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031,
2032	0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c,
2033	0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042,
2034	0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b,
2035	0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034,
2036	0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f,
2037	0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e,
2038	0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037,
2039	0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031,
2040	0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c,
2041	0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027,
2042	0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023,
2043	0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e,
2044	0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037,
2045	0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031,
2046	0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c,
2047	0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027,
2048	0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023,
2049	0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f,
2050	0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c,
2051};
2052
2053static const u32 b43_ntab_iqlt0_r3[] = {
2054	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2055	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2056	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2057	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2058	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2059	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2060	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2061	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2062	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2063	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2064	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2065	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2066	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2067	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2068	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2069	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2070	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2071	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2072	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2073	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2074	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2075	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2076	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2077	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2078	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2079	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2080	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2081	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2082	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2083	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2084	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2085	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2086};
2087
2088static const u32 b43_ntab_iqlt1_r3[] = {
2089	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2090	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2091	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2092	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2093	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2094	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2095	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2096	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2097	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2098	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2099	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2100	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2101	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2102	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2103	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2104	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2105	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2106	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2107	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2108	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2109	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2110	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2111	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2112	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2113	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2114	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2115	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2116	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2117	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2118	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2119	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2120	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2121};
2122
2123static const u16 b43_ntab_loftlt0_r3[] = {
2124	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2125	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2126	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2127	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2128	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2129	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2130	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2131	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2132	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2133	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2134	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2135	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2136	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2137	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2138	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2139	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2140	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2141	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2142	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2143	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2144	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2145	0x0000, 0x0000,
2146};
2147
2148static const u16 b43_ntab_loftlt1_r3[] = {
2149	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2150	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2151	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2152	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2153	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2154	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2155	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2156	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2157	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2158	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2159	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2160	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2161	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2162	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2163	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2164	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2165	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2166	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2167	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2168	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2169	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2170	0x0000, 0x0000,
2171};
2172
2173/* TX gain tables */
2174const u32 b43_ntab_tx_gain_rev0_1_2[] = {
2175	0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
2176	0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
2177	0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
2178	0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
2179	0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
2180	0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
2181	0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
2182	0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
2183	0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
2184	0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
2185	0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
2186	0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
2187	0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
2188	0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
2189	0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
2190	0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
2191	0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
2192	0x03902942, 0x03902844, 0x03902842, 0x03902744,
2193	0x03902742, 0x03902644, 0x03902642, 0x03902544,
2194	0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
2195	0x03802a42, 0x03802944, 0x03802942, 0x03802844,
2196	0x03802842, 0x03802744, 0x03802742, 0x03802644,
2197	0x03802642, 0x03802544, 0x03802542, 0x03802444,
2198	0x03802442, 0x03802344, 0x03802342, 0x03802244,
2199	0x03802242, 0x03802144, 0x03802142, 0x03802044,
2200	0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
2201	0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
2202	0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
2203	0x03801a42, 0x03801944, 0x03801942, 0x03801844,
2204	0x03801842, 0x03801744, 0x03801742, 0x03801644,
2205	0x03801642, 0x03801544, 0x03801542, 0x03801444,
2206	0x03801442, 0x03801344, 0x03801342, 0x00002b00,
2207};
2208
2209const u32 b43_ntab_tx_gain_rev3plus_2ghz[] = {
2210	0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
2211	0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
2212	0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
2213	0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
2214	0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
2215	0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
2216	0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
2217	0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
2218	0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
2219	0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
2220	0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
2221	0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
2222	0x19410044, 0x19410042, 0x19410040, 0x1941003e,
2223	0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
2224	0x18410044, 0x18410042, 0x18410040, 0x1841003e,
2225	0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
2226	0x17410044, 0x17410042, 0x17410040, 0x1741003e,
2227	0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
2228	0x16410044, 0x16410042, 0x16410040, 0x1641003e,
2229	0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
2230	0x15410044, 0x15410042, 0x15410040, 0x1541003e,
2231	0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
2232	0x14410044, 0x14410042, 0x14410040, 0x1441003e,
2233	0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
2234	0x13410044, 0x13410042, 0x13410040, 0x1341003e,
2235	0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
2236	0x12410044, 0x12410042, 0x12410040, 0x1241003e,
2237	0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
2238	0x11410044, 0x11410042, 0x11410040, 0x1141003e,
2239	0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
2240	0x10410044, 0x10410042, 0x10410040, 0x1041003e,
2241	0x1041003c, 0x1041003b, 0x10410039, 0x10410037,
2242};
2243
2244const u32 b43_ntab_tx_gain_rev3_5ghz[] = {
2245	0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
2246	0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
2247	0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
2248	0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
2249	0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
2250	0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
2251	0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
2252	0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
2253	0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
2254	0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
2255	0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
2256	0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
2257	0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
2258	0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
2259	0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
2260	0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
2261	0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
2262	0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
2263	0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
2264	0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
2265	0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
2266	0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
2267	0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
2268	0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
2269	0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
2270	0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
2271	0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
2272	0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
2273	0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
2274	0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
2275	0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
2276	0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037,
2277};
2278
2279const u32 b43_ntab_tx_gain_rev4_5ghz[] = {
2280	0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
2281	0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
2282	0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
2283	0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
2284	0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
2285	0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
2286	0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
2287	0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
2288	0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
2289	0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
2290	0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
2291	0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
2292	0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
2293	0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
2294	0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
2295	0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
2296	0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
2297	0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
2298	0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
2299	0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
2300	0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
2301	0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
2302	0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
2303	0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
2304	0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
2305	0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
2306	0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
2307	0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
2308	0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
2309	0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
2310	0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
2311	0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034,
2312};
2313
2314const u32 b43_ntab_tx_gain_rev5plus_5ghz[] = {
2315	0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
2316	0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
2317	0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
2318	0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
2319	0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
2320	0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
2321	0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
2322	0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
2323	0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
2324	0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
2325	0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
2326	0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
2327	0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
2328	0x09620039, 0x09620037, 0x09620035, 0x09620033,
2329	0x08620044, 0x08620042, 0x08620040, 0x0862003e,
2330	0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
2331	0x07620043, 0x07620042, 0x07620040, 0x0762003f,
2332	0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
2333	0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
2334	0x06620039, 0x06620037, 0x06620035, 0x06620033,
2335	0x05620046, 0x05620044, 0x05620042, 0x05620040,
2336	0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
2337	0x04620044, 0x04620042, 0x04620040, 0x0462003e,
2338	0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
2339	0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
2340	0x03620038, 0x03620037, 0x03620035, 0x03620033,
2341	0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
2342	0x02620046, 0x02620044, 0x02620043, 0x02620042,
2343	0x0162004a, 0x01620048, 0x01620046, 0x01620044,
2344	0x01620043, 0x01620042, 0x01620041, 0x01620040,
2345	0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
2346	0x0062003b, 0x00620039, 0x00620037, 0x00620035,
2347};
2348
2349const u32 txpwrctrl_tx_gain_ipa[] = {
2350	0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
2351	0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
2352	0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
2353	0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
2354	0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
2355	0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
2356	0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
2357	0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
2358	0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
2359	0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
2360	0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
2361	0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
2362	0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
2363	0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
2364	0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
2365	0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
2366	0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
2367	0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
2368	0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
2369	0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
2370	0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
2371	0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
2372	0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
2373	0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
2374	0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
2375	0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
2376	0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
2377	0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
2378	0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
2379	0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
2380	0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
2381	0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025,
2382};
2383
2384const u32 txpwrctrl_tx_gain_ipa_rev5[] = {
2385	0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
2386	0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
2387	0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
2388	0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
2389	0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
2390	0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
2391	0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
2392	0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
2393	0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
2394	0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
2395	0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
2396	0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
2397	0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
2398	0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
2399	0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
2400	0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
2401	0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
2402	0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
2403	0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
2404	0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
2405	0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
2406	0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
2407	0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
2408	0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
2409	0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
2410	0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
2411	0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
2412	0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
2413	0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
2414	0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
2415	0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
2416	0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025,
2417};
2418
2419const u32 txpwrctrl_tx_gain_ipa_rev6[] = {
2420	0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
2421	0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
2422	0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
2423	0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
2424	0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
2425	0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
2426	0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
2427	0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
2428	0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
2429	0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
2430	0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
2431	0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
2432	0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
2433	0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
2434	0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
2435	0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
2436	0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
2437	0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
2438	0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
2439	0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
2440	0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
2441	0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
2442	0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
2443	0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
2444	0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
2445	0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
2446	0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
2447	0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
2448	0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
2449	0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
2450	0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
2451	0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025,
2452};
2453
2454const u32 txpwrctrl_tx_gain_ipa_5g[] = {
2455	0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
2456	0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
2457	0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
2458	0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
2459	0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
2460	0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
2461	0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
2462	0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
2463	0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
2464	0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
2465	0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
2466	0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
2467	0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
2468	0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
2469	0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
2470	0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
2471	0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
2472	0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
2473	0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
2474	0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
2475	0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
2476	0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
2477	0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
2478	0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
2479	0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
2480	0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
2481	0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
2482	0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
2483	0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
2484	0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
2485	0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
2486	0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f,
2487};
2488
2489const u16 tbl_iqcal_gainparams[2][9][8] = {
2490	{
2491		{ 0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69 },
2492		{ 0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69 },
2493		{ 0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68 },
2494		{ 0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67 },
2495		{ 0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66 },
2496		{ 0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65 },
2497		{ 0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65 },
2498		{ 0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65 },
2499		{ 0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65 }
2500	},
2501	{
2502		{ 0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 },
2503		{ 0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 },
2504		{ 0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79 },
2505		{ 0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78 },
2506		{ 0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78 },
2507		{ 0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78 },
2508		{ 0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78 },
2509		{ 0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78 },
2510		{ 0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78 }
2511	}
2512};
2513
2514const struct nphy_txiqcal_ladder ladder_lo[] = {
2515	{ 3, 0 },
2516	{ 4, 0 },
2517	{ 6, 0 },
2518	{ 9, 0 },
2519	{ 13, 0 },
2520	{ 18, 0 },
2521	{ 25, 0 },
2522	{ 25, 1 },
2523	{ 25, 2 },
2524	{ 25, 3 },
2525	{ 25, 4 },
2526	{ 25, 5 },
2527	{ 25, 6 },
2528	{ 25, 7 },
2529	{ 35, 7 },
2530	{ 50, 7 },
2531	{ 71, 7 },
2532	{ 100, 7 }
2533};
2534
2535const struct nphy_txiqcal_ladder ladder_iq[] = {
2536	{ 3, 0 },
2537	{ 4, 0 },
2538	{ 6, 0 },
2539	{ 9, 0 },
2540	{ 13, 0 },
2541	{ 18, 0 },
2542	{ 25, 0 },
2543	{ 35, 0 },
2544	{ 50, 0 },
2545	{ 71, 0 },
2546	{ 100, 0 },
2547	{ 100, 1 },
2548	{ 100, 2 },
2549	{ 100, 3 },
2550	{ 100, 4 },
2551	{ 100, 5 },
2552	{ 100, 6 },
2553	{ 100, 7 }
2554};
2555
2556const u16 loscale[] = {
2557	256, 256, 271, 271,
2558	287, 256, 256, 271,
2559	271, 287, 287, 304,
2560	304, 256, 256, 271,
2561	271, 287, 287, 304,
2562	304, 322, 322, 341,
2563	341, 362, 362, 383,
2564	383, 256, 256, 271,
2565	271, 287, 287, 304,
2566	304, 322, 322, 256,
2567	256, 271, 271, 287,
2568	287, 304, 304, 322,
2569	322, 341, 341, 362,
2570	362, 256, 256, 271,
2571	271, 287, 287, 304,
2572	304, 322, 322, 256,
2573	256, 271, 271, 287,
2574	287, 304, 304, 322,
2575	322, 341, 341, 362,
2576	362, 256, 256, 271,
2577	271, 287, 287, 304,
2578	304, 322, 322, 341,
2579	341, 362, 362, 383,
2580	383, 406, 406, 430,
2581	430, 455, 455, 482,
2582	482, 511, 511, 541,
2583	541, 573, 573, 607,
2584	607, 643, 643, 681,
2585	681, 722, 722, 764,
2586	764, 810, 810, 858,
2587	858, 908, 908, 962,
2588	962, 1019, 1019, 256
2589};
2590
2591const u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
2592	0x0200, 0x0300, 0x0400, 0x0700,
2593	0x0900, 0x0c00, 0x1200, 0x1201,
2594	0x1202, 0x1203, 0x1204, 0x1205,
2595	0x1206, 0x1207, 0x1907, 0x2307,
2596	0x3207, 0x4707
2597};
2598
2599const u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
2600	0x0300, 0x0500, 0x0700, 0x0900,
2601	0x0d00, 0x1100, 0x1900, 0x1901,
2602	0x1902, 0x1903, 0x1904, 0x1905,
2603	0x1906, 0x1907, 0x2407, 0x3207,
2604	0x4607, 0x6407
2605};
2606
2607const u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
2608	0x0100, 0x0200, 0x0400, 0x0700,
2609	0x0900, 0x0c00, 0x1200, 0x1900,
2610	0x2300, 0x3200, 0x4700, 0x4701,
2611	0x4702, 0x4703, 0x4704, 0x4705,
2612	0x4706, 0x4707
2613};
2614
2615const u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
2616	0x0200, 0x0300, 0x0600, 0x0900,
2617	0x0d00, 0x1100, 0x1900, 0x2400,
2618	0x3200, 0x4600, 0x6400, 0x6401,
2619	0x6402, 0x6403, 0x6404, 0x6405,
2620	0x6406, 0x6407
2621};
2622
2623const u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[B43_NTAB_TX_IQLO_CAL_STARTCOEFS_REV3] = { };
2624
2625const u16 tbl_tx_iqlo_cal_startcoefs[B43_NTAB_TX_IQLO_CAL_STARTCOEFS] = { };
2626
2627const u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
2628	0x8423, 0x8323, 0x8073, 0x8256,
2629	0x8045, 0x8223, 0x9423, 0x9323,
2630	0x9073, 0x9256, 0x9045, 0x9223
2631};
2632
2633const u16 tbl_tx_iqlo_cal_cmds_recal[] = {
2634	0x8101, 0x8253, 0x8053, 0x8234,
2635	0x8034, 0x9101, 0x9253, 0x9053,
2636	0x9234, 0x9034
2637};
2638
2639const u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
2640	0x8123, 0x8264, 0x8086, 0x8245,
2641	0x8056, 0x9123, 0x9264, 0x9086,
2642	0x9245, 0x9056
2643};
2644
2645const u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
2646	0x8434, 0x8334, 0x8084, 0x8267,
2647	0x8056, 0x8234, 0x9434, 0x9334,
2648	0x9084, 0x9267, 0x9056, 0x9234
2649};
2650
2651const s16 tbl_tx_filter_coef_rev4[7][15] = {
2652	{  -377,   137,  -407,   208, -1527,
2653	    956,    93,   186,    93,   230,
2654	    -44,   230,    20,  -191,   201 },
2655	{   -77,    20,   -98,    49,   -93,
2656	     60,    56,   111,    56,    26,
2657	     -5,    26,    34,   -32,    34 },
2658	{  -360,   164,  -376,   164, -1533,
2659	    576,   308,  -314,   308,   121,
2660	    -73,   121,    91,   124,    91 },
2661	{  -295,   200,  -363,   142, -1391,
2662	    826,   151,   301,   151,   151,
2663	    301,   151,   602,  -752,   602 },
2664	{   -92,    58,   -96,    49,  -104,
2665	     44,    17,    35,    17,    12,
2666	     25,    12,    13,    27,    13 },
2667	{  -375,   136,  -399,   209, -1479,
2668	    949,   130,   260,   130,   230,
2669	    -44,   230,   201,  -191,   201 },
2670	{ 0xed9,  0xc8, 0xe95,  0x8e, 0xa91,
2671	  0x33a,  0x97, 0x12d,  0x97,  0x97,
2672	  0x12d,  0x97, 0x25a, 0xd10, 0x25a }
2673};
2674
2675/* addr0,  addr1,  bmask,  shift */
2676const struct nphy_rf_control_override_rev2 tbl_rf_control_override_rev2[] = {
2677	{ 0x78, 0x78, 0x0038,  3 }, /* for field == 0x0002 (fls == 2) */
2678	{ 0x7A, 0x7D, 0x0001,  0 }, /* for field == 0x0004 (fls == 3) */
2679	{ 0x7A, 0x7D, 0x0002,  1 }, /* for field == 0x0008 (fls == 4) */
2680	{ 0x7A, 0x7D, 0x0004,  2 }, /* for field == 0x0010 (fls == 5) */
2681	{ 0x7A, 0x7D, 0x0030,  4 }, /* for field == 0x0020 (fls == 6) */
2682	{ 0x7A, 0x7D, 0x00C0,  6 }, /* for field == 0x0040 (fls == 7) */
2683	{ 0x7A, 0x7D, 0x0100,  8 }, /* for field == 0x0080 (fls == 8) */
2684	{ 0x7A, 0x7D, 0x0200,  9 }, /* for field == 0x0100 (fls == 9) */
2685	{ 0x78, 0x78, 0x0004,  2 }, /* for field == 0x0200 (fls == 10) */
2686	{ 0x7B, 0x7E, 0x01FF,  0 }, /* for field == 0x0400 (fls == 11) */
2687	{ 0x7C, 0x7F, 0x01FF,  0 }, /* for field == 0x0800 (fls == 12) */
2688	{ 0x78, 0x78, 0x0100,  8 }, /* for field == 0x1000 (fls == 13) */
2689	{ 0x78, 0x78, 0x0200,  9 }, /* for field == 0x2000 (fls == 14) */
2690	{ 0x78, 0x78, 0xF000, 12 }  /* for field == 0x4000 (fls == 15) */
2691};
2692
2693/* val_mask, val_shift, en_addr0, val_addr0, en_addr1, val_addr1 */
2694const struct nphy_rf_control_override_rev3 tbl_rf_control_override_rev3[] = {
2695	{ 0x8000, 15, 0xE5, 0xF9, 0xE6, 0xFB }, /* field == 0x0001 (fls 1) */
2696	{ 0x0001,  0, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0002 (fls 2) */
2697	{ 0x0002,  1, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0004 (fls 3) */
2698	{ 0x0004,  2, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0008 (fls 4) */
2699	{ 0x0016,  4, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0010 (fls 5) */
2700	{ 0x0020,  5, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0020 (fls 6) */
2701	{ 0x0040,  6, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0040 (fls 7) */
2702	{ 0x0080,  6, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0080 (fls 8) */
2703	{ 0x0100,  7, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0100 (fls 9) */
2704	{ 0x0007,  0, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0200 (fls 10) */
2705	{ 0x0070,  4, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0400 (fls 11) */
2706	{ 0xE000, 13, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0800 (fls 12) */
2707	{ 0xFFFF,  0, 0xE7, 0x7B, 0xEC, 0x7E }, /* field == 0x1000 (fls 13) */
2708	{ 0xFFFF,  0, 0xE7, 0x7C, 0xEC, 0x7F }, /* field == 0x2000 (fls 14) */
2709	{ 0x00C0,  6, 0xE7, 0xF9, 0xEC, 0xFB }  /* field == 0x4000 (fls 15) */
2710};
2711
2712struct nphy_gain_ctl_workaround_entry nphy_gain_ctl_workaround[2][3] = {
2713	{ /* 2GHz */
2714		{ /* PHY rev 3 */
2715			{ 7, 11, 16, 23 },
2716			{ -5, 6, 10, 14 },
2717			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2718			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2719			0x627E,
2720			{ 0x613F, 0x613F, 0x613F, 0x613F },
2721			0x107E, 0x0066, 0x0074,
2722			0x18, 0x18, 0x18,
2723			0x020D, 0x5,
2724		},
2725		{ /* PHY rev 4 */
2726			{ 8, 12, 17, 25 },
2727			{ -5, 6, 10, 14 },
2728			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2729			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2730			0x527E,
2731			{ 0x513F, 0x513F, 0x513F, 0x513F },
2732			0x007E, 0x0066, 0x0074,
2733			0x18, 0x18, 0x18,
2734			0x01A1, 0x5,
2735		},
2736		{ /* PHY rev 5+ */
2737			{ 9, 13, 18, 26 },
2738			{ -3, 7, 11, 16 },
2739			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2740			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2741			0x427E, /* invalid for external LNA! */
2742			{ 0x413F, 0x413F, 0x413F, 0x413F }, /* invalid for external LNA! */
2743			0x1076, 0x0066, 0x106A,
2744			0xC, 0xC, 0xC,
2745			0x01D0, 0x5,
2746		},
2747	},
2748	{ /* 5GHz */
2749		{ /* PHY rev 3 */
2750			{ 7, 11, 17, 23 },
2751			{ -6, 2, 6, 10 },
2752			{ 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 },
2753			{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
2754			0x52DE,
2755			{ 0x516F, 0x516F, 0x516F, 0x516F },
2756			0x00DE, 0x00CA, 0x00CC,
2757			0x1E, 0x1E, 0x1E,
2758			0x01A1, 25,
2759		},
2760		{ /* PHY rev 4 */
2761			{ 8, 12, 18, 23 },
2762			{ -5, 2, 6, 10 },
2763			{ 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD },
2764			{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
2765			0x629E,
2766			{ 0x614F, 0x614F, 0x614F, 0x614F },
2767			0x029E, 0x1084, 0x0086,
2768			0x24, 0x24, 0x24,
2769			0x0107, 25,
2770		},
2771		{ /* PHY rev 5+ */
2772			{ 6, 10, 16, 21 },
2773			{ -7, 0, 4, 8 },
2774			{ 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD },
2775			{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
2776			0x729E,
2777			{ 0x714F, 0x714F, 0x714F, 0x714F },
2778			0x029E, 0x2084, 0x2086,
2779			0x24, 0x24, 0x24,
2780			0x00A9, 25,
2781		},
2782	},
2783};
2784
2785static inline void assert_ntab_array_sizes(void)
2786{
2787#undef check
2788#define check(table, size)	\
2789	BUILD_BUG_ON(ARRAY_SIZE(b43_ntab_##table) != B43_NTAB_##size##_SIZE)
2790
2791	check(adjustpower0, C0_ADJPLT);
2792	check(adjustpower1, C1_ADJPLT);
2793	check(bdi, BDI);
2794	check(channelest, CHANEST);
2795	check(estimatepowerlt0, C0_ESTPLT);
2796	check(estimatepowerlt1, C1_ESTPLT);
2797	check(framelookup, FRAMELT);
2798	check(framestruct, FRAMESTRUCT);
2799	check(gainctl0, C0_GAINCTL);
2800	check(gainctl1, C1_GAINCTL);
2801	check(intlevel, INTLEVEL);
2802	check(iqlt0, C0_IQLT);
2803	check(iqlt1, C1_IQLT);
2804	check(loftlt0, C0_LOFEEDTH);
2805	check(loftlt1, C1_LOFEEDTH);
2806	check(mcs, MCS);
2807	check(noisevar10, NOISEVAR10);
2808	check(noisevar11, NOISEVAR11);
2809	check(pilot, PILOT);
2810	check(pilotlt, PILOTLT);
2811	check(tdi20a0, TDI20A0);
2812	check(tdi20a1, TDI20A1);
2813	check(tdi40a0, TDI40A0);
2814	check(tdi40a1, TDI40A1);
2815	check(tdtrn, TDTRN);
2816	check(tmap, TMAP);
2817
2818#undef check
2819}
2820
2821u32 b43_ntab_read(struct b43_wldev *dev, u32 offset)
2822{
2823	u32 type, value;
2824
2825	type = offset & B43_NTAB_TYPEMASK;
2826	offset &= ~B43_NTAB_TYPEMASK;
2827	B43_WARN_ON(offset > 0xFFFF);
2828
2829	switch (type) {
2830	case B43_NTAB_8BIT:
2831		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2832		value = b43_phy_read(dev, B43_NPHY_TABLE_DATALO) & 0xFF;
2833		break;
2834	case B43_NTAB_16BIT:
2835		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2836		value = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2837		break;
2838	case B43_NTAB_32BIT:
2839		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2840		value = b43_phy_read(dev, B43_NPHY_TABLE_DATAHI);
2841		value <<= 16;
2842		value |= b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2843		break;
2844	default:
2845		B43_WARN_ON(1);
2846		value = 0;
2847	}
2848
2849	return value;
2850}
2851
2852void b43_ntab_read_bulk(struct b43_wldev *dev, u32 offset,
2853			 unsigned int nr_elements, void *_data)
2854{
2855	u32 type;
2856	u8 *data = _data;
2857	unsigned int i;
2858
2859	type = offset & B43_NTAB_TYPEMASK;
2860	offset &= ~B43_NTAB_TYPEMASK;
2861	B43_WARN_ON(offset > 0xFFFF);
2862
2863	b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2864
2865	for (i = 0; i < nr_elements; i++) {
2866		switch (type) {
2867		case B43_NTAB_8BIT:
2868			*data = b43_phy_read(dev, B43_NPHY_TABLE_DATALO) & 0xFF;
2869			data++;
2870			break;
2871		case B43_NTAB_16BIT:
2872			*((u16 *)data) = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2873			data += 2;
2874			break;
2875		case B43_NTAB_32BIT:
2876			*((u32 *)data) = b43_phy_read(dev, B43_NPHY_TABLE_DATAHI);
2877			*((u32 *)data) <<= 16;
2878			*((u32 *)data) |= b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2879			data += 4;
2880			break;
2881		default:
2882			B43_WARN_ON(1);
2883		}
2884	}
2885}
2886
2887void b43_ntab_write(struct b43_wldev *dev, u32 offset, u32 value)
2888{
2889	u32 type;
2890
2891	type = offset & B43_NTAB_TYPEMASK;
2892	offset &= 0xFFFF;
2893
2894	switch (type) {
2895	case B43_NTAB_8BIT:
2896		B43_WARN_ON(value & ~0xFF);
2897		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2898		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2899		break;
2900	case B43_NTAB_16BIT:
2901		B43_WARN_ON(value & ~0xFFFF);
2902		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2903		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2904		break;
2905	case B43_NTAB_32BIT:
2906		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2907		b43_phy_write(dev, B43_NPHY_TABLE_DATAHI, value >> 16);
2908		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value & 0xFFFF);
2909		break;
2910	default:
2911		B43_WARN_ON(1);
2912	}
2913
2914	return;
2915
2916	/* Some compiletime assertions... */
2917	assert_ntab_array_sizes();
2918}
2919
2920void b43_ntab_write_bulk(struct b43_wldev *dev, u32 offset,
2921			  unsigned int nr_elements, const void *_data)
2922{
2923	u32 type, value;
2924	const u8 *data = _data;
2925	unsigned int i;
2926
2927	type = offset & B43_NTAB_TYPEMASK;
2928	offset &= ~B43_NTAB_TYPEMASK;
2929	B43_WARN_ON(offset > 0xFFFF);
2930
2931	b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2932
2933	for (i = 0; i < nr_elements; i++) {
2934		switch (type) {
2935		case B43_NTAB_8BIT:
2936			value = *data;
2937			data++;
2938			B43_WARN_ON(value & ~0xFF);
2939			b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2940			break;
2941		case B43_NTAB_16BIT:
2942			value = *((u16 *)data);
2943			data += 2;
2944			B43_WARN_ON(value & ~0xFFFF);
2945			b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2946			break;
2947		case B43_NTAB_32BIT:
2948			value = *((u32 *)data);
2949			data += 4;
2950			b43_phy_write(dev, B43_NPHY_TABLE_DATAHI, value >> 16);
2951			b43_phy_write(dev, B43_NPHY_TABLE_DATALO,
2952					value & 0xFFFF);
2953			break;
2954		default:
2955			B43_WARN_ON(1);
2956		}
2957	}
2958}
2959
2960#define ntab_upload(dev, offset, data) do { \
2961		b43_ntab_write_bulk(dev, offset, offset##_SIZE, data);	\
2962	} while (0)
2963void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev)
2964{
2965	/* Static tables */
2966	ntab_upload(dev, B43_NTAB_FRAMESTRUCT, b43_ntab_framestruct);
2967	ntab_upload(dev, B43_NTAB_FRAMELT, b43_ntab_framelookup);
2968	ntab_upload(dev, B43_NTAB_TMAP, b43_ntab_tmap);
2969	ntab_upload(dev, B43_NTAB_TDTRN, b43_ntab_tdtrn);
2970	ntab_upload(dev, B43_NTAB_INTLEVEL, b43_ntab_intlevel);
2971	ntab_upload(dev, B43_NTAB_PILOT, b43_ntab_pilot);
2972	ntab_upload(dev, B43_NTAB_TDI20A0, b43_ntab_tdi20a0);
2973	ntab_upload(dev, B43_NTAB_TDI20A1, b43_ntab_tdi20a1);
2974	ntab_upload(dev, B43_NTAB_TDI40A0, b43_ntab_tdi40a0);
2975	ntab_upload(dev, B43_NTAB_TDI40A1, b43_ntab_tdi40a1);
2976	ntab_upload(dev, B43_NTAB_CHANEST, b43_ntab_channelest);
2977	ntab_upload(dev, B43_NTAB_MCS, b43_ntab_mcs);
2978	ntab_upload(dev, B43_NTAB_NOISEVAR10, b43_ntab_noisevar10);
2979	ntab_upload(dev, B43_NTAB_NOISEVAR11, b43_ntab_noisevar11);
2980
2981	/* Volatile tables */
2982	ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi);
2983	ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt);
2984	ntab_upload(dev, B43_NTAB_C0_GAINCTL, b43_ntab_gainctl0);
2985	ntab_upload(dev, B43_NTAB_C1_GAINCTL, b43_ntab_gainctl1);
2986	ntab_upload(dev, B43_NTAB_C0_ESTPLT, b43_ntab_estimatepowerlt0);
2987	ntab_upload(dev, B43_NTAB_C1_ESTPLT, b43_ntab_estimatepowerlt1);
2988	ntab_upload(dev, B43_NTAB_C0_ADJPLT, b43_ntab_adjustpower0);
2989	ntab_upload(dev, B43_NTAB_C1_ADJPLT, b43_ntab_adjustpower1);
2990	ntab_upload(dev, B43_NTAB_C0_IQLT, b43_ntab_iqlt0);
2991	ntab_upload(dev, B43_NTAB_C1_IQLT, b43_ntab_iqlt1);
2992	ntab_upload(dev, B43_NTAB_C0_LOFEEDTH, b43_ntab_loftlt0);
2993	ntab_upload(dev, B43_NTAB_C1_LOFEEDTH, b43_ntab_loftlt1);
2994}
2995
2996#define ntab_upload_r3(dev, offset, data) do { \
2997		b43_ntab_write_bulk(dev, offset, ARRAY_SIZE(data), data); \
2998	} while (0)
2999void b43_nphy_rev3plus_tables_init(struct b43_wldev *dev)
3000{
3001	/* Static tables */
3002	ntab_upload_r3(dev, B43_NTAB_FRAMESTRUCT_R3, b43_ntab_framestruct_r3);
3003	ntab_upload_r3(dev, B43_NTAB_PILOT_R3, b43_ntab_pilot_r3);
3004	ntab_upload_r3(dev, B43_NTAB_TMAP_R3, b43_ntab_tmap_r3);
3005	ntab_upload_r3(dev, B43_NTAB_INTLEVEL_R3, b43_ntab_intlevel_r3);
3006	ntab_upload_r3(dev, B43_NTAB_TDTRN_R3, b43_ntab_tdtrn_r3);
3007	ntab_upload_r3(dev, B43_NTAB_NOISEVAR0_R3, b43_ntab_noisevar0_r3);
3008	ntab_upload_r3(dev, B43_NTAB_NOISEVAR1_R3, b43_ntab_noisevar1_r3);
3009	ntab_upload_r3(dev, B43_NTAB_MCS_R3, b43_ntab_mcs_r3);
3010	ntab_upload_r3(dev, B43_NTAB_TDI20A0_R3, b43_ntab_tdi20a0_r3);
3011	ntab_upload_r3(dev, B43_NTAB_TDI20A1_R3, b43_ntab_tdi20a1_r3);
3012	ntab_upload_r3(dev, B43_NTAB_TDI40A0_R3, b43_ntab_tdi40a0_r3);
3013	ntab_upload_r3(dev, B43_NTAB_TDI40A1_R3, b43_ntab_tdi40a1_r3);
3014	ntab_upload_r3(dev, B43_NTAB_PILOTLT_R3, b43_ntab_pilotlt_r3);
3015	ntab_upload_r3(dev, B43_NTAB_CHANEST_R3, b43_ntab_channelest_r3);
3016	ntab_upload_r3(dev, B43_NTAB_FRAMELT_R3, b43_ntab_framelookup_r3);
3017	ntab_upload_r3(dev, B43_NTAB_C0_ESTPLT_R3,
3018		       b43_ntab_estimatepowerlt0_r3);
3019	ntab_upload_r3(dev, B43_NTAB_C1_ESTPLT_R3,
3020		       b43_ntab_estimatepowerlt1_r3);
3021	ntab_upload_r3(dev, B43_NTAB_C0_ADJPLT_R3, b43_ntab_adjustpower0_r3);
3022	ntab_upload_r3(dev, B43_NTAB_C1_ADJPLT_R3, b43_ntab_adjustpower1_r3);
3023	ntab_upload_r3(dev, B43_NTAB_C0_GAINCTL_R3, b43_ntab_gainctl0_r3);
3024	ntab_upload_r3(dev, B43_NTAB_C1_GAINCTL_R3, b43_ntab_gainctl1_r3);
3025	ntab_upload_r3(dev, B43_NTAB_C0_IQLT_R3, b43_ntab_iqlt0_r3);
3026	ntab_upload_r3(dev, B43_NTAB_C1_IQLT_R3, b43_ntab_iqlt1_r3);
3027	ntab_upload_r3(dev, B43_NTAB_C0_LOFEEDTH_R3, b43_ntab_loftlt0_r3);
3028	ntab_upload_r3(dev, B43_NTAB_C1_LOFEEDTH_R3, b43_ntab_loftlt1_r3);
3029
3030	/* Volatile tables */
3031	/* TODO */
3032}
3033
3034struct nphy_gain_ctl_workaround_entry *b43_nphy_get_gain_ctl_workaround_ent(
3035	struct b43_wldev *dev, bool ghz5, bool ext_lna)
3036{
3037	struct nphy_gain_ctl_workaround_entry *e;
3038	u8 phy_idx;
3039
3040	B43_WARN_ON(dev->phy.rev < 3);
3041	if (dev->phy.rev >= 5)
3042		phy_idx = 2;
3043	else if (dev->phy.rev == 4)
3044		phy_idx = 1;
3045	else
3046		phy_idx = 0;
3047
3048	e = &nphy_gain_ctl_workaround[ghz5][phy_idx];
3049
3050	/* Only one entry differs for external LNA, so instead making whole
3051	 * table 2 times bigger, hack is here
3052	 */
3053	if (!ghz5 && dev->phy.rev >= 5 && ext_lna) {
3054		e->rfseq_init[0] &= 0x0FFF;
3055		e->rfseq_init[1] &= 0x0FFF;
3056		e->rfseq_init[2] &= 0x0FFF;
3057		e->rfseq_init[3] &= 0x0FFF;
3058		e->init_gain &= 0x0FFF;
3059	}
3060
3061	return e;
3062}