linux/drivers/net/wireless/b43/radio_2055.c
<<
>>
Prefs
   1/*
   2
   3  Broadcom B43 wireless driver
   4  IEEE 802.11n PHY and radio device data tables
   5
   6  Copyright (c) 2008 Michael Buesch <m@bues.ch>
   7  Copyright (c) 2010 Rafał Miłecki <zajec5@gmail.com>
   8
   9  This program is free software; you can redistribute it and/or modify
  10  it under the terms of the GNU General Public License as published by
  11  the Free Software Foundation; either version 2 of the License, or
  12  (at your option) any later version.
  13
  14  This program is distributed in the hope that it will be useful,
  15  but WITHOUT ANY WARRANTY; without even the implied warranty of
  16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17  GNU General Public License for more details.
  18
  19  You should have received a copy of the GNU General Public License
  20  along with this program; see the file COPYING.  If not, write to
  21  the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
  22  Boston, MA 02110-1301, USA.
  23
  24*/
  25
  26#include "b43.h"
  27#include "radio_2055.h"
  28#include "phy_common.h"
  29
  30struct b2055_inittab_entry {
  31        /* Value to write if we use the 5GHz band. */
  32        u16 ghz5;
  33        /* Value to write if we use the 2.4GHz band. */
  34        u16 ghz2;
  35        /* Flags */
  36        u8 flags;
  37#define B2055_INITTAB_ENTRY_OK  0x01
  38#define B2055_INITTAB_UPLOAD    0x02
  39};
  40#define UPLOAD          .flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD
  41#define NOUPLOAD        .flags = B2055_INITTAB_ENTRY_OK
  42
  43static const struct b2055_inittab_entry b2055_inittab [] = {
  44  [B2055_SP_PINPD]              = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
  45  [B2055_C1_SP_RSSI]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  46  [B2055_C1_SP_PDMISC]          = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
  47  [B2055_C2_SP_RSSI]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  48  [B2055_C2_SP_PDMISC]          = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
  49  [B2055_C1_SP_RXGC1]           = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
  50  [B2055_C1_SP_RXGC2]           = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
  51  [B2055_C2_SP_RXGC1]           = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
  52  [B2055_C2_SP_RXGC2]           = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
  53  [B2055_C1_SP_LPFBWSEL]        = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
  54  [B2055_C2_SP_LPFBWSEL]        = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
  55  [B2055_C1_SP_TXGC1]           = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
  56  [B2055_C1_SP_TXGC2]           = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
  57  [B2055_C2_SP_TXGC1]           = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
  58  [B2055_C2_SP_TXGC2]           = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
  59  [B2055_MASTER1]               = { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, },
  60  [B2055_MASTER2]               = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
  61  [B2055_PD_LGEN]               = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  62  [B2055_PD_PLLTS]              = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, },
  63  [B2055_C1_PD_LGBUF]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  64  [B2055_C1_PD_TX]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  65  [B2055_C1_PD_RXTX]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  66  [B2055_C1_PD_RSSIMISC]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  67  [B2055_C2_PD_LGBUF]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  68  [B2055_C2_PD_TX]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  69  [B2055_C2_PD_RXTX]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  70  [B2055_C2_PD_RSSIMISC]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  71  [B2055_PWRDET_LGEN]           = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
  72  [B2055_C1_PWRDET_LGBUF]       = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
  73  [B2055_C1_PWRDET_RXTX]        = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
  74  [B2055_C2_PWRDET_LGBUF]       = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
  75  [B2055_C2_PWRDET_RXTX]        = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
  76  [B2055_RRCCAL_CS]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  77  [B2055_RRCCAL_NOPTSEL]        = { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, },
  78  [B2055_CAL_MISC]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  79  [B2055_CAL_COUT]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  80  [B2055_CAL_COUT2]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  81  [B2055_CAL_CVARCTL]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  82  [B2055_CAL_RVARCTL]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  83  [B2055_CAL_LPOCTL]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  84  [B2055_CAL_TS]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  85  [B2055_CAL_RCCALRTS]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  86  [B2055_CAL_RCALRTS]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  87  [B2055_PADDRV]                = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
  88  [B2055_XOCTL1]                = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, },
  89  [B2055_XOCTL2]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  90  [B2055_XOREGUL]               = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
  91  [B2055_XOMISC]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
  92  [B2055_PLL_LFC1]              = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
  93  [B2055_PLL_CALVTH]            = { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, },
  94  [B2055_PLL_LFC2]              = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
  95  [B2055_PLL_REF]               = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, },
  96  [B2055_PLL_LFR1]              = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, },
  97  [B2055_PLL_PFDCP]             = { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, },
  98  [B2055_PLL_IDAC_CPOPAMP]      = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
  99  [B2055_PLL_CPREG]             = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
 100  [B2055_PLL_RCAL]              = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 101  [B2055_RF_PLLMOD0]            = { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, },
 102  [B2055_RF_PLLMOD1]            = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
 103  [B2055_RF_MMDIDAC1]           = { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, },
 104  [B2055_RF_MMDIDAC0]           = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 105  [B2055_RF_MMDSP]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 106  [B2055_VCO_CAL1]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 107  [B2055_VCO_CAL2]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 108  [B2055_VCO_CAL3]              = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, },
 109  [B2055_VCO_CAL4]              = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
 110  [B2055_VCO_CAL5]              = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, },
 111  [B2055_VCO_CAL6]              = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
 112  [B2055_VCO_CAL7]              = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
 113  [B2055_VCO_CAL8]              = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, },
 114  [B2055_VCO_CAL9]              = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
 115  [B2055_VCO_CAL10]             = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
 116  [B2055_VCO_CAL11]             = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
 117  [B2055_VCO_CAL12]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 118  [B2055_VCO_CAL13]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 119  [B2055_VCO_CAL14]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 120  [B2055_VCO_CAL15]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 121  [B2055_VCO_CAL16]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 122  [B2055_VCO_KVCO]              = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 123  [B2055_VCO_CAPTAIL]           = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 124  [B2055_VCO_IDACVCO]           = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 125  [B2055_VCO_REG]               = { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, },
 126  [B2055_PLL_RFVTH]             = { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, },
 127  [B2055_LGBUF_CENBUF]          = { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, },
 128  [B2055_LGEN_TUNE1]            = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
 129  [B2055_LGEN_TUNE2]            = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
 130  [B2055_LGEN_IDAC1]            = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 131  [B2055_LGEN_IDAC2]            = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 132  [B2055_LGEN_BIASC]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 133  [B2055_LGEN_BIASIDAC]         = { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, },
 134  [B2055_LGEN_RCAL]             = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 135  [B2055_LGEN_DIV]              = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
 136  [B2055_LGEN_SPARE2]           = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
 137  [B2055_C1_LGBUF_ATUNE]        = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
 138  [B2055_C1_LGBUF_GTUNE]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 139  [B2055_C1_LGBUF_DIV]          = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 140  [B2055_C1_LGBUF_AIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
 141  [B2055_C1_LGBUF_GIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 142  [B2055_C1_LGBUF_IDACFO]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 143  [B2055_C1_LGBUF_SPARE]        = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
 144  [B2055_C1_RX_RFSPC1]          = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
 145  [B2055_C1_RX_RFR1]            = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 146  [B2055_C1_RX_RFR2]            = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
 147  [B2055_C1_RX_RFRCAL]          = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 148  [B2055_C1_RX_BB_BLCMP]        = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
 149  [B2055_C1_RX_BB_LPF]          = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
 150  [B2055_C1_RX_BB_MIDACHP]      = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
 151  [B2055_C1_RX_BB_VGA1IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 152  [B2055_C1_RX_BB_VGA2IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 153  [B2055_C1_RX_BB_VGA3IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 154  [B2055_C1_RX_BB_BUFOCTL]      = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 155  [B2055_C1_RX_BB_RCCALCTL]     = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 156  [B2055_C1_RX_BB_RSSICTL1]     = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
 157  [B2055_C1_RX_BB_RSSICTL2]     = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
 158  [B2055_C1_RX_BB_RSSICTL3]     = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
 159  [B2055_C1_RX_BB_RSSICTL4]     = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
 160  [B2055_C1_RX_BB_RSSICTL5]     = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
 161  [B2055_C1_RX_BB_REG]          = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
 162  [B2055_C1_RX_BB_SPARE1]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 163  [B2055_C1_RX_TXBBRCAL]        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 164  [B2055_C1_TX_RF_SPGA]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
 165  [B2055_C1_TX_RF_SPAD]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
 166  [B2055_C1_TX_RF_CNTPGA1]      = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
 167  [B2055_C1_TX_RF_CNTPAD1]      = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
 168  [B2055_C1_TX_RF_PGAIDAC]      = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
 169  [B2055_C1_TX_PGAPADTN]        = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 170  [B2055_C1_TX_PADIDAC1]        = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
 171  [B2055_C1_TX_PADIDAC2]        = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
 172  [B2055_C1_TX_MXBGTRIM]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 173  [B2055_C1_TX_RF_RCAL]         = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 174  [B2055_C1_TX_RF_PADTSSI1]     = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
 175  [B2055_C1_TX_RF_PADTSSI2]     = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
 176  [B2055_C1_TX_RF_SPARE]        = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
 177  [B2055_C1_TX_RF_IQCAL1]       = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 178  [B2055_C1_TX_RF_IQCAL2]       = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
 179  [B2055_C1_TXBB_RCCAL]         = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 180  [B2055_C1_TXBB_LPF1]          = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
 181  [B2055_C1_TX_VOSCNCL]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 182  [B2055_C1_TX_LPF_MXGMIDAC]    = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
 183  [B2055_C1_TX_BB_MXGM]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 184  [B2055_C2_LGBUF_ATUNE]        = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
 185  [B2055_C2_LGBUF_GTUNE]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 186  [B2055_C2_LGBUF_DIV]          = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 187  [B2055_C2_LGBUF_AIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
 188  [B2055_C2_LGBUF_GIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 189  [B2055_C2_LGBUF_IDACFO]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 190  [B2055_C2_LGBUF_SPARE]        = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
 191  [B2055_C2_RX_RFSPC1]          = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
 192  [B2055_C2_RX_RFR1]            = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 193  [B2055_C2_RX_RFR2]            = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
 194  [B2055_C2_RX_RFRCAL]          = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 195  [B2055_C2_RX_BB_BLCMP]        = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
 196  [B2055_C2_RX_BB_LPF]          = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
 197  [B2055_C2_RX_BB_MIDACHP]      = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
 198  [B2055_C2_RX_BB_VGA1IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 199  [B2055_C2_RX_BB_VGA2IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 200  [B2055_C2_RX_BB_VGA3IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 201  [B2055_C2_RX_BB_BUFOCTL]      = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 202  [B2055_C2_RX_BB_RCCALCTL]     = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 203  [B2055_C2_RX_BB_RSSICTL1]     = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
 204  [B2055_C2_RX_BB_RSSICTL2]     = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
 205  [B2055_C2_RX_BB_RSSICTL3]     = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
 206  [B2055_C2_RX_BB_RSSICTL4]     = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
 207  [B2055_C2_RX_BB_RSSICTL5]     = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
 208  [B2055_C2_RX_BB_REG]          = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
 209  [B2055_C2_RX_BB_SPARE1]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 210  [B2055_C2_RX_TXBBRCAL]        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 211  [B2055_C2_TX_RF_SPGA]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
 212  [B2055_C2_TX_RF_SPAD]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
 213  [B2055_C2_TX_RF_CNTPGA1]      = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
 214  [B2055_C2_TX_RF_CNTPAD1]      = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
 215  [B2055_C2_TX_RF_PGAIDAC]      = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
 216  [B2055_C2_TX_PGAPADTN]        = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
 217  [B2055_C2_TX_PADIDAC1]        = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
 218  [B2055_C2_TX_PADIDAC2]        = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
 219  [B2055_C2_TX_MXBGTRIM]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 220  [B2055_C2_TX_RF_RCAL]         = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 221  [B2055_C2_TX_RF_PADTSSI1]     = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
 222  [B2055_C2_TX_RF_PADTSSI2]     = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
 223  [B2055_C2_TX_RF_SPARE]        = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
 224  [B2055_C2_TX_RF_IQCAL1]       = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
 225  [B2055_C2_TX_RF_IQCAL2]       = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
 226  [B2055_C2_TXBB_RCCAL]         = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 227  [B2055_C2_TXBB_LPF1]          = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
 228  [B2055_C2_TX_VOSCNCL]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 229  [B2055_C2_TX_LPF_MXGMIDAC]    = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
 230  [B2055_C2_TX_BB_MXGM]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 231  [B2055_PRG_GCHP21]            = { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, },
 232  [B2055_PRG_GCHP22]            = { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, },
 233  [B2055_PRG_GCHP23]            = { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, },
 234  [B2055_PRG_GCHP24]            = { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, },
 235  [B2055_PRG_GCHP25]            = { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, },
 236  [B2055_PRG_GCHP26]            = { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, },
 237  [B2055_PRG_GCHP27]            = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, },
 238  [B2055_PRG_GCHP28]            = { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, },
 239  [B2055_PRG_GCHP29]            = { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, },
 240  [B2055_PRG_GCHP30]            = { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, },
 241  [0xC7]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 242  [0xC8]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 243  [0xC9]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 244  [0xCA]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 245  [0xCB]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 246  [0xCC]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 247  [B2055_C1_LNA_GAINBST]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 248  [0xCE]                        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 249  [0xCF]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 250  [0xD0]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 251  [0xD1]                        = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 252  [B2055_C1_B0NB_RSSIVCM]       = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 253  [0xD3]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 254  [0xD4]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 255  [0xD5]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 256  [B2055_C1_GENSPARE2]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 257  [0xD7]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 258  [0xD8]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 259  [B2055_C2_LNA_GAINBST]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 260  [0xDA]                        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
 261  [0xDB]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 262  [0xDC]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 263  [0xDD]                        = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
 264  [B2055_C2_B0NB_RSSIVCM]       = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
 265  [0xDF]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 266  [0xE0]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 267  [0xE1]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 268  [B2055_C2_GENSPARE2]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
 269};
 270
 271#define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \
 272                  r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \
 273        .radio_pll_ref          = r0,   \
 274        .radio_rf_pllmod0       = r1,   \
 275        .radio_rf_pllmod1       = r2,   \
 276        .radio_vco_captail      = r3,   \
 277        .radio_vco_cal1         = r4,   \
 278        .radio_vco_cal2         = r5,   \
 279        .radio_pll_lfc1         = r6,   \
 280        .radio_pll_lfr1         = r7,   \
 281        .radio_pll_lfc2         = r8,   \
 282        .radio_lgbuf_cenbuf     = r9,   \
 283        .radio_lgen_tune1       = r10,  \
 284        .radio_lgen_tune2       = r11,  \
 285        .radio_c1_lgbuf_atune   = r12,  \
 286        .radio_c1_lgbuf_gtune   = r13,  \
 287        .radio_c1_rx_rfr1       = r14,  \
 288        .radio_c1_tx_pgapadtn   = r15,  \
 289        .radio_c1_tx_mxbgtrim   = r16,  \
 290        .radio_c2_lgbuf_atune   = r17,  \
 291        .radio_c2_lgbuf_gtune   = r18,  \
 292        .radio_c2_rx_rfr1       = r19,  \
 293        .radio_c2_tx_pgapadtn   = r20,  \
 294        .radio_c2_tx_mxbgtrim   = r21
 295
 296#define PHYREGS(r0, r1, r2, r3, r4, r5) \
 297        .phy_regs.phy_bw1a      = r0,   \
 298        .phy_regs.phy_bw2       = r1,   \
 299        .phy_regs.phy_bw3       = r2,   \
 300        .phy_regs.phy_bw4       = r3,   \
 301        .phy_regs.phy_bw5       = r4,   \
 302        .phy_regs.phy_bw6       = r5
 303
 304static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab_rev2[] = {
 305  {     .channel                = 184,
 306        .freq                   = 4920, /* MHz */
 307        .unk2                   = 3280,
 308        RADIOREGS(0x71, 0xEC, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 309                  0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
 310                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 311        PHYREGS(0x07B4, 0x07B0, 0x07AC, 0x0214, 0x0215, 0x0216),
 312  },
 313  {     .channel                = 186,
 314        .freq                   = 4930, /* MHz */
 315        .unk2                   = 3287,
 316        RADIOREGS(0x71, 0xED, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 317                  0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
 318                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 319        PHYREGS(0x07B8, 0x07B4, 0x07B0, 0x0213, 0x0214, 0x0215),
 320  },
 321  {     .channel                = 188,
 322        .freq                   = 4940, /* MHz */
 323        .unk2                   = 3293,
 324        RADIOREGS(0x71, 0xEE, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 325                  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
 326                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 327        PHYREGS(0x07BC, 0x07B8, 0x07B4, 0x0212, 0x0213, 0x0214),
 328  },
 329  {     .channel                = 190,
 330        .freq                   = 4950, /* MHz */
 331        .unk2                   = 3300,
 332        RADIOREGS(0x71, 0xEF, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 333                  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
 334                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 335        PHYREGS(0x07C0, 0x07BC, 0x07B8, 0x0211, 0x0212, 0x0213),
 336  },
 337  {     .channel                = 192,
 338        .freq                   = 4960, /* MHz */
 339        .unk2                   = 3307,
 340        RADIOREGS(0x71, 0xF0, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 341                  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
 342                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 343        PHYREGS(0x07C4, 0x07C0, 0x07BC, 0x020F, 0x0211, 0x0212),
 344  },
 345  {     .channel                = 194,
 346        .freq                   = 4970, /* MHz */
 347        .unk2                   = 3313,
 348        RADIOREGS(0x71, 0xF1, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
 349                  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
 350                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 351        PHYREGS(0x07C8, 0x07C4, 0x07C0, 0x020E, 0x020F, 0x0211),
 352  },
 353  {     .channel                = 196,
 354        .freq                   = 4980, /* MHz */
 355        .unk2                   = 3320,
 356        RADIOREGS(0x71, 0xF2, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
 357                  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
 358                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 359        PHYREGS(0x07CC, 0x07C8, 0x07C4, 0x020D, 0x020E, 0x020F),
 360  },
 361  {     .channel                = 198,
 362        .freq                   = 4990, /* MHz */
 363        .unk2                   = 3327,
 364        RADIOREGS(0x71, 0xF3, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
 365                  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
 366                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 367        PHYREGS(0x07D0, 0x07CC, 0x07C8, 0x020C, 0x020D, 0x020E),
 368  },
 369  {     .channel                = 200,
 370        .freq                   = 5000, /* MHz */
 371        .unk2                   = 3333,
 372        RADIOREGS(0x71, 0xF4, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
 373                  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
 374                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 375        PHYREGS(0x07D4, 0x07D0, 0x07CC, 0x020B, 0x020C, 0x020D),
 376  },
 377  {     .channel                = 202,
 378        .freq                   = 5010, /* MHz */
 379        .unk2                   = 3340,
 380        RADIOREGS(0x71, 0xF5, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
 381                  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
 382                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 383        PHYREGS(0x07D8, 0x07D4, 0x07D0, 0x020A, 0x020B, 0x020C),
 384  },
 385  {     .channel                = 204,
 386        .freq                   = 5020, /* MHz */
 387        .unk2                   = 3347,
 388        RADIOREGS(0x71, 0xF6, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
 389                  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
 390                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 391        PHYREGS(0x07DC, 0x07D8, 0x07D4, 0x0209, 0x020A, 0x020B),
 392  },
 393  {     .channel                = 206,
 394        .freq                   = 5030, /* MHz */
 395        .unk2                   = 3353,
 396        RADIOREGS(0x71, 0xF7, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
 397                  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
 398                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 399        PHYREGS(0x07E0, 0x07DC, 0x07D8, 0x0208, 0x0209, 0x020A),
 400  },
 401  {     .channel                = 208,
 402        .freq                   = 5040, /* MHz */
 403        .unk2                   = 3360,
 404        RADIOREGS(0x71, 0xF8, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
 405                  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
 406                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 407        PHYREGS(0x07E4, 0x07E0, 0x07DC, 0x0207, 0x0208, 0x0209),
 408  },
 409  {     .channel                = 210,
 410        .freq                   = 5050, /* MHz */
 411        .unk2                   = 3367,
 412        RADIOREGS(0x71, 0xF9, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
 413                  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
 414                  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
 415        PHYREGS(0x07E8, 0x07E4, 0x07E0, 0x0206, 0x0207, 0x0208),
 416  },
 417  {     .channel                = 212,
 418        .freq                   = 5060, /* MHz */
 419        .unk2                   = 3373,
 420        RADIOREGS(0x71, 0xFA, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
 421                  0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
 422                  0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
 423        PHYREGS(0x07EC, 0x07E8, 0x07E4, 0x0205, 0x0206, 0x0207),
 424  },
 425  {     .channel                = 214,
 426        .freq                   = 5070, /* MHz */
 427        .unk2                   = 3380,
 428        RADIOREGS(0x71, 0xFB, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
 429                  0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
 430                  0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
 431        PHYREGS(0x07F0, 0x07EC, 0x07E8, 0x0204, 0x0205, 0x0206),
 432  },
 433  {     .channel                = 216,
 434        .freq                   = 5080, /* MHz */
 435        .unk2                   = 3387,
 436        RADIOREGS(0x71, 0xFC, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
 437                  0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
 438                  0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
 439        PHYREGS(0x07F4, 0x07F0, 0x07EC, 0x0203, 0x0204, 0x0205),
 440  },
 441  {     .channel                = 218,
 442        .freq                   = 5090, /* MHz */
 443        .unk2                   = 3393,
 444        RADIOREGS(0x71, 0xFD, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
 445                  0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
 446                  0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
 447        PHYREGS(0x07F8, 0x07F4, 0x07F0, 0x0202, 0x0203, 0x0204),
 448  },
 449  {     .channel                = 220,
 450        .freq                   = 5100, /* MHz */
 451        .unk2                   = 3400,
 452        RADIOREGS(0x71, 0xFE, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
 453                  0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
 454                  0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
 455        PHYREGS(0x07FC, 0x07F8, 0x07F4, 0x0201, 0x0202, 0x0203),
 456  },
 457  {     .channel                = 222,
 458        .freq                   = 5110, /* MHz */
 459        .unk2                   = 3407,
 460        RADIOREGS(0x71, 0xFF, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
 461                  0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
 462                  0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
 463        PHYREGS(0x0800, 0x07FC, 0x07F8, 0x0200, 0x0201, 0x0202),
 464  },
 465  {     .channel                = 224,
 466        .freq                   = 5120, /* MHz */
 467        .unk2                   = 3413,
 468        RADIOREGS(0x71, 0x00, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
 469                  0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
 470                  0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
 471        PHYREGS(0x0804, 0x0800, 0x07FC, 0x01FF, 0x0200, 0x0201),
 472  },
 473  {     .channel                = 226,
 474        .freq                   = 5130, /* MHz */
 475        .unk2                   = 3420,
 476        RADIOREGS(0x71, 0x01, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
 477                  0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
 478                  0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
 479        PHYREGS(0x0808, 0x0804, 0x0800, 0x01FE, 0x01FF, 0x0200),
 480  },
 481  {     .channel                = 228,
 482        .freq                   = 5140, /* MHz */
 483        .unk2                   = 3427,
 484        RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
 485                  0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E,
 486                  0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B),
 487        PHYREGS(0x080C, 0x0808, 0x0804, 0x01FD, 0x01FE, 0x01FF),
 488  },
 489  {     .channel                = 32,
 490        .freq                   = 5160, /* MHz */
 491        .unk2                   = 3440,
 492        RADIOREGS(0x71, 0x04, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
 493                  0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
 494                  0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
 495        PHYREGS(0x0814, 0x0810, 0x080C, 0x01FB, 0x01FC, 0x01FD),
 496  },
 497  {     .channel                = 34,
 498        .freq                   = 5170, /* MHz */
 499        .unk2                   = 3447,
 500        RADIOREGS(0x71, 0x05, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
 501                  0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
 502                  0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
 503        PHYREGS(0x0818, 0x0814, 0x0810, 0x01FA, 0x01FB, 0x01FC),
 504  },
 505  {     .channel                = 36,
 506        .freq                   = 5180, /* MHz */
 507        .unk2                   = 3453,
 508        RADIOREGS(0x71, 0x06, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
 509                  0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
 510                  0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
 511        PHYREGS(0x081C, 0x0818, 0x0814, 0x01F9, 0x01FA, 0x01FB),
 512  },
 513  {     .channel                = 38,
 514        .freq                   = 5190, /* MHz */
 515        .unk2                   = 3460,
 516        RADIOREGS(0x71, 0x07, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
 517                  0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
 518                  0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
 519        PHYREGS(0x0820, 0x081C, 0x0818, 0x01F8, 0x01F9, 0x01FA),
 520  },
 521  {     .channel                = 40,
 522        .freq                   = 5200, /* MHz */
 523        .unk2                   = 3467,
 524        RADIOREGS(0x71, 0x08, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
 525                  0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
 526                  0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
 527        PHYREGS(0x0824, 0x0820, 0x081C, 0x01F7, 0x01F8, 0x01F9),
 528  },
 529  {     .channel                = 42,
 530        .freq                   = 5210, /* MHz */
 531        .unk2                   = 3473,
 532        RADIOREGS(0x71, 0x09, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
 533                  0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
 534                  0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
 535        PHYREGS(0x0828, 0x0824, 0x0820, 0x01F6, 0x01F7, 0x01F8),
 536  },
 537  {     .channel                = 44,
 538        .freq                   = 5220, /* MHz */
 539        .unk2                   = 3480,
 540        RADIOREGS(0x71, 0x0A, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
 541                  0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
 542                  0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
 543        PHYREGS(0x082C, 0x0828, 0x0824, 0x01F5, 0x01F6, 0x01F7),
 544  },
 545  {     .channel                = 46,
 546        .freq                   = 5230, /* MHz */
 547        .unk2                   = 3487,
 548        RADIOREGS(0x71, 0x0B, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
 549                  0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
 550                  0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
 551        PHYREGS(0x0830, 0x082C, 0x0828, 0x01F4, 0x01F5, 0x01F6),
 552  },
 553  {     .channel                = 48,
 554        .freq                   = 5240, /* MHz */
 555        .unk2                   = 3493,
 556        RADIOREGS(0x71, 0x0C, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
 557                  0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
 558                  0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
 559        PHYREGS(0x0834, 0x0830, 0x082C, 0x01F3, 0x01F4, 0x01F5),
 560  },
 561  {     .channel                = 50,
 562        .freq                   = 5250, /* MHz */
 563        .unk2                   = 3500,
 564        RADIOREGS(0x71, 0x0D, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
 565                  0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
 566                  0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
 567        PHYREGS(0x0838, 0x0834, 0x0830, 0x01F2, 0x01F3, 0x01F4),
 568  },
 569  {     .channel                = 52,
 570        .freq                   = 5260, /* MHz */
 571        .unk2                   = 3507,
 572        RADIOREGS(0x71, 0x0E, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
 573                  0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
 574                  0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
 575        PHYREGS(0x083C, 0x0838, 0x0834, 0x01F1, 0x01F2, 0x01F3),
 576  },
 577  {     .channel                = 54,
 578        .freq                   = 5270, /* MHz */
 579        .unk2                   = 3513,
 580        RADIOREGS(0x71, 0x0F, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
 581                  0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
 582                  0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
 583        PHYREGS(0x0840, 0x083C, 0x0838, 0x01F0, 0x01F1, 0x01F2),
 584  },
 585  {     .channel                = 56,
 586        .freq                   = 5280, /* MHz */
 587        .unk2                   = 3520,
 588        RADIOREGS(0x71, 0x10, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
 589                  0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
 590                  0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
 591        PHYREGS(0x0844, 0x0840, 0x083C, 0x01F0, 0x01F0, 0x01F1),
 592  },
 593  {     .channel                = 58,
 594        .freq                   = 5290, /* MHz */
 595        .unk2                   = 3527,
 596        RADIOREGS(0x71, 0x11, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
 597                  0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
 598                  0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
 599        PHYREGS(0x0848, 0x0844, 0x0840, 0x01EF, 0x01F0, 0x01F0),
 600  },
 601  {     .channel                = 60,
 602        .freq                   = 5300, /* MHz */
 603        .unk2                   = 3533,
 604        RADIOREGS(0x71, 0x12, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
 605                  0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
 606                  0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
 607        PHYREGS(0x084C, 0x0848, 0x0844, 0x01EE, 0x01EF, 0x01F0),
 608  },
 609  {     .channel                = 62,
 610        .freq                   = 5310, /* MHz */
 611        .unk2                   = 3540,
 612        RADIOREGS(0x71, 0x13, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
 613                  0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
 614                  0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
 615        PHYREGS(0x0850, 0x084C, 0x0848, 0x01ED, 0x01EE, 0x01EF),
 616  },
 617  {     .channel                = 64,
 618        .freq                   = 5320, /* MHz */
 619        .unk2                   = 3547,
 620        RADIOREGS(0x71, 0x14, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
 621                  0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
 622                  0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
 623        PHYREGS(0x0854, 0x0850, 0x084C, 0x01EC, 0x01ED, 0x01EE),
 624  },
 625  {     .channel                = 66,
 626        .freq                   = 5330, /* MHz */
 627        .unk2                   = 3553,
 628        RADIOREGS(0x71, 0x15, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
 629                  0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
 630                  0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
 631        PHYREGS(0x0858, 0x0854, 0x0850, 0x01EB, 0x01EC, 0x01ED),
 632  },
 633  {     .channel                = 68,
 634        .freq                   = 5340, /* MHz */
 635        .unk2                   = 3560,
 636        RADIOREGS(0x71, 0x16, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
 637                  0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
 638                  0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
 639        PHYREGS(0x085C, 0x0858, 0x0854, 0x01EA, 0x01EB, 0x01EC),
 640  },
 641  {     .channel                = 70,
 642        .freq                   = 5350, /* MHz */
 643        .unk2                   = 3567,
 644        RADIOREGS(0x71, 0x17, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
 645                  0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
 646                  0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
 647        PHYREGS(0x0860, 0x085C, 0x0858, 0x01E9, 0x01EA, 0x01EB),
 648  },
 649  {     .channel                = 72,
 650        .freq                   = 5360, /* MHz */
 651        .unk2                   = 3573,
 652        RADIOREGS(0x71, 0x18, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
 653                  0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
 654                  0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
 655        PHYREGS(0x0864, 0x0860, 0x085C, 0x01E8, 0x01E9, 0x01EA),
 656  },
 657  {     .channel                = 74,
 658        .freq                   = 5370, /* MHz */
 659        .unk2                   = 3580,
 660        RADIOREGS(0x71, 0x19, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
 661                  0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
 662                  0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
 663        PHYREGS(0x0868, 0x0864, 0x0860, 0x01E7, 0x01E8, 0x01E9),
 664  },
 665  {     .channel                = 76,
 666        .freq                   = 5380, /* MHz */
 667        .unk2                   = 3587,
 668        RADIOREGS(0x71, 0x1A, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
 669                  0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
 670                  0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
 671        PHYREGS(0x086C, 0x0868, 0x0864, 0x01E6, 0x01E7, 0x01E8),
 672  },
 673  {     .channel                = 78,
 674        .freq                   = 5390, /* MHz */
 675        .unk2                   = 3593,
 676        RADIOREGS(0x71, 0x1B, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
 677                  0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
 678                  0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
 679        PHYREGS(0x0870, 0x086C, 0x0868, 0x01E5, 0x01E6, 0x01E7),
 680  },
 681  {     .channel                = 80,
 682        .freq                   = 5400, /* MHz */
 683        .unk2                   = 3600,
 684        RADIOREGS(0x71, 0x1C, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
 685                  0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
 686                  0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
 687        PHYREGS(0x0874, 0x0870, 0x086C, 0x01E5, 0x01E5, 0x01E6),
 688  },
 689  {     .channel                = 82,
 690        .freq                   = 5410, /* MHz */
 691        .unk2                   = 3607,
 692        RADIOREGS(0x71, 0x1D, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
 693                  0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
 694                  0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
 695        PHYREGS(0x0878, 0x0874, 0x0870, 0x01E4, 0x01E5, 0x01E5),
 696  },
 697  {     .channel                = 84,
 698        .freq                   = 5420, /* MHz */
 699        .unk2                   = 3613,
 700        RADIOREGS(0x71, 0x1E, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
 701                  0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
 702                  0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
 703        PHYREGS(0x087C, 0x0878, 0x0874, 0x01E3, 0x01E4, 0x01E5),
 704  },
 705  {     .channel                = 86,
 706        .freq                   = 5430, /* MHz */
 707        .unk2                   = 3620,
 708        RADIOREGS(0x71, 0x1F, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
 709                  0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
 710                  0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
 711        PHYREGS(0x0880, 0x087C, 0x0878, 0x01E2, 0x01E3, 0x01E4),
 712  },
 713  {     .channel                = 88,
 714        .freq                   = 5440, /* MHz */
 715        .unk2                   = 3627,
 716        RADIOREGS(0x71, 0x20, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
 717                  0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
 718                  0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
 719        PHYREGS(0x0884, 0x0880, 0x087C, 0x01E1, 0x01E2, 0x01E3),
 720  },
 721  {     .channel                = 90,
 722        .freq                   = 5450, /* MHz */
 723        .unk2                   = 3633,
 724        RADIOREGS(0x71, 0x21, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
 725                  0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
 726                  0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
 727        PHYREGS(0x0888, 0x0884, 0x0880, 0x01E0, 0x01E1, 0x01E2),
 728  },
 729  {     .channel                = 92,
 730        .freq                   = 5460, /* MHz */
 731        .unk2                   = 3640,
 732        RADIOREGS(0x71, 0x22, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
 733                  0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
 734                  0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
 735        PHYREGS(0x088C, 0x0888, 0x0884, 0x01DF, 0x01E0, 0x01E1),
 736  },
 737  {     .channel                = 94,
 738        .freq                   = 5470, /* MHz */
 739        .unk2                   = 3647,
 740        RADIOREGS(0x71, 0x23, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
 741                  0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
 742                  0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
 743        PHYREGS(0x0890, 0x088C, 0x0888, 0x01DE, 0x01DF, 0x01E0),
 744  },
 745  {     .channel                = 96,
 746        .freq                   = 5480, /* MHz */
 747        .unk2                   = 3653,
 748        RADIOREGS(0x71, 0x24, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
 749                  0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
 750                  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
 751        PHYREGS(0x0894, 0x0890, 0x088C, 0x01DD, 0x01DE, 0x01DF),
 752  },
 753  {     .channel                = 98,
 754        .freq                   = 5490, /* MHz */
 755        .unk2                   = 3660,
 756        RADIOREGS(0x71, 0x25, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
 757                  0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
 758                  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
 759        PHYREGS(0x0898, 0x0894, 0x0890, 0x01DD, 0x01DD, 0x01DE),
 760  },
 761  {     .channel                = 100,
 762        .freq                   = 5500, /* MHz */
 763        .unk2                   = 3667,
 764        RADIOREGS(0x71, 0x26, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
 765                  0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
 766                  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
 767        PHYREGS(0x089C, 0x0898, 0x0894, 0x01DC, 0x01DD, 0x01DD),
 768  },
 769  {     .channel                = 102,
 770        .freq                   = 5510, /* MHz */
 771        .unk2                   = 3673,
 772        RADIOREGS(0x71, 0x27, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
 773                  0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
 774                  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
 775        PHYREGS(0x08A0, 0x089C, 0x0898, 0x01DB, 0x01DC, 0x01DD),
 776  },
 777  {     .channel                = 104,
 778        .freq                   = 5520, /* MHz */
 779        .unk2                   = 3680,
 780        RADIOREGS(0x71, 0x28, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
 781                  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
 782                  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
 783        PHYREGS(0x08A4, 0x08A0, 0x089C, 0x01DA, 0x01DB, 0x01DC),
 784  },
 785  {     .channel                = 106,
 786        .freq                   = 5530, /* MHz */
 787        .unk2                   = 3687,
 788        RADIOREGS(0x71, 0x29, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
 789                  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
 790                  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
 791        PHYREGS(0x08A8, 0x08A4, 0x08A0, 0x01D9, 0x01DA, 0x01DB),
 792  },
 793  {     .channel                = 108,
 794        .freq                   = 5540, /* MHz */
 795        .unk2                   = 3693,
 796        RADIOREGS(0x71, 0x2A, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
 797                  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
 798                  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
 799        PHYREGS(0x08AC, 0x08A8, 0x08A4, 0x01D8, 0x01D9, 0x01DA),
 800  },
 801  {     .channel                = 110,
 802        .freq                   = 5550, /* MHz */
 803        .unk2                   = 3700,
 804        RADIOREGS(0x71, 0x2B, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
 805                  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
 806                  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
 807        PHYREGS(0x08B0, 0x08AC, 0x08A8, 0x01D7, 0x01D8, 0x01D9),
 808  },
 809  {     .channel                = 112,
 810        .freq                   = 5560, /* MHz */
 811        .unk2                   = 3707,
 812        RADIOREGS(0x71, 0x2C, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
 813                  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
 814                  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
 815        PHYREGS(0x08B4, 0x08B0, 0x08AC, 0x01D7, 0x01D7, 0x01D8),
 816  },
 817  {     .channel                = 114,
 818        .freq                   = 5570, /* MHz */
 819        .unk2                   = 3713,
 820        RADIOREGS(0x71, 0x2D, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
 821                  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
 822                  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
 823        PHYREGS(0x08B8, 0x08B4, 0x08B0, 0x01D6, 0x01D7, 0x01D7),
 824  },
 825  {     .channel                = 116,
 826        .freq                   = 5580, /* MHz */
 827        .unk2                   = 3720,
 828        RADIOREGS(0x71, 0x2E, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
 829                  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
 830                  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
 831        PHYREGS(0x08BC, 0x08B8, 0x08B4, 0x01D5, 0x01D6, 0x01D7),
 832  },
 833  {     .channel                = 118,
 834        .freq                   = 5590, /* MHz */
 835        .unk2                   = 3727,
 836        RADIOREGS(0x71, 0x2F, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
 837                  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
 838                  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
 839        PHYREGS(0x08C0, 0x08BC, 0x08B8, 0x01D4, 0x01D5, 0x01D6),
 840  },
 841  {     .channel                = 120,
 842        .freq                   = 5600, /* MHz */
 843        .unk2                   = 3733,
 844        RADIOREGS(0x71, 0x30, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
 845                  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
 846                  0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
 847        PHYREGS(0x08C4, 0x08C0, 0x08BC, 0x01D3, 0x01D4, 0x01D5),
 848  },
 849  {     .channel                = 122,
 850        .freq                   = 5610, /* MHz */
 851        .unk2                   = 3740,
 852        RADIOREGS(0x71, 0x31, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
 853                  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
 854                  0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
 855        PHYREGS(0x08C8, 0x08C4, 0x08C0, 0x01D2, 0x01D3, 0x01D4),
 856  },
 857  {     .channel                = 124,
 858        .freq                   = 5620, /* MHz */
 859        .unk2                   = 3747,
 860        RADIOREGS(0x71, 0x32, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
 861                  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
 862                  0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
 863        PHYREGS(0x08CC, 0x08C8, 0x08C4, 0x01D2, 0x01D2, 0x01D3),
 864  },
 865  {     .channel                = 126,
 866        .freq                   = 5630, /* MHz */
 867        .unk2                   = 3753,
 868        RADIOREGS(0x71, 0x33, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
 869                  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
 870                  0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
 871        PHYREGS(0x08D0, 0x08CC, 0x08C8, 0x01D1, 0x01D2, 0x01D2),
 872  },
 873  {     .channel                = 128,
 874        .freq                   = 5640, /* MHz */
 875        .unk2                   = 3760,
 876        RADIOREGS(0x71, 0x34, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
 877                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 878                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 879        PHYREGS(0x08D4, 0x08D0, 0x08CC, 0x01D0, 0x01D1, 0x01D2),
 880  },
 881  {     .channel                = 130,
 882        .freq                   = 5650, /* MHz */
 883        .unk2                   = 3767,
 884        RADIOREGS(0x71, 0x35, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
 885                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 886                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 887        PHYREGS(0x08D8, 0x08D4, 0x08D0, 0x01CF, 0x01D0, 0x01D1),
 888  },
 889  {     .channel                = 132,
 890        .freq                   = 5660, /* MHz */
 891        .unk2                   = 3773,
 892        RADIOREGS(0x71, 0x36, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
 893                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 894                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 895        PHYREGS(0x08DC, 0x08D8, 0x08D4, 0x01CE, 0x01CF, 0x01D0),
 896  },
 897  {     .channel                = 134,
 898        .freq                   = 5670, /* MHz */
 899        .unk2                   = 3780,
 900        RADIOREGS(0x71, 0x37, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
 901                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 902                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 903        PHYREGS(0x08E0, 0x08DC, 0x08D8, 0x01CE, 0x01CE, 0x01CF),
 904  },
 905  {     .channel                = 136,
 906        .freq                   = 5680, /* MHz */
 907        .unk2                   = 3787,
 908        RADIOREGS(0x71, 0x38, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
 909                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 910                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 911        PHYREGS(0x08E4, 0x08E0, 0x08DC, 0x01CD, 0x01CE, 0x01CE),
 912  },
 913  {     .channel                = 138,
 914        .freq                   = 5690, /* MHz */
 915        .unk2                   = 3793,
 916        RADIOREGS(0x71, 0x39, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
 917                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 918                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 919        PHYREGS(0x08E8, 0x08E4, 0x08E0, 0x01CC, 0x01CD, 0x01CE),
 920  },
 921  {     .channel                = 140,
 922        .freq                   = 5700, /* MHz */
 923        .unk2                   = 3800,
 924        RADIOREGS(0x71, 0x3A, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 925                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 926                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 927        PHYREGS(0x08EC, 0x08E8, 0x08E4, 0x01CB, 0x01CC, 0x01CD),
 928  },
 929  {     .channel                = 142,
 930        .freq                   = 5710, /* MHz */
 931        .unk2                   = 3807,
 932        RADIOREGS(0x71, 0x3B, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 933                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 934                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 935        PHYREGS(0x08F0, 0x08EC, 0x08E8, 0x01CA, 0x01CB, 0x01CC),
 936  },
 937  {     .channel                = 144,
 938        .freq                   = 5720, /* MHz */
 939        .unk2                   = 3813,
 940        RADIOREGS(0x71, 0x3C, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 941                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 942                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 943        PHYREGS(0x08F4, 0x08F0, 0x08EC, 0x01C9, 0x01CA, 0x01CB),
 944  },
 945  {     .channel                = 145,
 946        .freq                   = 5725, /* MHz */
 947        .unk2                   = 3817,
 948        RADIOREGS(0x72, 0x79, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
 949                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 950                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 951        PHYREGS(0x08F6, 0x08F2, 0x08EE, 0x01C9, 0x01CA, 0x01CB),
 952  },
 953  {     .channel                = 146,
 954        .freq                   = 5730, /* MHz */
 955        .unk2                   = 3820,
 956        RADIOREGS(0x71, 0x3D, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 957                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 958                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 959        PHYREGS(0x08F8, 0x08F4, 0x08F0, 0x01C9, 0x01C9, 0x01CA),
 960  },
 961  {     .channel                = 147,
 962        .freq                   = 5735, /* MHz */
 963        .unk2                   = 3823,
 964        RADIOREGS(0x72, 0x7B, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
 965                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 966                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 967        PHYREGS(0x08FA, 0x08F6, 0x08F2, 0x01C8, 0x01C9, 0x01CA),
 968  },
 969  {     .channel                = 148,
 970        .freq                   = 5740, /* MHz */
 971        .unk2                   = 3827,
 972        RADIOREGS(0x71, 0x3E, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 973                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 974                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 975        PHYREGS(0x08FC, 0x08F8, 0x08F4, 0x01C8, 0x01C9, 0x01C9),
 976  },
 977  {     .channel                = 149,
 978        .freq                   = 5745, /* MHz */
 979        .unk2                   = 3830,
 980        RADIOREGS(0x72, 0x7D, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
 981                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 982                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 983        PHYREGS(0x08FE, 0x08FA, 0x08F6, 0x01C8, 0x01C8, 0x01C9),
 984  },
 985  {     .channel                = 150,
 986        .freq                   = 5750, /* MHz */
 987        .unk2                   = 3833,
 988        RADIOREGS(0x71, 0x3F, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
 989                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 990                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 991        PHYREGS(0x0900, 0x08FC, 0x08F8, 0x01C7, 0x01C8, 0x01C9),
 992  },
 993  {     .channel                = 151,
 994        .freq                   = 5755, /* MHz */
 995        .unk2                   = 3837,
 996        RADIOREGS(0x72, 0x7F, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
 997                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 998                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
 999        PHYREGS(0x0902, 0x08FE, 0x08FA, 0x01C7, 0x01C8, 0x01C8),
1000  },
1001  {     .channel                = 152,
1002        .freq                   = 5760, /* MHz */
1003        .unk2                   = 3840,
1004        RADIOREGS(0x71, 0x40, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1005                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1006                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1007        PHYREGS(0x0904, 0x0900, 0x08FC, 0x01C6, 0x01C7, 0x01C8),
1008  },
1009  {     .channel                = 153,
1010        .freq                   = 5765, /* MHz */
1011        .unk2                   = 3843,
1012        RADIOREGS(0x72, 0x81, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
1013                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1014                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1015        PHYREGS(0x0906, 0x0902, 0x08FE, 0x01C6, 0x01C7, 0x01C8),
1016  },
1017  {     .channel                = 154,
1018        .freq                   = 5770, /* MHz */
1019        .unk2                   = 3847,
1020        RADIOREGS(0x71, 0x41, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1021                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1022                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1023        PHYREGS(0x0908, 0x0904, 0x0900, 0x01C6, 0x01C6, 0x01C7),
1024  },
1025  {     .channel                = 155,
1026        .freq                   = 5775, /* MHz */
1027        .unk2                   = 3850,
1028        RADIOREGS(0x72, 0x83, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
1029                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1030                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1031        PHYREGS(0x090A, 0x0906, 0x0902, 0x01C5, 0x01C6, 0x01C7),
1032  },
1033  {     .channel                = 156,
1034        .freq                   = 5780, /* MHz */
1035        .unk2                   = 3853,
1036        RADIOREGS(0x71, 0x42, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1037                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1038                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1039        PHYREGS(0x090C, 0x0908, 0x0904, 0x01C5, 0x01C6, 0x01C6),
1040  },
1041  {     .channel                = 157,
1042        .freq                   = 5785, /* MHz */
1043        .unk2                   = 3857,
1044        RADIOREGS(0x72, 0x85, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
1045                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1046                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1047        PHYREGS(0x090E, 0x090A, 0x0906, 0x01C4, 0x01C5, 0x01C6),
1048  },
1049  {     .channel                = 158,
1050        .freq                   = 5790, /* MHz */
1051        .unk2                   = 3860,
1052        RADIOREGS(0x71, 0x43, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1053                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1054                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1055        PHYREGS(0x0910, 0x090C, 0x0908, 0x01C4, 0x01C5, 0x01C6),
1056  },
1057  {     .channel                = 159,
1058        .freq                   = 5795, /* MHz */
1059        .unk2                   = 3863,
1060        RADIOREGS(0x72, 0x87, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
1061                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1062                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1063        PHYREGS(0x0912, 0x090E, 0x090A, 0x01C4, 0x01C4, 0x01C5),
1064  },
1065  {     .channel                = 160,
1066        .freq                   = 5800, /* MHz */
1067        .unk2                   = 3867,
1068        RADIOREGS(0x71, 0x44, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1069                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1070                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1071        PHYREGS(0x0914, 0x0910, 0x090C, 0x01C3, 0x01C4, 0x01C5),
1072  },
1073  {     .channel                = 161,
1074        .freq                   = 5805, /* MHz */
1075        .unk2                   = 3870,
1076        RADIOREGS(0x72, 0x89, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1077                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1078                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1079        PHYREGS(0x0916, 0x0912, 0x090E, 0x01C3, 0x01C4, 0x01C4),
1080  },
1081  {     .channel                = 162,
1082        .freq                   = 5810, /* MHz */
1083        .unk2                   = 3873,
1084        RADIOREGS(0x71, 0x45, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1085                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1086                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1087        PHYREGS(0x0918, 0x0914, 0x0910, 0x01C2, 0x01C3, 0x01C4),
1088  },
1089  {     .channel                = 163,
1090        .freq                   = 5815, /* MHz */
1091        .unk2                   = 3877,
1092        RADIOREGS(0x72, 0x8B, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1093                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1094                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1095        PHYREGS(0x091A, 0x0916, 0x0912, 0x01C2, 0x01C3, 0x01C4),
1096  },
1097  {     .channel                = 164,
1098        .freq                   = 5820, /* MHz */
1099        .unk2                   = 3880,
1100        RADIOREGS(0x71, 0x46, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1101                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1102                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1103        PHYREGS(0x091C, 0x0918, 0x0914, 0x01C2, 0x01C2, 0x01C3),
1104  },
1105  {     .channel                = 165,
1106        .freq                   = 5825, /* MHz */
1107        .unk2                   = 3883,
1108        RADIOREGS(0x72, 0x8D, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1109                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1110                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1111        PHYREGS(0x091E, 0x091A, 0x0916, 0x01C1, 0x01C2, 0x01C3),
1112  },
1113  {     .channel                = 166,
1114        .freq                   = 5830, /* MHz */
1115        .unk2                   = 3887,
1116        RADIOREGS(0x71, 0x47, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1117                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1118                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1119        PHYREGS(0x0920, 0x091C, 0x0918, 0x01C1, 0x01C2, 0x01C2),
1120  },
1121  {     .channel                = 168,
1122        .freq                   = 5840, /* MHz */
1123        .unk2                   = 3893,
1124        RADIOREGS(0x71, 0x48, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1125                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1126                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1127        PHYREGS(0x0924, 0x0920, 0x091C, 0x01C0, 0x01C1, 0x01C2),
1128  },
1129  {     .channel                = 170,
1130        .freq                   = 5850, /* MHz */
1131        .unk2                   = 3900,
1132        RADIOREGS(0x71, 0x49, 0x02, 0x01, 0xE0, 0x00, 0x04, 0x0A,
1133                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1134                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1135        PHYREGS(0x0928, 0x0924, 0x0920, 0x01BF, 0x01C0, 0x01C1),
1136  },
1137  {     .channel                = 172,
1138        .freq                   = 5860, /* MHz */
1139        .unk2                   = 3907,
1140        RADIOREGS(0x71, 0x4A, 0x02, 0x01, 0xDE, 0x00, 0x04, 0x0A,
1141                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1142                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1143        PHYREGS(0x092C, 0x0928, 0x0924, 0x01BF, 0x01BF, 0x01C0),
1144  },
1145  {     .channel                = 174,
1146        .freq                   = 5870, /* MHz */
1147        .unk2                   = 3913,
1148        RADIOREGS(0x71, 0x4B, 0x02, 0x00, 0xDB, 0x00, 0x04, 0x0A,
1149                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1151        PHYREGS(0x0930, 0x092C, 0x0928, 0x01BE, 0x01BF, 0x01BF),
1152  },
1153  {     .channel                = 176,
1154        .freq                   = 5880, /* MHz */
1155        .unk2                   = 3920,
1156        RADIOREGS(0x71, 0x4C, 0x02, 0x00, 0xD8, 0x00, 0x04, 0x0A,
1157                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1158                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1159        PHYREGS(0x0934, 0x0930, 0x092C, 0x01BD, 0x01BE, 0x01BF),
1160  },
1161  {     .channel                = 178,
1162        .freq                   = 5890, /* MHz */
1163        .unk2                   = 3927,
1164        RADIOREGS(0x71, 0x4D, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1165                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1166                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1167        PHYREGS(0x0938, 0x0934, 0x0930, 0x01BC, 0x01BD, 0x01BE),
1168  },
1169  {     .channel                = 180,
1170        .freq                   = 5900, /* MHz */
1171        .unk2                   = 3933,
1172        RADIOREGS(0x71, 0x4E, 0x02, 0x00, 0xD3, 0x00, 0x04, 0x0A,
1173                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1174                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1175        PHYREGS(0x093C, 0x0938, 0x0934, 0x01BC, 0x01BC, 0x01BD),
1176  },
1177  {     .channel                = 182,
1178        .freq                   = 5910, /* MHz */
1179        .unk2                   = 3940,
1180        RADIOREGS(0x71, 0x4F, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1181                  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1182                  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1183        PHYREGS(0x0940, 0x093C, 0x0938, 0x01BB, 0x01BC, 0x01BC),
1184  },
1185  {     .channel                = 1,
1186        .freq                   = 2412, /* MHz */
1187        .unk2                   = 3216,
1188        RADIOREGS(0x73, 0x6C, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1189                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C,
1190                  0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80),
1191        PHYREGS(0x03C9, 0x03C5, 0x03C1, 0x043A, 0x043F, 0x0443),
1192  },
1193  {     .channel                = 2,
1194        .freq                   = 2417, /* MHz */
1195        .unk2                   = 3223,
1196        RADIOREGS(0x73, 0x71, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1197                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B,
1198                  0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80),
1199        PHYREGS(0x03CB, 0x03C7, 0x03C3, 0x0438, 0x043D, 0x0441),
1200  },
1201  {     .channel                = 3,
1202        .freq                   = 2422, /* MHz */
1203        .unk2                   = 3229,
1204        RADIOREGS(0x73, 0x76, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1205                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1206                  0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1207        PHYREGS(0x03CD, 0x03C9, 0x03C5, 0x0436, 0x043A, 0x043F),
1208  },
1209  {     .channel                = 4,
1210        .freq                   = 2427, /* MHz */
1211        .unk2                   = 3236,
1212        RADIOREGS(0x73, 0x7B, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1213                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1214                  0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1215        PHYREGS(0x03CF, 0x03CB, 0x03C7, 0x0434, 0x0438, 0x043D),
1216  },
1217  {     .channel                = 5,
1218        .freq                   = 2432, /* MHz */
1219        .unk2                   = 3243,
1220        RADIOREGS(0x73, 0x80, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1221                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09,
1222                  0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80),
1223        PHYREGS(0x03D1, 0x03CD, 0x03C9, 0x0431, 0x0436, 0x043A),
1224  },
1225  {     .channel                = 6,
1226        .freq                   = 2437, /* MHz */
1227        .unk2                   = 3249,
1228        RADIOREGS(0x73, 0x85, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1229                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08,
1230                  0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80),
1231        PHYREGS(0x03D3, 0x03CF, 0x03CB, 0x042F, 0x0434, 0x0438),
1232  },
1233  {     .channel                = 7,
1234        .freq                   = 2442, /* MHz */
1235        .unk2                   = 3256,
1236        RADIOREGS(0x73, 0x8A, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1237                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07,
1238                  0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80),
1239        PHYREGS(0x03D5, 0x03D1, 0x03CD, 0x042D, 0x0431, 0x0436),
1240  },
1241  {     .channel                = 8,
1242        .freq                   = 2447, /* MHz */
1243        .unk2                   = 3263,
1244        RADIOREGS(0x73, 0x8F, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1245                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06,
1246                  0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80),
1247        PHYREGS(0x03D7, 0x03D3, 0x03CF, 0x042B, 0x042F, 0x0434),
1248  },
1249  {     .channel                = 9,
1250        .freq                   = 2452, /* MHz */
1251        .unk2                   = 3269,
1252        RADIOREGS(0x73, 0x94, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1253                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06,
1254                  0x80, 0xFF, 0x88, 0x09, 0x06, 0x80),
1255        PHYREGS(0x03D9, 0x03D5, 0x03D1, 0x0429, 0x042D, 0x0431),
1256  },
1257  {     .channel                = 10,
1258        .freq                   = 2457, /* MHz */
1259        .unk2                   = 3276,
1260        RADIOREGS(0x73, 0x99, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1261                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05,
1262                  0x80, 0xFF, 0x88, 0x08, 0x05, 0x80),
1263        PHYREGS(0x03DB, 0x03D7, 0x03D3, 0x0427, 0x042B, 0x042F),
1264  },
1265  {     .channel                = 11,
1266        .freq                   = 2462, /* MHz */
1267        .unk2                   = 3283,
1268        RADIOREGS(0x73, 0x9E, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1269                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04,
1270                  0x80, 0xFF, 0x88, 0x08, 0x04, 0x80),
1271        PHYREGS(0x03DD, 0x03D9, 0x03D5, 0x0424, 0x0429, 0x042D),
1272  },
1273  {     .channel                = 12,
1274        .freq                   = 2467, /* MHz */
1275        .unk2                   = 3289,
1276        RADIOREGS(0x73, 0xA3, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1277                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03,
1278                  0x80, 0xFF, 0x88, 0x08, 0x03, 0x80),
1279        PHYREGS(0x03DF, 0x03DB, 0x03D7, 0x0422, 0x0427, 0x042B),
1280  },
1281  {     .channel                = 13,
1282        .freq                   = 2472, /* MHz */
1283        .unk2                   = 3296,
1284        RADIOREGS(0x73, 0xA8, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1285                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03,
1286                  0x80, 0xFF, 0x88, 0x07, 0x03, 0x80),
1287        PHYREGS(0x03E1, 0x03DD, 0x03D9, 0x0420, 0x0424, 0x0429),
1288  },
1289  {     .channel                = 14,
1290        .freq                   = 2484, /* MHz */
1291        .unk2                   = 3312,
1292        RADIOREGS(0x73, 0xB4, 0x09, 0x0F, 0xFF, 0x01, 0x07, 0x15,
1293                  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01,
1294                  0x80, 0xFF, 0x88, 0x07, 0x01, 0x80),
1295        PHYREGS(0x03E6, 0x03E2, 0x03DE, 0x041B, 0x041F, 0x0424),
1296  },
1297};
1298
1299void b2055_upload_inittab(struct b43_wldev *dev,
1300                          bool ghz5, bool ignore_uploadflag)
1301{
1302        const struct b2055_inittab_entry *e;
1303        unsigned int i, writes = 0;
1304        u16 value;
1305
1306        for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) {
1307                e = &(b2055_inittab[i]);
1308                if (!(e->flags & B2055_INITTAB_ENTRY_OK))
1309                        continue;
1310                if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) {
1311                        if (ghz5)
1312                                value = e->ghz5;
1313                        else
1314                                value = e->ghz2;
1315                        b43_radio_write16(dev, i, value);
1316                        if (++writes % 4 == 0)
1317                                b43_read32(dev, B43_MMIO_MACCTL); /* flush */
1318                }
1319        }
1320}
1321
1322const struct b43_nphy_channeltab_entry_rev2 *
1323b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel)
1324{
1325        const struct b43_nphy_channeltab_entry_rev2 *e;
1326        unsigned int i;
1327
1328        for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab_rev2); i++) {
1329                e = &(b43_nphy_channeltab_rev2[i]);
1330                if (e->channel == channel)
1331                        return e;
1332        }
1333
1334        return NULL;
1335}
1336