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