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 17 struct 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 30 static 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 291 static 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 1286 void 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 1309 const struct b43_nphy_channeltab_entry_rev2 * 1310 b43_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