if_bwn_radio_2055.c revision 300190
1300016Sadrian/* 2300016Sadrian 3300016Sadrian Broadcom B43 wireless driver 4300016Sadrian IEEE 802.11n PHY data tables 5300016Sadrian 6300016Sadrian Copyright (c) 2008 Michael Buesch <m@bues.ch> 7300016Sadrian Copyright (c) 2010 Rafa�� Mi��ecki <zajec5@gmail.com> 8300016Sadrian 9300016Sadrian This program is free software; you can redistribute it and/or modify 10300016Sadrian it under the terms of the GNU General Public License as published by 11300016Sadrian the Free Software Foundation; either version 2 of the License, or 12300016Sadrian (at your option) any later version. 13300016Sadrian 14300016Sadrian This program is distributed in the hope that it will be useful, 15300016Sadrian but WITHOUT ANY WARRANTY; without even the implied warranty of 16300016Sadrian MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17300016Sadrian GNU General Public License for more details. 18300016Sadrian 19300016Sadrian You should have received a copy of the GNU General Public License 20300016Sadrian along with this program; see the file COPYING. If not, write to 21300016Sadrian the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, 22300016Sadrian Boston, MA 02110-1301, USA. 23300016Sadrian 24300016Sadrian*/ 25300016Sadrian 26300016Sadrian#include <sys/cdefs.h> 27300016Sadrian__FBSDID("$FreeBSD: head/sys/gnu/dev/bwn/phy_n/if_bwn_radio_2055.c 300190 2016-05-19 04:45:50Z adrian $"); 28300016Sadrian 29300016Sadrian/* 30300016Sadrian * The Broadcom Wireless LAN controller driver. 31300016Sadrian */ 32300016Sadrian 33300190Sadrian#include "opt_wlan.h" 34300190Sadrian#include "opt_bwn.h" 35300190Sadrian 36300016Sadrian#include <sys/param.h> 37300016Sadrian#include <sys/systm.h> 38300016Sadrian#include <sys/kernel.h> 39300016Sadrian#include <sys/malloc.h> 40300016Sadrian#include <sys/module.h> 41300016Sadrian#include <sys/endian.h> 42300016Sadrian#include <sys/errno.h> 43300016Sadrian#include <sys/firmware.h> 44300016Sadrian#include <sys/lock.h> 45300016Sadrian#include <sys/mutex.h> 46300016Sadrian#include <machine/bus.h> 47300016Sadrian#include <machine/resource.h> 48300016Sadrian#include <sys/bus.h> 49300016Sadrian#include <sys/rman.h> 50300016Sadrian#include <sys/socket.h> 51300016Sadrian#include <sys/sockio.h> 52300016Sadrian 53300016Sadrian#include <net/ethernet.h> 54300016Sadrian#include <net/if.h> 55300016Sadrian#include <net/if_var.h> 56300016Sadrian#include <net/if_arp.h> 57300016Sadrian#include <net/if_dl.h> 58300016Sadrian#include <net/if_llc.h> 59300016Sadrian#include <net/if_media.h> 60300016Sadrian#include <net/if_types.h> 61300016Sadrian 62300016Sadrian#include <dev/pci/pcivar.h> 63300016Sadrian#include <dev/pci/pcireg.h> 64300016Sadrian#include <dev/siba/siba_ids.h> 65300016Sadrian#include <dev/siba/sibareg.h> 66300016Sadrian#include <dev/siba/sibavar.h> 67300016Sadrian 68300016Sadrian#include <net80211/ieee80211_var.h> 69300016Sadrian#include <net80211/ieee80211_radiotap.h> 70300016Sadrian#include <net80211/ieee80211_regdomain.h> 71300016Sadrian#include <net80211/ieee80211_phy.h> 72300016Sadrian#include <net80211/ieee80211_ratectl.h> 73300016Sadrian 74300016Sadrian#include <dev/bwn/if_bwnreg.h> 75300016Sadrian#include <dev/bwn/if_bwnvar.h> 76300016Sadrian#include <dev/bwn/if_bwn_debug.h> 77300016Sadrian 78300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_regs.h> 79300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_phy_n_tables.h> 80300016Sadrian#include <gnu/dev/bwn/phy_n/if_bwn_radio_2055.h> 81300016Sadrian 82300016Sadrianstruct b2055_inittab_entry { 83300016Sadrian /* Value to write if we use the 5GHz band. */ 84300016Sadrian uint16_t ghz5; 85300016Sadrian /* Value to write if we use the 2.4GHz band. */ 86300016Sadrian uint16_t ghz2; 87300016Sadrian /* Flags */ 88300016Sadrian uint8_t flags; 89300016Sadrian#define B2055_INITTAB_ENTRY_OK 0x01 90300016Sadrian#define B2055_INITTAB_UPLOAD 0x02 91300016Sadrian}; 92300016Sadrian#define UPLOAD .flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD 93300016Sadrian#define NOUPLOAD .flags = B2055_INITTAB_ENTRY_OK 94300016Sadrian 95300016Sadrianstatic const struct b2055_inittab_entry b2055_inittab [] = { 96300016Sadrian [B2055_SP_PINPD] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, 97300016Sadrian [B2055_C1_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 98300016Sadrian [B2055_C1_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, 99300016Sadrian [B2055_C2_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 100300016Sadrian [B2055_C2_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, 101300016Sadrian [B2055_C1_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, 102300016Sadrian [B2055_C1_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, 103300016Sadrian [B2055_C2_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, 104300016Sadrian [B2055_C2_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, 105300016Sadrian [B2055_C1_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, 106300016Sadrian [B2055_C2_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, 107300016Sadrian [B2055_C1_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, 108300016Sadrian [B2055_C1_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, 109300016Sadrian [B2055_C2_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, 110300016Sadrian [B2055_C2_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, 111300016Sadrian [B2055_MASTER1] = { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, }, 112300016Sadrian [B2055_MASTER2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, 113300016Sadrian [B2055_PD_LGEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 114300016Sadrian [B2055_PD_PLLTS] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, 115300016Sadrian [B2055_C1_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 116300016Sadrian [B2055_C1_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 117300016Sadrian [B2055_C1_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 118300016Sadrian [B2055_C1_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 119300016Sadrian [B2055_C2_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 120300016Sadrian [B2055_C2_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 121300016Sadrian [B2055_C2_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 122300016Sadrian [B2055_C2_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 123300016Sadrian [B2055_PWRDET_LGEN] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, 124300016Sadrian [B2055_C1_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, 125300016Sadrian [B2055_C1_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, 126300016Sadrian [B2055_C2_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, 127300016Sadrian [B2055_C2_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, 128300016Sadrian [B2055_RRCCAL_CS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 129300016Sadrian [B2055_RRCCAL_NOPTSEL] = { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, }, 130300016Sadrian [B2055_CAL_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 131300016Sadrian [B2055_CAL_COUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 132300016Sadrian [B2055_CAL_COUT2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 133300016Sadrian [B2055_CAL_CVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 134300016Sadrian [B2055_CAL_RVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 135300016Sadrian [B2055_CAL_LPOCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 136300016Sadrian [B2055_CAL_TS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 137300016Sadrian [B2055_CAL_RCCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 138300016Sadrian [B2055_CAL_RCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 139300016Sadrian [B2055_PADDRV] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, 140300016Sadrian [B2055_XOCTL1] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, 141300016Sadrian [B2055_XOCTL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 142300016Sadrian [B2055_XOREGUL] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, 143300016Sadrian [B2055_XOMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 144300016Sadrian [B2055_PLL_LFC1] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, 145300016Sadrian [B2055_PLL_CALVTH] = { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, }, 146300016Sadrian [B2055_PLL_LFC2] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, 147300016Sadrian [B2055_PLL_REF] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, 148300016Sadrian [B2055_PLL_LFR1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, 149300016Sadrian [B2055_PLL_PFDCP] = { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, }, 150300016Sadrian [B2055_PLL_IDAC_CPOPAMP] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 151300016Sadrian [B2055_PLL_CPREG] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, 152300016Sadrian [B2055_PLL_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 153300016Sadrian [B2055_RF_PLLMOD0] = { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, }, 154300016Sadrian [B2055_RF_PLLMOD1] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, 155300016Sadrian [B2055_RF_MMDIDAC1] = { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, }, 156300016Sadrian [B2055_RF_MMDIDAC0] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 157300016Sadrian [B2055_RF_MMDSP] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 158300016Sadrian [B2055_VCO_CAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 159300016Sadrian [B2055_VCO_CAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 160300016Sadrian [B2055_VCO_CAL3] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, 161300016Sadrian [B2055_VCO_CAL4] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, 162300016Sadrian [B2055_VCO_CAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, 163300016Sadrian [B2055_VCO_CAL6] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, 164300016Sadrian [B2055_VCO_CAL7] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, 165300016Sadrian [B2055_VCO_CAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, 166300016Sadrian [B2055_VCO_CAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, 167300016Sadrian [B2055_VCO_CAL10] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, 168300016Sadrian [B2055_VCO_CAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, 169300016Sadrian [B2055_VCO_CAL12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 170300016Sadrian [B2055_VCO_CAL13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 171300016Sadrian [B2055_VCO_CAL14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 172300016Sadrian [B2055_VCO_CAL15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 173300016Sadrian [B2055_VCO_CAL16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 174300016Sadrian [B2055_VCO_KVCO] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 175300016Sadrian [B2055_VCO_CAPTAIL] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 176300016Sadrian [B2055_VCO_IDACVCO] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 177300016Sadrian [B2055_VCO_REG] = { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, }, 178300016Sadrian [B2055_PLL_RFVTH] = { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, }, 179300016Sadrian [B2055_LGBUF_CENBUF] = { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, }, 180300016Sadrian [B2055_LGEN_TUNE1] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, 181300016Sadrian [B2055_LGEN_TUNE2] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, 182300016Sadrian [B2055_LGEN_IDAC1] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 183300016Sadrian [B2055_LGEN_IDAC2] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 184300016Sadrian [B2055_LGEN_BIASC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 185300016Sadrian [B2055_LGEN_BIASIDAC] = { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, }, 186300016Sadrian [B2055_LGEN_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 187300016Sadrian [B2055_LGEN_DIV] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, 188300016Sadrian [B2055_LGEN_SPARE2] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, 189300016Sadrian [B2055_C1_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, 190300016Sadrian [B2055_C1_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 191300016Sadrian [B2055_C1_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 192300016Sadrian [B2055_C1_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, 193300016Sadrian [B2055_C1_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 194300016Sadrian [B2055_C1_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 195300016Sadrian [B2055_C1_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, 196300016Sadrian [B2055_C1_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, 197300016Sadrian [B2055_C1_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 198300016Sadrian [B2055_C1_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, 199300016Sadrian [B2055_C1_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 200300016Sadrian [B2055_C1_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, 201300016Sadrian [B2055_C1_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, 202300016Sadrian [B2055_C1_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, 203300016Sadrian [B2055_C1_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 204300016Sadrian [B2055_C1_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 205300016Sadrian [B2055_C1_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 206300016Sadrian [B2055_C1_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 207300016Sadrian [B2055_C1_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 208300016Sadrian [B2055_C1_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, 209300016Sadrian [B2055_C1_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, 210300016Sadrian [B2055_C1_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, 211300016Sadrian [B2055_C1_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, 212300016Sadrian [B2055_C1_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, 213300016Sadrian [B2055_C1_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, 214300016Sadrian [B2055_C1_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 215300016Sadrian [B2055_C1_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 216300016Sadrian [B2055_C1_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, 217300016Sadrian [B2055_C1_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, 218300016Sadrian [B2055_C1_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, 219300016Sadrian [B2055_C1_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, 220300016Sadrian [B2055_C1_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, 221300016Sadrian [B2055_C1_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 222300016Sadrian [B2055_C1_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, 223300016Sadrian [B2055_C1_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, 224300016Sadrian [B2055_C1_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 225300016Sadrian [B2055_C1_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 226300016Sadrian [B2055_C1_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, 227300016Sadrian [B2055_C1_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, 228300016Sadrian [B2055_C1_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, 229300016Sadrian [B2055_C1_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 230300016Sadrian [B2055_C1_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, 231300016Sadrian [B2055_C1_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 232300016Sadrian [B2055_C1_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, 233300016Sadrian [B2055_C1_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 234300016Sadrian [B2055_C1_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, 235300016Sadrian [B2055_C1_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 236300016Sadrian [B2055_C2_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, 237300016Sadrian [B2055_C2_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 238300016Sadrian [B2055_C2_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 239300016Sadrian [B2055_C2_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, 240300016Sadrian [B2055_C2_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 241300016Sadrian [B2055_C2_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 242300016Sadrian [B2055_C2_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, 243300016Sadrian [B2055_C2_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, 244300016Sadrian [B2055_C2_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 245300016Sadrian [B2055_C2_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, 246300016Sadrian [B2055_C2_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 247300016Sadrian [B2055_C2_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, 248300016Sadrian [B2055_C2_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, 249300016Sadrian [B2055_C2_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, 250300016Sadrian [B2055_C2_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 251300016Sadrian [B2055_C2_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 252300016Sadrian [B2055_C2_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 253300016Sadrian [B2055_C2_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 254300016Sadrian [B2055_C2_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 255300016Sadrian [B2055_C2_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, 256300016Sadrian [B2055_C2_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, 257300016Sadrian [B2055_C2_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, 258300016Sadrian [B2055_C2_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, 259300016Sadrian [B2055_C2_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, 260300016Sadrian [B2055_C2_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, 261300016Sadrian [B2055_C2_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 262300016Sadrian [B2055_C2_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 263300016Sadrian [B2055_C2_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, 264300016Sadrian [B2055_C2_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, 265300016Sadrian [B2055_C2_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, 266300016Sadrian [B2055_C2_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, 267300016Sadrian [B2055_C2_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, 268300016Sadrian [B2055_C2_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, 269300016Sadrian [B2055_C2_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, 270300016Sadrian [B2055_C2_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, 271300016Sadrian [B2055_C2_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 272300016Sadrian [B2055_C2_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 273300016Sadrian [B2055_C2_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, 274300016Sadrian [B2055_C2_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, 275300016Sadrian [B2055_C2_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, 276300016Sadrian [B2055_C2_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, 277300016Sadrian [B2055_C2_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, 278300016Sadrian [B2055_C2_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 279300016Sadrian [B2055_C2_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, 280300016Sadrian [B2055_C2_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 281300016Sadrian [B2055_C2_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, 282300016Sadrian [B2055_C2_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 283300016Sadrian [B2055_PRG_GCHP21] = { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, }, 284300016Sadrian [B2055_PRG_GCHP22] = { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, }, 285300016Sadrian [B2055_PRG_GCHP23] = { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, }, 286300016Sadrian [B2055_PRG_GCHP24] = { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, }, 287300016Sadrian [B2055_PRG_GCHP25] = { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, }, 288300016Sadrian [B2055_PRG_GCHP26] = { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, }, 289300016Sadrian [B2055_PRG_GCHP27] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, 290300016Sadrian [B2055_PRG_GCHP28] = { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, }, 291300016Sadrian [B2055_PRG_GCHP29] = { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, }, 292300016Sadrian [B2055_PRG_GCHP30] = { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, }, 293300016Sadrian [0xC7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 294300016Sadrian [0xC8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 295300016Sadrian [0xC9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 296300016Sadrian [0xCA] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 297300016Sadrian [0xCB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 298300016Sadrian [0xCC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 299300016Sadrian [B2055_C1_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 300300016Sadrian [0xCE] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 301300016Sadrian [0xCF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 302300016Sadrian [0xD0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 303300016Sadrian [0xD1] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 304300016Sadrian [B2055_C1_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 305300016Sadrian [0xD3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 306300016Sadrian [0xD4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 307300016Sadrian [0xD5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 308300016Sadrian [B2055_C1_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 309300016Sadrian [0xD7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 310300016Sadrian [0xD8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 311300016Sadrian [B2055_C2_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 312300016Sadrian [0xDA] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, 313300016Sadrian [0xDB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 314300016Sadrian [0xDC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 315300016Sadrian [0xDD] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, 316300016Sadrian [B2055_C2_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, 317300016Sadrian [0xDF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 318300016Sadrian [0xE0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 319300016Sadrian [0xE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 320300016Sadrian [B2055_C2_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, 321300016Sadrian}; 322300016Sadrian 323300016Sadrian#define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \ 324300016Sadrian r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \ 325300016Sadrian .radio_pll_ref = r0, \ 326300016Sadrian .radio_rf_pllmod0 = r1, \ 327300016Sadrian .radio_rf_pllmod1 = r2, \ 328300016Sadrian .radio_vco_captail = r3, \ 329300016Sadrian .radio_vco_cal1 = r4, \ 330300016Sadrian .radio_vco_cal2 = r5, \ 331300016Sadrian .radio_pll_lfc1 = r6, \ 332300016Sadrian .radio_pll_lfr1 = r7, \ 333300016Sadrian .radio_pll_lfc2 = r8, \ 334300016Sadrian .radio_lgbuf_cenbuf = r9, \ 335300016Sadrian .radio_lgen_tune1 = r10, \ 336300016Sadrian .radio_lgen_tune2 = r11, \ 337300016Sadrian .radio_c1_lgbuf_atune = r12, \ 338300016Sadrian .radio_c1_lgbuf_gtune = r13, \ 339300016Sadrian .radio_c1_rx_rfr1 = r14, \ 340300016Sadrian .radio_c1_tx_pgapadtn = r15, \ 341300016Sadrian .radio_c1_tx_mxbgtrim = r16, \ 342300016Sadrian .radio_c2_lgbuf_atune = r17, \ 343300016Sadrian .radio_c2_lgbuf_gtune = r18, \ 344300016Sadrian .radio_c2_rx_rfr1 = r19, \ 345300016Sadrian .radio_c2_tx_pgapadtn = r20, \ 346300016Sadrian .radio_c2_tx_mxbgtrim = r21 347300016Sadrian 348300016Sadrian#define PHYREGS(r0, r1, r2, r3, r4, r5) \ 349300016Sadrian .phy_regs.phy_bw1a = r0, \ 350300016Sadrian .phy_regs.phy_bw2 = r1, \ 351300016Sadrian .phy_regs.phy_bw3 = r2, \ 352300016Sadrian .phy_regs.phy_bw4 = r3, \ 353300016Sadrian .phy_regs.phy_bw5 = r4, \ 354300016Sadrian .phy_regs.phy_bw6 = r5 355300016Sadrian 356300016Sadrianstatic const struct bwn_nphy_channeltab_entry_rev2 bwn_nphy_channeltab_rev2[] = { 357300016Sadrian { .channel = 184, 358300016Sadrian .freq = 4920, /* MHz */ 359300016Sadrian .unk2 = 3280, 360300016Sadrian RADIOREGS(0x71, 0xEC, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 361300016Sadrian 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 362300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 363300016Sadrian PHYREGS(0x07B4, 0x07B0, 0x07AC, 0x0214, 0x0215, 0x0216), 364300016Sadrian }, 365300016Sadrian { .channel = 186, 366300016Sadrian .freq = 4930, /* MHz */ 367300016Sadrian .unk2 = 3287, 368300016Sadrian RADIOREGS(0x71, 0xED, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 369300016Sadrian 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 370300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 371300016Sadrian PHYREGS(0x07B8, 0x07B4, 0x07B0, 0x0213, 0x0214, 0x0215), 372300016Sadrian }, 373300016Sadrian { .channel = 188, 374300016Sadrian .freq = 4940, /* MHz */ 375300016Sadrian .unk2 = 3293, 376300016Sadrian RADIOREGS(0x71, 0xEE, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 377300016Sadrian 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 378300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 379300016Sadrian PHYREGS(0x07BC, 0x07B8, 0x07B4, 0x0212, 0x0213, 0x0214), 380300016Sadrian }, 381300016Sadrian { .channel = 190, 382300016Sadrian .freq = 4950, /* MHz */ 383300016Sadrian .unk2 = 3300, 384300016Sadrian RADIOREGS(0x71, 0xEF, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 385300016Sadrian 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 386300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 387300016Sadrian PHYREGS(0x07C0, 0x07BC, 0x07B8, 0x0211, 0x0212, 0x0213), 388300016Sadrian }, 389300016Sadrian { .channel = 192, 390300016Sadrian .freq = 4960, /* MHz */ 391300016Sadrian .unk2 = 3307, 392300016Sadrian RADIOREGS(0x71, 0xF0, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 393300016Sadrian 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 394300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 395300016Sadrian PHYREGS(0x07C4, 0x07C0, 0x07BC, 0x020F, 0x0211, 0x0212), 396300016Sadrian }, 397300016Sadrian { .channel = 194, 398300016Sadrian .freq = 4970, /* MHz */ 399300016Sadrian .unk2 = 3313, 400300016Sadrian RADIOREGS(0x71, 0xF1, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, 401300016Sadrian 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 402300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 403300016Sadrian PHYREGS(0x07C8, 0x07C4, 0x07C0, 0x020E, 0x020F, 0x0211), 404300016Sadrian }, 405300016Sadrian { .channel = 196, 406300016Sadrian .freq = 4980, /* MHz */ 407300016Sadrian .unk2 = 3320, 408300016Sadrian RADIOREGS(0x71, 0xF2, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, 409300016Sadrian 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 410300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 411300016Sadrian PHYREGS(0x07CC, 0x07C8, 0x07C4, 0x020D, 0x020E, 0x020F), 412300016Sadrian }, 413300016Sadrian { .channel = 198, 414300016Sadrian .freq = 4990, /* MHz */ 415300016Sadrian .unk2 = 3327, 416300016Sadrian RADIOREGS(0x71, 0xF3, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, 417300016Sadrian 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 418300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 419300016Sadrian PHYREGS(0x07D0, 0x07CC, 0x07C8, 0x020C, 0x020D, 0x020E), 420300016Sadrian }, 421300016Sadrian { .channel = 200, 422300016Sadrian .freq = 5000, /* MHz */ 423300016Sadrian .unk2 = 3333, 424300016Sadrian RADIOREGS(0x71, 0xF4, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, 425300016Sadrian 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 426300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 427300016Sadrian PHYREGS(0x07D4, 0x07D0, 0x07CC, 0x020B, 0x020C, 0x020D), 428300016Sadrian }, 429300016Sadrian { .channel = 202, 430300016Sadrian .freq = 5010, /* MHz */ 431300016Sadrian .unk2 = 3340, 432300016Sadrian RADIOREGS(0x71, 0xF5, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, 433300016Sadrian 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 434300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 435300016Sadrian PHYREGS(0x07D8, 0x07D4, 0x07D0, 0x020A, 0x020B, 0x020C), 436300016Sadrian }, 437300016Sadrian { .channel = 204, 438300016Sadrian .freq = 5020, /* MHz */ 439300016Sadrian .unk2 = 3347, 440300016Sadrian RADIOREGS(0x71, 0xF6, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A, 441300016Sadrian 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 442300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 443300016Sadrian PHYREGS(0x07DC, 0x07D8, 0x07D4, 0x0209, 0x020A, 0x020B), 444300016Sadrian }, 445300016Sadrian { .channel = 206, 446300016Sadrian .freq = 5030, /* MHz */ 447300016Sadrian .unk2 = 3353, 448300016Sadrian RADIOREGS(0x71, 0xF7, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A, 449300016Sadrian 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 450300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 451300016Sadrian PHYREGS(0x07E0, 0x07DC, 0x07D8, 0x0208, 0x0209, 0x020A), 452300016Sadrian }, 453300016Sadrian { .channel = 208, 454300016Sadrian .freq = 5040, /* MHz */ 455300016Sadrian .unk2 = 3360, 456300016Sadrian RADIOREGS(0x71, 0xF8, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A, 457300016Sadrian 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 458300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 459300016Sadrian PHYREGS(0x07E4, 0x07E0, 0x07DC, 0x0207, 0x0208, 0x0209), 460300016Sadrian }, 461300016Sadrian { .channel = 210, 462300016Sadrian .freq = 5050, /* MHz */ 463300016Sadrian .unk2 = 3367, 464300016Sadrian RADIOREGS(0x71, 0xF9, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A, 465300016Sadrian 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 466300016Sadrian 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), 467300016Sadrian PHYREGS(0x07E8, 0x07E4, 0x07E0, 0x0206, 0x0207, 0x0208), 468300016Sadrian }, 469300016Sadrian { .channel = 212, 470300016Sadrian .freq = 5060, /* MHz */ 471300016Sadrian .unk2 = 3373, 472300016Sadrian RADIOREGS(0x71, 0xFA, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A, 473300016Sadrian 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 474300016Sadrian 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), 475300016Sadrian PHYREGS(0x07EC, 0x07E8, 0x07E4, 0x0205, 0x0206, 0x0207), 476300016Sadrian }, 477300016Sadrian { .channel = 214, 478300016Sadrian .freq = 5070, /* MHz */ 479300016Sadrian .unk2 = 3380, 480300016Sadrian RADIOREGS(0x71, 0xFB, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A, 481300016Sadrian 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 482300016Sadrian 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), 483300016Sadrian PHYREGS(0x07F0, 0x07EC, 0x07E8, 0x0204, 0x0205, 0x0206), 484300016Sadrian }, 485300016Sadrian { .channel = 216, 486300016Sadrian .freq = 5080, /* MHz */ 487300016Sadrian .unk2 = 3387, 488300016Sadrian RADIOREGS(0x71, 0xFC, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A, 489300016Sadrian 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 490300016Sadrian 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), 491300016Sadrian PHYREGS(0x07F4, 0x07F0, 0x07EC, 0x0203, 0x0204, 0x0205), 492300016Sadrian }, 493300016Sadrian { .channel = 218, 494300016Sadrian .freq = 5090, /* MHz */ 495300016Sadrian .unk2 = 3393, 496300016Sadrian RADIOREGS(0x71, 0xFD, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A, 497300016Sadrian 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 498300016Sadrian 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), 499300016Sadrian PHYREGS(0x07F8, 0x07F4, 0x07F0, 0x0202, 0x0203, 0x0204), 500300016Sadrian }, 501300016Sadrian { .channel = 220, 502300016Sadrian .freq = 5100, /* MHz */ 503300016Sadrian .unk2 = 3400, 504300016Sadrian RADIOREGS(0x71, 0xFE, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A, 505300016Sadrian 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 506300016Sadrian 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), 507300016Sadrian PHYREGS(0x07FC, 0x07F8, 0x07F4, 0x0201, 0x0202, 0x0203), 508300016Sadrian }, 509300016Sadrian { .channel = 222, 510300016Sadrian .freq = 5110, /* MHz */ 511300016Sadrian .unk2 = 3407, 512300016Sadrian RADIOREGS(0x71, 0xFF, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A, 513300016Sadrian 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 514300016Sadrian 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), 515300016Sadrian PHYREGS(0x0800, 0x07FC, 0x07F8, 0x0200, 0x0201, 0x0202), 516300016Sadrian }, 517300016Sadrian { .channel = 224, 518300016Sadrian .freq = 5120, /* MHz */ 519300016Sadrian .unk2 = 3413, 520300016Sadrian RADIOREGS(0x71, 0x00, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A, 521300016Sadrian 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 522300016Sadrian 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), 523300016Sadrian PHYREGS(0x0804, 0x0800, 0x07FC, 0x01FF, 0x0200, 0x0201), 524300016Sadrian }, 525300016Sadrian { .channel = 226, 526300016Sadrian .freq = 5130, /* MHz */ 527300016Sadrian .unk2 = 3420, 528300016Sadrian RADIOREGS(0x71, 0x01, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A, 529300016Sadrian 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 530300016Sadrian 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), 531300016Sadrian PHYREGS(0x0808, 0x0804, 0x0800, 0x01FE, 0x01FF, 0x0200), 532300016Sadrian }, 533300016Sadrian { .channel = 228, 534300016Sadrian .freq = 5140, /* MHz */ 535300016Sadrian .unk2 = 3427, 536300016Sadrian RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A, 537300016Sadrian 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 538300016Sadrian 0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B), 539300016Sadrian PHYREGS(0x080C, 0x0808, 0x0804, 0x01FD, 0x01FE, 0x01FF), 540300016Sadrian }, 541300016Sadrian { .channel = 32, 542300016Sadrian .freq = 5160, /* MHz */ 543300016Sadrian .unk2 = 3440, 544300016Sadrian RADIOREGS(0x71, 0x04, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A, 545300016Sadrian 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 546300016Sadrian 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), 547300016Sadrian PHYREGS(0x0814, 0x0810, 0x080C, 0x01FB, 0x01FC, 0x01FD), 548300016Sadrian }, 549300016Sadrian { .channel = 34, 550300016Sadrian .freq = 5170, /* MHz */ 551300016Sadrian .unk2 = 3447, 552300016Sadrian RADIOREGS(0x71, 0x05, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A, 553300016Sadrian 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 554300016Sadrian 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), 555300016Sadrian PHYREGS(0x0818, 0x0814, 0x0810, 0x01FA, 0x01FB, 0x01FC), 556300016Sadrian }, 557300016Sadrian { .channel = 36, 558300016Sadrian .freq = 5180, /* MHz */ 559300016Sadrian .unk2 = 3453, 560300016Sadrian RADIOREGS(0x71, 0x06, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A, 561300016Sadrian 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 562300016Sadrian 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), 563300016Sadrian PHYREGS(0x081C, 0x0818, 0x0814, 0x01F9, 0x01FA, 0x01FB), 564300016Sadrian }, 565300016Sadrian { .channel = 38, 566300016Sadrian .freq = 5190, /* MHz */ 567300016Sadrian .unk2 = 3460, 568300016Sadrian RADIOREGS(0x71, 0x07, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A, 569300016Sadrian 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 570300016Sadrian 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), 571300016Sadrian PHYREGS(0x0820, 0x081C, 0x0818, 0x01F8, 0x01F9, 0x01FA), 572300016Sadrian }, 573300016Sadrian { .channel = 40, 574300016Sadrian .freq = 5200, /* MHz */ 575300016Sadrian .unk2 = 3467, 576300016Sadrian RADIOREGS(0x71, 0x08, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A, 577300016Sadrian 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 578300016Sadrian 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), 579300016Sadrian PHYREGS(0x0824, 0x0820, 0x081C, 0x01F7, 0x01F8, 0x01F9), 580300016Sadrian }, 581300016Sadrian { .channel = 42, 582300016Sadrian .freq = 5210, /* MHz */ 583300016Sadrian .unk2 = 3473, 584300016Sadrian RADIOREGS(0x71, 0x09, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A, 585300016Sadrian 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 586300016Sadrian 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), 587300016Sadrian PHYREGS(0x0828, 0x0824, 0x0820, 0x01F6, 0x01F7, 0x01F8), 588300016Sadrian }, 589300016Sadrian { .channel = 44, 590300016Sadrian .freq = 5220, /* MHz */ 591300016Sadrian .unk2 = 3480, 592300016Sadrian RADIOREGS(0x71, 0x0A, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A, 593300016Sadrian 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 594300016Sadrian 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), 595300016Sadrian PHYREGS(0x082C, 0x0828, 0x0824, 0x01F5, 0x01F6, 0x01F7), 596300016Sadrian }, 597300016Sadrian { .channel = 46, 598300016Sadrian .freq = 5230, /* MHz */ 599300016Sadrian .unk2 = 3487, 600300016Sadrian RADIOREGS(0x71, 0x0B, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A, 601300016Sadrian 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 602300016Sadrian 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), 603300016Sadrian PHYREGS(0x0830, 0x082C, 0x0828, 0x01F4, 0x01F5, 0x01F6), 604300016Sadrian }, 605300016Sadrian { .channel = 48, 606300016Sadrian .freq = 5240, /* MHz */ 607300016Sadrian .unk2 = 3493, 608300016Sadrian RADIOREGS(0x71, 0x0C, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A, 609300016Sadrian 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 610300016Sadrian 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), 611300016Sadrian PHYREGS(0x0834, 0x0830, 0x082C, 0x01F3, 0x01F4, 0x01F5), 612300016Sadrian }, 613300016Sadrian { .channel = 50, 614300016Sadrian .freq = 5250, /* MHz */ 615300016Sadrian .unk2 = 3500, 616300016Sadrian RADIOREGS(0x71, 0x0D, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A, 617300016Sadrian 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 618300016Sadrian 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), 619300016Sadrian PHYREGS(0x0838, 0x0834, 0x0830, 0x01F2, 0x01F3, 0x01F4), 620300016Sadrian }, 621300016Sadrian { .channel = 52, 622300016Sadrian .freq = 5260, /* MHz */ 623300016Sadrian .unk2 = 3507, 624300016Sadrian RADIOREGS(0x71, 0x0E, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A, 625300016Sadrian 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 626300016Sadrian 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), 627300016Sadrian PHYREGS(0x083C, 0x0838, 0x0834, 0x01F1, 0x01F2, 0x01F3), 628300016Sadrian }, 629300016Sadrian { .channel = 54, 630300016Sadrian .freq = 5270, /* MHz */ 631300016Sadrian .unk2 = 3513, 632300016Sadrian RADIOREGS(0x71, 0x0F, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A, 633300016Sadrian 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 634300016Sadrian 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), 635300016Sadrian PHYREGS(0x0840, 0x083C, 0x0838, 0x01F0, 0x01F1, 0x01F2), 636300016Sadrian }, 637300016Sadrian { .channel = 56, 638300016Sadrian .freq = 5280, /* MHz */ 639300016Sadrian .unk2 = 3520, 640300016Sadrian RADIOREGS(0x71, 0x10, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A, 641300016Sadrian 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 642300016Sadrian 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), 643300016Sadrian PHYREGS(0x0844, 0x0840, 0x083C, 0x01F0, 0x01F0, 0x01F1), 644300016Sadrian }, 645300016Sadrian { .channel = 58, 646300016Sadrian .freq = 5290, /* MHz */ 647300016Sadrian .unk2 = 3527, 648300016Sadrian RADIOREGS(0x71, 0x11, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A, 649300016Sadrian 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 650300016Sadrian 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), 651300016Sadrian PHYREGS(0x0848, 0x0844, 0x0840, 0x01EF, 0x01F0, 0x01F0), 652300016Sadrian }, 653300016Sadrian { .channel = 60, 654300016Sadrian .freq = 5300, /* MHz */ 655300016Sadrian .unk2 = 3533, 656300016Sadrian RADIOREGS(0x71, 0x12, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A, 657300016Sadrian 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 658300016Sadrian 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), 659300016Sadrian PHYREGS(0x084C, 0x0848, 0x0844, 0x01EE, 0x01EF, 0x01F0), 660300016Sadrian }, 661300016Sadrian { .channel = 62, 662300016Sadrian .freq = 5310, /* MHz */ 663300016Sadrian .unk2 = 3540, 664300016Sadrian RADIOREGS(0x71, 0x13, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A, 665300016Sadrian 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 666300016Sadrian 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), 667300016Sadrian PHYREGS(0x0850, 0x084C, 0x0848, 0x01ED, 0x01EE, 0x01EF), 668300016Sadrian }, 669300016Sadrian { .channel = 64, 670300016Sadrian .freq = 5320, /* MHz */ 671300016Sadrian .unk2 = 3547, 672300016Sadrian RADIOREGS(0x71, 0x14, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A, 673300016Sadrian 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 674300016Sadrian 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), 675300016Sadrian PHYREGS(0x0854, 0x0850, 0x084C, 0x01EC, 0x01ED, 0x01EE), 676300016Sadrian }, 677300016Sadrian { .channel = 66, 678300016Sadrian .freq = 5330, /* MHz */ 679300016Sadrian .unk2 = 3553, 680300016Sadrian RADIOREGS(0x71, 0x15, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A, 681300016Sadrian 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 682300016Sadrian 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), 683300016Sadrian PHYREGS(0x0858, 0x0854, 0x0850, 0x01EB, 0x01EC, 0x01ED), 684300016Sadrian }, 685300016Sadrian { .channel = 68, 686300016Sadrian .freq = 5340, /* MHz */ 687300016Sadrian .unk2 = 3560, 688300016Sadrian RADIOREGS(0x71, 0x16, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A, 689300016Sadrian 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 690300016Sadrian 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), 691300016Sadrian PHYREGS(0x085C, 0x0858, 0x0854, 0x01EA, 0x01EB, 0x01EC), 692300016Sadrian }, 693300016Sadrian { .channel = 70, 694300016Sadrian .freq = 5350, /* MHz */ 695300016Sadrian .unk2 = 3567, 696300016Sadrian RADIOREGS(0x71, 0x17, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A, 697300016Sadrian 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 698300016Sadrian 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), 699300016Sadrian PHYREGS(0x0860, 0x085C, 0x0858, 0x01E9, 0x01EA, 0x01EB), 700300016Sadrian }, 701300016Sadrian { .channel = 72, 702300016Sadrian .freq = 5360, /* MHz */ 703300016Sadrian .unk2 = 3573, 704300016Sadrian RADIOREGS(0x71, 0x18, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A, 705300016Sadrian 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 706300016Sadrian 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), 707300016Sadrian PHYREGS(0x0864, 0x0860, 0x085C, 0x01E8, 0x01E9, 0x01EA), 708300016Sadrian }, 709300016Sadrian { .channel = 74, 710300016Sadrian .freq = 5370, /* MHz */ 711300016Sadrian .unk2 = 3580, 712300016Sadrian RADIOREGS(0x71, 0x19, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A, 713300016Sadrian 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 714300016Sadrian 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), 715300016Sadrian PHYREGS(0x0868, 0x0864, 0x0860, 0x01E7, 0x01E8, 0x01E9), 716300016Sadrian }, 717300016Sadrian { .channel = 76, 718300016Sadrian .freq = 5380, /* MHz */ 719300016Sadrian .unk2 = 3587, 720300016Sadrian RADIOREGS(0x71, 0x1A, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A, 721300016Sadrian 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 722300016Sadrian 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), 723300016Sadrian PHYREGS(0x086C, 0x0868, 0x0864, 0x01E6, 0x01E7, 0x01E8), 724300016Sadrian }, 725300016Sadrian { .channel = 78, 726300016Sadrian .freq = 5390, /* MHz */ 727300016Sadrian .unk2 = 3593, 728300016Sadrian RADIOREGS(0x71, 0x1B, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A, 729300016Sadrian 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 730300016Sadrian 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), 731300016Sadrian PHYREGS(0x0870, 0x086C, 0x0868, 0x01E5, 0x01E6, 0x01E7), 732300016Sadrian }, 733300016Sadrian { .channel = 80, 734300016Sadrian .freq = 5400, /* MHz */ 735300016Sadrian .unk2 = 3600, 736300016Sadrian RADIOREGS(0x71, 0x1C, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A, 737300016Sadrian 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 738300016Sadrian 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), 739300016Sadrian PHYREGS(0x0874, 0x0870, 0x086C, 0x01E5, 0x01E5, 0x01E6), 740300016Sadrian }, 741300016Sadrian { .channel = 82, 742300016Sadrian .freq = 5410, /* MHz */ 743300016Sadrian .unk2 = 3607, 744300016Sadrian RADIOREGS(0x71, 0x1D, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A, 745300016Sadrian 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 746300016Sadrian 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), 747300016Sadrian PHYREGS(0x0878, 0x0874, 0x0870, 0x01E4, 0x01E5, 0x01E5), 748300016Sadrian }, 749300016Sadrian { .channel = 84, 750300016Sadrian .freq = 5420, /* MHz */ 751300016Sadrian .unk2 = 3613, 752300016Sadrian RADIOREGS(0x71, 0x1E, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A, 753300016Sadrian 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 754300016Sadrian 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), 755300016Sadrian PHYREGS(0x087C, 0x0878, 0x0874, 0x01E3, 0x01E4, 0x01E5), 756300016Sadrian }, 757300016Sadrian { .channel = 86, 758300016Sadrian .freq = 5430, /* MHz */ 759300016Sadrian .unk2 = 3620, 760300016Sadrian RADIOREGS(0x71, 0x1F, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A, 761300016Sadrian 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 762300016Sadrian 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), 763300016Sadrian PHYREGS(0x0880, 0x087C, 0x0878, 0x01E2, 0x01E3, 0x01E4), 764300016Sadrian }, 765300016Sadrian { .channel = 88, 766300016Sadrian .freq = 5440, /* MHz */ 767300016Sadrian .unk2 = 3627, 768300016Sadrian RADIOREGS(0x71, 0x20, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A, 769300016Sadrian 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 770300016Sadrian 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), 771300016Sadrian PHYREGS(0x0884, 0x0880, 0x087C, 0x01E1, 0x01E2, 0x01E3), 772300016Sadrian }, 773300016Sadrian { .channel = 90, 774300016Sadrian .freq = 5450, /* MHz */ 775300016Sadrian .unk2 = 3633, 776300016Sadrian RADIOREGS(0x71, 0x21, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A, 777300016Sadrian 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 778300016Sadrian 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), 779300016Sadrian PHYREGS(0x0888, 0x0884, 0x0880, 0x01E0, 0x01E1, 0x01E2), 780300016Sadrian }, 781300016Sadrian { .channel = 92, 782300016Sadrian .freq = 5460, /* MHz */ 783300016Sadrian .unk2 = 3640, 784300016Sadrian RADIOREGS(0x71, 0x22, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A, 785300016Sadrian 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 786300016Sadrian 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), 787300016Sadrian PHYREGS(0x088C, 0x0888, 0x0884, 0x01DF, 0x01E0, 0x01E1), 788300016Sadrian }, 789300016Sadrian { .channel = 94, 790300016Sadrian .freq = 5470, /* MHz */ 791300016Sadrian .unk2 = 3647, 792300016Sadrian RADIOREGS(0x71, 0x23, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A, 793300016Sadrian 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 794300016Sadrian 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), 795300016Sadrian PHYREGS(0x0890, 0x088C, 0x0888, 0x01DE, 0x01DF, 0x01E0), 796300016Sadrian }, 797300016Sadrian { .channel = 96, 798300016Sadrian .freq = 5480, /* MHz */ 799300016Sadrian .unk2 = 3653, 800300016Sadrian RADIOREGS(0x71, 0x24, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A, 801300016Sadrian 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 802300016Sadrian 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), 803300016Sadrian PHYREGS(0x0894, 0x0890, 0x088C, 0x01DD, 0x01DE, 0x01DF), 804300016Sadrian }, 805300016Sadrian { .channel = 98, 806300016Sadrian .freq = 5490, /* MHz */ 807300016Sadrian .unk2 = 3660, 808300016Sadrian RADIOREGS(0x71, 0x25, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A, 809300016Sadrian 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 810300016Sadrian 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), 811300016Sadrian PHYREGS(0x0898, 0x0894, 0x0890, 0x01DD, 0x01DD, 0x01DE), 812300016Sadrian }, 813300016Sadrian { .channel = 100, 814300016Sadrian .freq = 5500, /* MHz */ 815300016Sadrian .unk2 = 3667, 816300016Sadrian RADIOREGS(0x71, 0x26, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A, 817300016Sadrian 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 818300016Sadrian 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), 819300016Sadrian PHYREGS(0x089C, 0x0898, 0x0894, 0x01DC, 0x01DD, 0x01DD), 820300016Sadrian }, 821300016Sadrian { .channel = 102, 822300016Sadrian .freq = 5510, /* MHz */ 823300016Sadrian .unk2 = 3673, 824300016Sadrian RADIOREGS(0x71, 0x27, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A, 825300016Sadrian 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 826300016Sadrian 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), 827300016Sadrian PHYREGS(0x08A0, 0x089C, 0x0898, 0x01DB, 0x01DC, 0x01DD), 828300016Sadrian }, 829300016Sadrian { .channel = 104, 830300016Sadrian .freq = 5520, /* MHz */ 831300016Sadrian .unk2 = 3680, 832300016Sadrian RADIOREGS(0x71, 0x28, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A, 833300016Sadrian 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 834300016Sadrian 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), 835300016Sadrian PHYREGS(0x08A4, 0x08A0, 0x089C, 0x01DA, 0x01DB, 0x01DC), 836300016Sadrian }, 837300016Sadrian { .channel = 106, 838300016Sadrian .freq = 5530, /* MHz */ 839300016Sadrian .unk2 = 3687, 840300016Sadrian RADIOREGS(0x71, 0x29, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A, 841300016Sadrian 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 842300016Sadrian 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), 843300016Sadrian PHYREGS(0x08A8, 0x08A4, 0x08A0, 0x01D9, 0x01DA, 0x01DB), 844300016Sadrian }, 845300016Sadrian { .channel = 108, 846300016Sadrian .freq = 5540, /* MHz */ 847300016Sadrian .unk2 = 3693, 848300016Sadrian RADIOREGS(0x71, 0x2A, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A, 849300016Sadrian 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 850300016Sadrian 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), 851300016Sadrian PHYREGS(0x08AC, 0x08A8, 0x08A4, 0x01D8, 0x01D9, 0x01DA), 852300016Sadrian }, 853300016Sadrian { .channel = 110, 854300016Sadrian .freq = 5550, /* MHz */ 855300016Sadrian .unk2 = 3700, 856300016Sadrian RADIOREGS(0x71, 0x2B, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A, 857300016Sadrian 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 858300016Sadrian 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), 859300016Sadrian PHYREGS(0x08B0, 0x08AC, 0x08A8, 0x01D7, 0x01D8, 0x01D9), 860300016Sadrian }, 861300016Sadrian { .channel = 112, 862300016Sadrian .freq = 5560, /* MHz */ 863300016Sadrian .unk2 = 3707, 864300016Sadrian RADIOREGS(0x71, 0x2C, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A, 865300016Sadrian 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 866300016Sadrian 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), 867300016Sadrian PHYREGS(0x08B4, 0x08B0, 0x08AC, 0x01D7, 0x01D7, 0x01D8), 868300016Sadrian }, 869300016Sadrian { .channel = 114, 870300016Sadrian .freq = 5570, /* MHz */ 871300016Sadrian .unk2 = 3713, 872300016Sadrian RADIOREGS(0x71, 0x2D, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A, 873300016Sadrian 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 874300016Sadrian 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), 875300016Sadrian PHYREGS(0x08B8, 0x08B4, 0x08B0, 0x01D6, 0x01D7, 0x01D7), 876300016Sadrian }, 877300016Sadrian { .channel = 116, 878300016Sadrian .freq = 5580, /* MHz */ 879300016Sadrian .unk2 = 3720, 880300016Sadrian RADIOREGS(0x71, 0x2E, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A, 881300016Sadrian 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 882300016Sadrian 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), 883300016Sadrian PHYREGS(0x08BC, 0x08B8, 0x08B4, 0x01D5, 0x01D6, 0x01D7), 884300016Sadrian }, 885300016Sadrian { .channel = 118, 886300016Sadrian .freq = 5590, /* MHz */ 887300016Sadrian .unk2 = 3727, 888300016Sadrian RADIOREGS(0x71, 0x2F, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A, 889300016Sadrian 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 890300016Sadrian 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), 891300016Sadrian PHYREGS(0x08C0, 0x08BC, 0x08B8, 0x01D4, 0x01D5, 0x01D6), 892300016Sadrian }, 893300016Sadrian { .channel = 120, 894300016Sadrian .freq = 5600, /* MHz */ 895300016Sadrian .unk2 = 3733, 896300016Sadrian RADIOREGS(0x71, 0x30, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A, 897300016Sadrian 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 898300016Sadrian 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), 899300016Sadrian PHYREGS(0x08C4, 0x08C0, 0x08BC, 0x01D3, 0x01D4, 0x01D5), 900300016Sadrian }, 901300016Sadrian { .channel = 122, 902300016Sadrian .freq = 5610, /* MHz */ 903300016Sadrian .unk2 = 3740, 904300016Sadrian RADIOREGS(0x71, 0x31, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A, 905300016Sadrian 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 906300016Sadrian 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), 907300016Sadrian PHYREGS(0x08C8, 0x08C4, 0x08C0, 0x01D2, 0x01D3, 0x01D4), 908300016Sadrian }, 909300016Sadrian { .channel = 124, 910300016Sadrian .freq = 5620, /* MHz */ 911300016Sadrian .unk2 = 3747, 912300016Sadrian RADIOREGS(0x71, 0x32, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A, 913300016Sadrian 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 914300016Sadrian 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), 915300016Sadrian PHYREGS(0x08CC, 0x08C8, 0x08C4, 0x01D2, 0x01D2, 0x01D3), 916300016Sadrian }, 917300016Sadrian { .channel = 126, 918300016Sadrian .freq = 5630, /* MHz */ 919300016Sadrian .unk2 = 3753, 920300016Sadrian RADIOREGS(0x71, 0x33, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A, 921300016Sadrian 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 922300016Sadrian 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), 923300016Sadrian PHYREGS(0x08D0, 0x08CC, 0x08C8, 0x01D1, 0x01D2, 0x01D2), 924300016Sadrian }, 925300016Sadrian { .channel = 128, 926300016Sadrian .freq = 5640, /* MHz */ 927300016Sadrian .unk2 = 3760, 928300016Sadrian RADIOREGS(0x71, 0x34, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A, 929300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 930300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 931300016Sadrian PHYREGS(0x08D4, 0x08D0, 0x08CC, 0x01D0, 0x01D1, 0x01D2), 932300016Sadrian }, 933300016Sadrian { .channel = 130, 934300016Sadrian .freq = 5650, /* MHz */ 935300016Sadrian .unk2 = 3767, 936300016Sadrian RADIOREGS(0x71, 0x35, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A, 937300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 938300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 939300016Sadrian PHYREGS(0x08D8, 0x08D4, 0x08D0, 0x01CF, 0x01D0, 0x01D1), 940300016Sadrian }, 941300016Sadrian { .channel = 132, 942300016Sadrian .freq = 5660, /* MHz */ 943300016Sadrian .unk2 = 3773, 944300016Sadrian RADIOREGS(0x71, 0x36, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A, 945300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 946300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 947300016Sadrian PHYREGS(0x08DC, 0x08D8, 0x08D4, 0x01CE, 0x01CF, 0x01D0), 948300016Sadrian }, 949300016Sadrian { .channel = 134, 950300016Sadrian .freq = 5670, /* MHz */ 951300016Sadrian .unk2 = 3780, 952300016Sadrian RADIOREGS(0x71, 0x37, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A, 953300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 954300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 955300016Sadrian PHYREGS(0x08E0, 0x08DC, 0x08D8, 0x01CE, 0x01CE, 0x01CF), 956300016Sadrian }, 957300016Sadrian { .channel = 136, 958300016Sadrian .freq = 5680, /* MHz */ 959300016Sadrian .unk2 = 3787, 960300016Sadrian RADIOREGS(0x71, 0x38, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A, 961300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 962300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 963300016Sadrian PHYREGS(0x08E4, 0x08E0, 0x08DC, 0x01CD, 0x01CE, 0x01CE), 964300016Sadrian }, 965300016Sadrian { .channel = 138, 966300016Sadrian .freq = 5690, /* MHz */ 967300016Sadrian .unk2 = 3793, 968300016Sadrian RADIOREGS(0x71, 0x39, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A, 969300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 970300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 971300016Sadrian PHYREGS(0x08E8, 0x08E4, 0x08E0, 0x01CC, 0x01CD, 0x01CE), 972300016Sadrian }, 973300016Sadrian { .channel = 140, 974300016Sadrian .freq = 5700, /* MHz */ 975300016Sadrian .unk2 = 3800, 976300016Sadrian RADIOREGS(0x71, 0x3A, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 977300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 978300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 979300016Sadrian PHYREGS(0x08EC, 0x08E8, 0x08E4, 0x01CB, 0x01CC, 0x01CD), 980300016Sadrian }, 981300016Sadrian { .channel = 142, 982300016Sadrian .freq = 5710, /* MHz */ 983300016Sadrian .unk2 = 3807, 984300016Sadrian RADIOREGS(0x71, 0x3B, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 985300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 986300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 987300016Sadrian PHYREGS(0x08F0, 0x08EC, 0x08E8, 0x01CA, 0x01CB, 0x01CC), 988300016Sadrian }, 989300016Sadrian { .channel = 144, 990300016Sadrian .freq = 5720, /* MHz */ 991300016Sadrian .unk2 = 3813, 992300016Sadrian RADIOREGS(0x71, 0x3C, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 993300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 994300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 995300016Sadrian PHYREGS(0x08F4, 0x08F0, 0x08EC, 0x01C9, 0x01CA, 0x01CB), 996300016Sadrian }, 997300016Sadrian { .channel = 145, 998300016Sadrian .freq = 5725, /* MHz */ 999300016Sadrian .unk2 = 3817, 1000300016Sadrian RADIOREGS(0x72, 0x79, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14, 1001300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1002300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1003300016Sadrian PHYREGS(0x08F6, 0x08F2, 0x08EE, 0x01C9, 0x01CA, 0x01CB), 1004300016Sadrian }, 1005300016Sadrian { .channel = 146, 1006300016Sadrian .freq = 5730, /* MHz */ 1007300016Sadrian .unk2 = 3820, 1008300016Sadrian RADIOREGS(0x71, 0x3D, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1009300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1010300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1011300016Sadrian PHYREGS(0x08F8, 0x08F4, 0x08F0, 0x01C9, 0x01C9, 0x01CA), 1012300016Sadrian }, 1013300016Sadrian { .channel = 147, 1014300016Sadrian .freq = 5735, /* MHz */ 1015300016Sadrian .unk2 = 3823, 1016300016Sadrian RADIOREGS(0x72, 0x7B, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14, 1017300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1018300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1019300016Sadrian PHYREGS(0x08FA, 0x08F6, 0x08F2, 0x01C8, 0x01C9, 0x01CA), 1020300016Sadrian }, 1021300016Sadrian { .channel = 148, 1022300016Sadrian .freq = 5740, /* MHz */ 1023300016Sadrian .unk2 = 3827, 1024300016Sadrian RADIOREGS(0x71, 0x3E, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1025300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1026300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1027300016Sadrian PHYREGS(0x08FC, 0x08F8, 0x08F4, 0x01C8, 0x01C9, 0x01C9), 1028300016Sadrian }, 1029300016Sadrian { .channel = 149, 1030300016Sadrian .freq = 5745, /* MHz */ 1031300016Sadrian .unk2 = 3830, 1032300016Sadrian RADIOREGS(0x72, 0x7D, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14, 1033300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1034300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1035300016Sadrian PHYREGS(0x08FE, 0x08FA, 0x08F6, 0x01C8, 0x01C8, 0x01C9), 1036300016Sadrian }, 1037300016Sadrian { .channel = 150, 1038300016Sadrian .freq = 5750, /* MHz */ 1039300016Sadrian .unk2 = 3833, 1040300016Sadrian RADIOREGS(0x71, 0x3F, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1041300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1042300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1043300016Sadrian PHYREGS(0x0900, 0x08FC, 0x08F8, 0x01C7, 0x01C8, 0x01C9), 1044300016Sadrian }, 1045300016Sadrian { .channel = 151, 1046300016Sadrian .freq = 5755, /* MHz */ 1047300016Sadrian .unk2 = 3837, 1048300016Sadrian RADIOREGS(0x72, 0x7F, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14, 1049300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1050300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1051300016Sadrian PHYREGS(0x0902, 0x08FE, 0x08FA, 0x01C7, 0x01C8, 0x01C8), 1052300016Sadrian }, 1053300016Sadrian { .channel = 152, 1054300016Sadrian .freq = 5760, /* MHz */ 1055300016Sadrian .unk2 = 3840, 1056300016Sadrian RADIOREGS(0x71, 0x40, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1057300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1058300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1059300016Sadrian PHYREGS(0x0904, 0x0900, 0x08FC, 0x01C6, 0x01C7, 0x01C8), 1060300016Sadrian }, 1061300016Sadrian { .channel = 153, 1062300016Sadrian .freq = 5765, /* MHz */ 1063300016Sadrian .unk2 = 3843, 1064300016Sadrian RADIOREGS(0x72, 0x81, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14, 1065300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1066300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1067300016Sadrian PHYREGS(0x0906, 0x0902, 0x08FE, 0x01C6, 0x01C7, 0x01C8), 1068300016Sadrian }, 1069300016Sadrian { .channel = 154, 1070300016Sadrian .freq = 5770, /* MHz */ 1071300016Sadrian .unk2 = 3847, 1072300016Sadrian RADIOREGS(0x71, 0x41, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1073300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1074300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1075300016Sadrian PHYREGS(0x0908, 0x0904, 0x0900, 0x01C6, 0x01C6, 0x01C7), 1076300016Sadrian }, 1077300016Sadrian { .channel = 155, 1078300016Sadrian .freq = 5775, /* MHz */ 1079300016Sadrian .unk2 = 3850, 1080300016Sadrian RADIOREGS(0x72, 0x83, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14, 1081300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1082300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1083300016Sadrian PHYREGS(0x090A, 0x0906, 0x0902, 0x01C5, 0x01C6, 0x01C7), 1084300016Sadrian }, 1085300016Sadrian { .channel = 156, 1086300016Sadrian .freq = 5780, /* MHz */ 1087300016Sadrian .unk2 = 3853, 1088300016Sadrian RADIOREGS(0x71, 0x42, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1089300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1090300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1091300016Sadrian PHYREGS(0x090C, 0x0908, 0x0904, 0x01C5, 0x01C6, 0x01C6), 1092300016Sadrian }, 1093300016Sadrian { .channel = 157, 1094300016Sadrian .freq = 5785, /* MHz */ 1095300016Sadrian .unk2 = 3857, 1096300016Sadrian RADIOREGS(0x72, 0x85, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14, 1097300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1098300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1099300016Sadrian PHYREGS(0x090E, 0x090A, 0x0906, 0x01C4, 0x01C5, 0x01C6), 1100300016Sadrian }, 1101300016Sadrian { .channel = 158, 1102300016Sadrian .freq = 5790, /* MHz */ 1103300016Sadrian .unk2 = 3860, 1104300016Sadrian RADIOREGS(0x71, 0x43, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, 1105300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1106300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1107300016Sadrian PHYREGS(0x0910, 0x090C, 0x0908, 0x01C4, 0x01C5, 0x01C6), 1108300016Sadrian }, 1109300016Sadrian { .channel = 159, 1110300016Sadrian .freq = 5795, /* MHz */ 1111300016Sadrian .unk2 = 3863, 1112300016Sadrian RADIOREGS(0x72, 0x87, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14, 1113300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1114300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1115300016Sadrian PHYREGS(0x0912, 0x090E, 0x090A, 0x01C4, 0x01C4, 0x01C5), 1116300016Sadrian }, 1117300016Sadrian { .channel = 160, 1118300016Sadrian .freq = 5800, /* MHz */ 1119300016Sadrian .unk2 = 3867, 1120300016Sadrian RADIOREGS(0x71, 0x44, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, 1121300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1122300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1123300016Sadrian PHYREGS(0x0914, 0x0910, 0x090C, 0x01C3, 0x01C4, 0x01C5), 1124300016Sadrian }, 1125300016Sadrian { .channel = 161, 1126300016Sadrian .freq = 5805, /* MHz */ 1127300016Sadrian .unk2 = 3870, 1128300016Sadrian RADIOREGS(0x72, 0x89, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, 1129300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1130300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1131300016Sadrian PHYREGS(0x0916, 0x0912, 0x090E, 0x01C3, 0x01C4, 0x01C4), 1132300016Sadrian }, 1133300016Sadrian { .channel = 162, 1134300016Sadrian .freq = 5810, /* MHz */ 1135300016Sadrian .unk2 = 3873, 1136300016Sadrian RADIOREGS(0x71, 0x45, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, 1137300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1138300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1139300016Sadrian PHYREGS(0x0918, 0x0914, 0x0910, 0x01C2, 0x01C3, 0x01C4), 1140300016Sadrian }, 1141300016Sadrian { .channel = 163, 1142300016Sadrian .freq = 5815, /* MHz */ 1143300016Sadrian .unk2 = 3877, 1144300016Sadrian RADIOREGS(0x72, 0x8B, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, 1145300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1146300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1147300016Sadrian PHYREGS(0x091A, 0x0916, 0x0912, 0x01C2, 0x01C3, 0x01C4), 1148300016Sadrian }, 1149300016Sadrian { .channel = 164, 1150300016Sadrian .freq = 5820, /* MHz */ 1151300016Sadrian .unk2 = 3880, 1152300016Sadrian RADIOREGS(0x71, 0x46, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, 1153300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1154300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1155300016Sadrian PHYREGS(0x091C, 0x0918, 0x0914, 0x01C2, 0x01C2, 0x01C3), 1156300016Sadrian }, 1157300016Sadrian { .channel = 165, 1158300016Sadrian .freq = 5825, /* MHz */ 1159300016Sadrian .unk2 = 3883, 1160300016Sadrian RADIOREGS(0x72, 0x8D, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, 1161300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1162300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1163300016Sadrian PHYREGS(0x091E, 0x091A, 0x0916, 0x01C1, 0x01C2, 0x01C3), 1164300016Sadrian }, 1165300016Sadrian { .channel = 166, 1166300016Sadrian .freq = 5830, /* MHz */ 1167300016Sadrian .unk2 = 3887, 1168300016Sadrian RADIOREGS(0x71, 0x47, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, 1169300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1170300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1171300016Sadrian PHYREGS(0x0920, 0x091C, 0x0918, 0x01C1, 0x01C2, 0x01C2), 1172300016Sadrian }, 1173300016Sadrian { .channel = 168, 1174300016Sadrian .freq = 5840, /* MHz */ 1175300016Sadrian .unk2 = 3893, 1176300016Sadrian RADIOREGS(0x71, 0x48, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, 1177300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1178300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1179300016Sadrian PHYREGS(0x0924, 0x0920, 0x091C, 0x01C0, 0x01C1, 0x01C2), 1180300016Sadrian }, 1181300016Sadrian { .channel = 170, 1182300016Sadrian .freq = 5850, /* MHz */ 1183300016Sadrian .unk2 = 3900, 1184300016Sadrian RADIOREGS(0x71, 0x49, 0x02, 0x01, 0xE0, 0x00, 0x04, 0x0A, 1185300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1186300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1187300016Sadrian PHYREGS(0x0928, 0x0924, 0x0920, 0x01BF, 0x01C0, 0x01C1), 1188300016Sadrian }, 1189300016Sadrian { .channel = 172, 1190300016Sadrian .freq = 5860, /* MHz */ 1191300016Sadrian .unk2 = 3907, 1192300016Sadrian RADIOREGS(0x71, 0x4A, 0x02, 0x01, 0xDE, 0x00, 0x04, 0x0A, 1193300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1194300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1195300016Sadrian PHYREGS(0x092C, 0x0928, 0x0924, 0x01BF, 0x01BF, 0x01C0), 1196300016Sadrian }, 1197300016Sadrian { .channel = 174, 1198300016Sadrian .freq = 5870, /* MHz */ 1199300016Sadrian .unk2 = 3913, 1200300016Sadrian RADIOREGS(0x71, 0x4B, 0x02, 0x00, 0xDB, 0x00, 0x04, 0x0A, 1201300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1202300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1203300016Sadrian PHYREGS(0x0930, 0x092C, 0x0928, 0x01BE, 0x01BF, 0x01BF), 1204300016Sadrian }, 1205300016Sadrian { .channel = 176, 1206300016Sadrian .freq = 5880, /* MHz */ 1207300016Sadrian .unk2 = 3920, 1208300016Sadrian RADIOREGS(0x71, 0x4C, 0x02, 0x00, 0xD8, 0x00, 0x04, 0x0A, 1209300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1210300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1211300016Sadrian PHYREGS(0x0934, 0x0930, 0x092C, 0x01BD, 0x01BE, 0x01BF), 1212300016Sadrian }, 1213300016Sadrian { .channel = 178, 1214300016Sadrian .freq = 5890, /* MHz */ 1215300016Sadrian .unk2 = 3927, 1216300016Sadrian RADIOREGS(0x71, 0x4D, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A, 1217300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1218300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1219300016Sadrian PHYREGS(0x0938, 0x0934, 0x0930, 0x01BC, 0x01BD, 0x01BE), 1220300016Sadrian }, 1221300016Sadrian { .channel = 180, 1222300016Sadrian .freq = 5900, /* MHz */ 1223300016Sadrian .unk2 = 3933, 1224300016Sadrian RADIOREGS(0x71, 0x4E, 0x02, 0x00, 0xD3, 0x00, 0x04, 0x0A, 1225300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1226300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1227300016Sadrian PHYREGS(0x093C, 0x0938, 0x0934, 0x01BC, 0x01BC, 0x01BD), 1228300016Sadrian }, 1229300016Sadrian { .channel = 182, 1230300016Sadrian .freq = 5910, /* MHz */ 1231300016Sadrian .unk2 = 3940, 1232300016Sadrian RADIOREGS(0x71, 0x4F, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A, 1233300016Sadrian 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1234300016Sadrian 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), 1235300016Sadrian PHYREGS(0x0940, 0x093C, 0x0938, 0x01BB, 0x01BC, 0x01BC), 1236300016Sadrian }, 1237300016Sadrian { .channel = 1, 1238300016Sadrian .freq = 2412, /* MHz */ 1239300016Sadrian .unk2 = 3216, 1240300016Sadrian RADIOREGS(0x73, 0x6C, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1241300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 1242300016Sadrian 0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80), 1243300016Sadrian PHYREGS(0x03C9, 0x03C5, 0x03C1, 0x043A, 0x043F, 0x0443), 1244300016Sadrian }, 1245300016Sadrian { .channel = 2, 1246300016Sadrian .freq = 2417, /* MHz */ 1247300016Sadrian .unk2 = 3223, 1248300016Sadrian RADIOREGS(0x73, 0x71, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1249300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 1250300016Sadrian 0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80), 1251300016Sadrian PHYREGS(0x03CB, 0x03C7, 0x03C3, 0x0438, 0x043D, 0x0441), 1252300016Sadrian }, 1253300016Sadrian { .channel = 3, 1254300016Sadrian .freq = 2422, /* MHz */ 1255300016Sadrian .unk2 = 3229, 1256300016Sadrian RADIOREGS(0x73, 0x76, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1257300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 1258300016Sadrian 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), 1259300016Sadrian PHYREGS(0x03CD, 0x03C9, 0x03C5, 0x0436, 0x043A, 0x043F), 1260300016Sadrian }, 1261300016Sadrian { .channel = 4, 1262300016Sadrian .freq = 2427, /* MHz */ 1263300016Sadrian .unk2 = 3236, 1264300016Sadrian RADIOREGS(0x73, 0x7B, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1265300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 1266300016Sadrian 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), 1267300016Sadrian PHYREGS(0x03CF, 0x03CB, 0x03C7, 0x0434, 0x0438, 0x043D), 1268300016Sadrian }, 1269300016Sadrian { .channel = 5, 1270300016Sadrian .freq = 2432, /* MHz */ 1271300016Sadrian .unk2 = 3243, 1272300016Sadrian RADIOREGS(0x73, 0x80, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1273300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 1274300016Sadrian 0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80), 1275300016Sadrian PHYREGS(0x03D1, 0x03CD, 0x03C9, 0x0431, 0x0436, 0x043A), 1276300016Sadrian }, 1277300016Sadrian { .channel = 6, 1278300016Sadrian .freq = 2437, /* MHz */ 1279300016Sadrian .unk2 = 3249, 1280300016Sadrian RADIOREGS(0x73, 0x85, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1281300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 1282300016Sadrian 0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80), 1283300016Sadrian PHYREGS(0x03D3, 0x03CF, 0x03CB, 0x042F, 0x0434, 0x0438), 1284300016Sadrian }, 1285300016Sadrian { .channel = 7, 1286300016Sadrian .freq = 2442, /* MHz */ 1287300016Sadrian .unk2 = 3256, 1288300016Sadrian RADIOREGS(0x73, 0x8A, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1289300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 1290300016Sadrian 0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80), 1291300016Sadrian PHYREGS(0x03D5, 0x03D1, 0x03CD, 0x042D, 0x0431, 0x0436), 1292300016Sadrian }, 1293300016Sadrian { .channel = 8, 1294300016Sadrian .freq = 2447, /* MHz */ 1295300016Sadrian .unk2 = 3263, 1296300016Sadrian RADIOREGS(0x73, 0x8F, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1297300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 1298300016Sadrian 0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80), 1299300016Sadrian PHYREGS(0x03D7, 0x03D3, 0x03CF, 0x042B, 0x042F, 0x0434), 1300300016Sadrian }, 1301300016Sadrian { .channel = 9, 1302300016Sadrian .freq = 2452, /* MHz */ 1303300016Sadrian .unk2 = 3269, 1304300016Sadrian RADIOREGS(0x73, 0x94, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1305300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 1306300016Sadrian 0x80, 0xFF, 0x88, 0x09, 0x06, 0x80), 1307300016Sadrian PHYREGS(0x03D9, 0x03D5, 0x03D1, 0x0429, 0x042D, 0x0431), 1308300016Sadrian }, 1309300016Sadrian { .channel = 10, 1310300016Sadrian .freq = 2457, /* MHz */ 1311300016Sadrian .unk2 = 3276, 1312300016Sadrian RADIOREGS(0x73, 0x99, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1313300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 1314300016Sadrian 0x80, 0xFF, 0x88, 0x08, 0x05, 0x80), 1315300016Sadrian PHYREGS(0x03DB, 0x03D7, 0x03D3, 0x0427, 0x042B, 0x042F), 1316300016Sadrian }, 1317300016Sadrian { .channel = 11, 1318300016Sadrian .freq = 2462, /* MHz */ 1319300016Sadrian .unk2 = 3283, 1320300016Sadrian RADIOREGS(0x73, 0x9E, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1321300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 1322300016Sadrian 0x80, 0xFF, 0x88, 0x08, 0x04, 0x80), 1323300016Sadrian PHYREGS(0x03DD, 0x03D9, 0x03D5, 0x0424, 0x0429, 0x042D), 1324300016Sadrian }, 1325300016Sadrian { .channel = 12, 1326300016Sadrian .freq = 2467, /* MHz */ 1327300016Sadrian .unk2 = 3289, 1328300016Sadrian RADIOREGS(0x73, 0xA3, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1329300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 1330300016Sadrian 0x80, 0xFF, 0x88, 0x08, 0x03, 0x80), 1331300016Sadrian PHYREGS(0x03DF, 0x03DB, 0x03D7, 0x0422, 0x0427, 0x042B), 1332300016Sadrian }, 1333300016Sadrian { .channel = 13, 1334300016Sadrian .freq = 2472, /* MHz */ 1335300016Sadrian .unk2 = 3296, 1336300016Sadrian RADIOREGS(0x73, 0xA8, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, 1337300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 1338300016Sadrian 0x80, 0xFF, 0x88, 0x07, 0x03, 0x80), 1339300016Sadrian PHYREGS(0x03E1, 0x03DD, 0x03D9, 0x0420, 0x0424, 0x0429), 1340300016Sadrian }, 1341300016Sadrian { .channel = 14, 1342300016Sadrian .freq = 2484, /* MHz */ 1343300016Sadrian .unk2 = 3312, 1344300016Sadrian RADIOREGS(0x73, 0xB4, 0x09, 0x0F, 0xFF, 0x01, 0x07, 0x15, 1345300016Sadrian 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 1346300016Sadrian 0x80, 0xFF, 0x88, 0x07, 0x01, 0x80), 1347300016Sadrian PHYREGS(0x03E6, 0x03E2, 0x03DE, 0x041B, 0x041F, 0x0424), 1348300016Sadrian }, 1349300016Sadrian}; 1350300016Sadrian 1351300016Sadrianvoid b2055_upload_inittab(struct bwn_mac *mac, 1352300016Sadrian bool ghz5, bool ignore_uploadflag) 1353300016Sadrian{ 1354300016Sadrian const struct b2055_inittab_entry *e; 1355300016Sadrian unsigned int i, writes = 0; 1356300016Sadrian uint16_t value; 1357300016Sadrian 1358300016Sadrian for (i = 0; i < nitems(b2055_inittab); i++) { 1359300016Sadrian e = &(b2055_inittab[i]); 1360300016Sadrian if (!(e->flags & B2055_INITTAB_ENTRY_OK)) 1361300016Sadrian continue; 1362300016Sadrian if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) { 1363300016Sadrian if (ghz5) 1364300016Sadrian value = e->ghz5; 1365300016Sadrian else 1366300016Sadrian value = e->ghz2; 1367300016Sadrian BWN_RF_WRITE(mac, i, value); 1368300016Sadrian if (++writes % 4 == 0) 1369300016Sadrian BWN_READ_4(mac, BWN_MACCTL); /* flush */ 1370300016Sadrian } 1371300016Sadrian } 1372300016Sadrian /* One final flush */ 1373300016Sadrian BWN_READ_4(mac, BWN_MACCTL); 1374300016Sadrian} 1375300016Sadrian 1376300016Sadrianconst struct bwn_nphy_channeltab_entry_rev2 * 1377300016Sadrianbwn_nphy_get_chantabent_rev2(struct bwn_mac *mac, uint8_t channel) 1378300016Sadrian{ 1379300016Sadrian const struct bwn_nphy_channeltab_entry_rev2 *e; 1380300016Sadrian unsigned int i; 1381300016Sadrian 1382300016Sadrian for (i = 0; i < nitems(bwn_nphy_channeltab_rev2); i++) { 1383300016Sadrian e = &(bwn_nphy_channeltab_rev2[i]); 1384300016Sadrian if (e->channel == channel) 1385300016Sadrian return e; 1386300016Sadrian } 1387300016Sadrian 1388300016Sadrian return NULL; 1389300016Sadrian} 1390