1dbf8e132SAdrian Chadd /* 2dbf8e132SAdrian Chadd 3dbf8e132SAdrian Chadd Broadcom B43 wireless driver 4dbf8e132SAdrian Chadd IEEE 802.11n PHY data tables 5dbf8e132SAdrian Chadd 6dbf8e132SAdrian Chadd Copyright (c) 2008 Michael Buesch <m@bues.ch> 7dbf8e132SAdrian Chadd Copyright (c) 2010 Rafał Miłecki <zajec5@gmail.com> 8dbf8e132SAdrian Chadd 9dbf8e132SAdrian Chadd This program is free software; you can redistribute it and/or modify 10dbf8e132SAdrian Chadd it under the terms of the GNU General Public License as published by 11dbf8e132SAdrian Chadd the Free Software Foundation; either version 2 of the License, or 12dbf8e132SAdrian Chadd (at your option) any later version. 13dbf8e132SAdrian Chadd 14dbf8e132SAdrian Chadd This program is distributed in the hope that it will be useful, 15dbf8e132SAdrian Chadd but WITHOUT ANY WARRANTY; without even the implied warranty of 16dbf8e132SAdrian Chadd MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17dbf8e132SAdrian Chadd GNU General Public License for more details. 18dbf8e132SAdrian Chadd 19dbf8e132SAdrian Chadd You should have received a copy of the GNU General Public License 20dbf8e132SAdrian Chadd along with this program; see the file COPYING. If not, write to 21dbf8e132SAdrian Chadd the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, 22dbf8e132SAdrian Chadd Boston, MA 02110-1301, USA. 23dbf8e132SAdrian Chadd 24dbf8e132SAdrian Chadd */ 25dbf8e132SAdrian Chadd 26dbf8e132SAdrian Chadd /* 27dbf8e132SAdrian Chadd */ 28dbf8e132SAdrian Chadd 29dbf8e132SAdrian Chadd #ifndef __IF_BWN_TABLES_NPHY_H__ 30dbf8e132SAdrian Chadd #define __IF_BWN_TABLES_NPHY_H__ 31dbf8e132SAdrian Chadd 32dbf8e132SAdrian Chadd struct bwn_phy_n_sfo_cfg { 33dbf8e132SAdrian Chadd uint16_t phy_bw1a; 34dbf8e132SAdrian Chadd uint16_t phy_bw2; 35dbf8e132SAdrian Chadd uint16_t phy_bw3; 36dbf8e132SAdrian Chadd uint16_t phy_bw4; 37dbf8e132SAdrian Chadd uint16_t phy_bw5; 38dbf8e132SAdrian Chadd uint16_t phy_bw6; 39dbf8e132SAdrian Chadd }; 40dbf8e132SAdrian Chadd 41dbf8e132SAdrian Chadd struct bwn_mac; 42dbf8e132SAdrian Chadd 43dbf8e132SAdrian Chadd struct bwn_nphy_txiqcal_ladder { 44dbf8e132SAdrian Chadd uint8_t percent; 45dbf8e132SAdrian Chadd uint8_t g_env; 46dbf8e132SAdrian Chadd }; 47dbf8e132SAdrian Chadd 48dbf8e132SAdrian Chadd struct bwn_nphy_rf_control_override_rev2 { 49dbf8e132SAdrian Chadd uint8_t addr0; 50dbf8e132SAdrian Chadd uint8_t addr1; 51dbf8e132SAdrian Chadd uint16_t bmask; 52dbf8e132SAdrian Chadd uint8_t shift; 53dbf8e132SAdrian Chadd }; 54dbf8e132SAdrian Chadd 55dbf8e132SAdrian Chadd struct bwn_nphy_rf_control_override_rev3 { 56dbf8e132SAdrian Chadd uint16_t val_mask; 57dbf8e132SAdrian Chadd uint8_t val_shift; 58dbf8e132SAdrian Chadd uint8_t en_addr0; 59dbf8e132SAdrian Chadd uint8_t val_addr0; 60dbf8e132SAdrian Chadd uint8_t en_addr1; 61dbf8e132SAdrian Chadd uint8_t val_addr1; 62dbf8e132SAdrian Chadd }; 63dbf8e132SAdrian Chadd 64dbf8e132SAdrian Chadd struct bwn_nphy_rf_control_override_rev7 { 65dbf8e132SAdrian Chadd uint16_t field; 66dbf8e132SAdrian Chadd uint16_t val_addr_core0; 67dbf8e132SAdrian Chadd uint16_t val_addr_core1; 68dbf8e132SAdrian Chadd uint16_t val_mask; 69dbf8e132SAdrian Chadd uint8_t val_shift; 70dbf8e132SAdrian Chadd }; 71dbf8e132SAdrian Chadd 72dbf8e132SAdrian Chadd struct bwn_nphy_gain_ctl_workaround_entry { 73dbf8e132SAdrian Chadd int8_t lna1_gain[4]; 74dbf8e132SAdrian Chadd int8_t lna2_gain[4]; 75dbf8e132SAdrian Chadd uint8_t gain_db[10]; 76dbf8e132SAdrian Chadd uint8_t gain_bits[10]; 77dbf8e132SAdrian Chadd 78dbf8e132SAdrian Chadd uint16_t init_gain; 79dbf8e132SAdrian Chadd uint16_t rfseq_init[4]; 80dbf8e132SAdrian Chadd 81dbf8e132SAdrian Chadd uint16_t cliphi_gain; 82dbf8e132SAdrian Chadd uint16_t clipmd_gain; 83dbf8e132SAdrian Chadd uint16_t cliplo_gain; 84dbf8e132SAdrian Chadd 85dbf8e132SAdrian Chadd uint16_t crsmin; 86dbf8e132SAdrian Chadd uint16_t crsminl; 87dbf8e132SAdrian Chadd uint16_t crsminu; 88dbf8e132SAdrian Chadd 89dbf8e132SAdrian Chadd uint16_t nbclip; 90dbf8e132SAdrian Chadd uint16_t wlclip; 91dbf8e132SAdrian Chadd }; 92dbf8e132SAdrian Chadd 93dbf8e132SAdrian Chadd /* Get entry with workaround values for gain ctl. Does not return NULL. */ 94dbf8e132SAdrian Chadd struct bwn_nphy_gain_ctl_workaround_entry *bwn_nphy_get_gain_ctl_workaround_ent( 95dbf8e132SAdrian Chadd struct bwn_mac *mac, bool ghz5, bool ext_lna); 96dbf8e132SAdrian Chadd 97dbf8e132SAdrian Chadd 98dbf8e132SAdrian Chadd /* The N-PHY tables. */ 99dbf8e132SAdrian Chadd #define BWN_NTAB_TYPEMASK 0xF0000000 100dbf8e132SAdrian Chadd #define BWN_NTAB_8BIT 0x10000000 101dbf8e132SAdrian Chadd #define BWN_NTAB_16BIT 0x20000000 102dbf8e132SAdrian Chadd #define BWN_NTAB_32BIT 0x30000000 103dbf8e132SAdrian Chadd #define BWN_NTAB8(table, offset) (((table) << 10) | (offset) | BWN_NTAB_8BIT) 104dbf8e132SAdrian Chadd #define BWN_NTAB16(table, offset) (((table) << 10) | (offset) | BWN_NTAB_16BIT) 105dbf8e132SAdrian Chadd #define BWN_NTAB32(table, offset) (((table) << 10) | (offset) | BWN_NTAB_32BIT) 106dbf8e132SAdrian Chadd 107dbf8e132SAdrian Chadd /* Static N-PHY tables */ 108dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMESTRUCT BWN_NTAB32(0x0A, 0x000) /* Frame Struct Table */ 109dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMESTRUCT_SIZE 832 110dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMELT BWN_NTAB8 (0x18, 0x000) /* Frame Lookup Table */ 111dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMELT_SIZE 32 112dbf8e132SAdrian Chadd #define BWN_NTAB_TMAP BWN_NTAB32(0x0C, 0x000) /* T Map Table */ 113dbf8e132SAdrian Chadd #define BWN_NTAB_TMAP_SIZE 448 114dbf8e132SAdrian Chadd #define BWN_NTAB_TDTRN BWN_NTAB32(0x0E, 0x000) /* TDTRN Table */ 115dbf8e132SAdrian Chadd #define BWN_NTAB_TDTRN_SIZE 704 116dbf8e132SAdrian Chadd #define BWN_NTAB_INTLEVEL BWN_NTAB32(0x0D, 0x000) /* Int Level Table */ 117dbf8e132SAdrian Chadd #define BWN_NTAB_INTLEVEL_SIZE 7 118dbf8e132SAdrian Chadd #define BWN_NTAB_PILOT BWN_NTAB16(0x0B, 0x000) /* Pilot Table */ 119dbf8e132SAdrian Chadd #define BWN_NTAB_PILOT_SIZE 88 120dbf8e132SAdrian Chadd #define BWN_NTAB_PILOTLT BWN_NTAB32(0x14, 0x000) /* Pilot Lookup Table */ 121dbf8e132SAdrian Chadd #define BWN_NTAB_PILOTLT_SIZE 6 122dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A0 BWN_NTAB32(0x13, 0x080) /* TDI Table 20 Antenna 0 */ 123dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A0_SIZE 55 124dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A1 BWN_NTAB32(0x13, 0x100) /* TDI Table 20 Antenna 1 */ 125dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A1_SIZE 55 126dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A0 BWN_NTAB32(0x13, 0x280) /* TDI Table 40 Antenna 0 */ 127dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A0_SIZE 110 128dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A1 BWN_NTAB32(0x13, 0x300) /* TDI Table 40 Antenna 1 */ 129dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A1_SIZE 110 130dbf8e132SAdrian Chadd #define BWN_NTAB_BDI BWN_NTAB16(0x15, 0x000) /* BDI Table */ 131dbf8e132SAdrian Chadd #define BWN_NTAB_BDI_SIZE 6 132dbf8e132SAdrian Chadd #define BWN_NTAB_CHANEST BWN_NTAB32(0x16, 0x000) /* Channel Estimate Table */ 133dbf8e132SAdrian Chadd #define BWN_NTAB_CHANEST_SIZE 96 134dbf8e132SAdrian Chadd #define BWN_NTAB_MCS BWN_NTAB8 (0x12, 0x000) /* MCS Table */ 135dbf8e132SAdrian Chadd #define BWN_NTAB_MCS_SIZE 128 136dbf8e132SAdrian Chadd 137dbf8e132SAdrian Chadd /* Volatile N-PHY tables */ 138dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR10 BWN_NTAB32(0x10, 0x000) /* Noise Var Table 10 */ 139dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR10_SIZE 256 140dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR11 BWN_NTAB32(0x10, 0x080) /* Noise Var Table 11 */ 141dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR11_SIZE 256 142dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ESTPLT BWN_NTAB8 (0x1A, 0x000) /* Estimate Power Lookup Table Core 0 */ 143dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ESTPLT_SIZE 64 144dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ADJPLT BWN_NTAB8 (0x1A, 0x040) /* Adjust Power Lookup Table Core 0 */ 145dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ADJPLT_SIZE 128 146dbf8e132SAdrian Chadd #define BWN_NTAB_C0_GAINCTL BWN_NTAB32(0x1A, 0x0C0) /* Gain Control Lookup Table Core 0 */ 147dbf8e132SAdrian Chadd #define BWN_NTAB_C0_GAINCTL_SIZE 128 148dbf8e132SAdrian Chadd #define BWN_NTAB_C0_IQLT BWN_NTAB32(0x1A, 0x140) /* IQ Lookup Table Core 0 */ 149dbf8e132SAdrian Chadd #define BWN_NTAB_C0_IQLT_SIZE 128 150dbf8e132SAdrian Chadd #define BWN_NTAB_C0_LOFEEDTH BWN_NTAB16(0x1A, 0x1C0) /* Local Oscillator Feed Through Lookup Table Core 0 */ 151dbf8e132SAdrian Chadd #define BWN_NTAB_C0_LOFEEDTH_SIZE 128 152dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ESTPLT BWN_NTAB8 (0x1B, 0x000) /* Estimate Power Lookup Table Core 1 */ 153dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ESTPLT_SIZE 64 154dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ADJPLT BWN_NTAB8 (0x1B, 0x040) /* Adjust Power Lookup Table Core 1 */ 155dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ADJPLT_SIZE 128 156dbf8e132SAdrian Chadd #define BWN_NTAB_C1_GAINCTL BWN_NTAB32(0x1B, 0x0C0) /* Gain Control Lookup Table Core 1 */ 157dbf8e132SAdrian Chadd #define BWN_NTAB_C1_GAINCTL_SIZE 128 158dbf8e132SAdrian Chadd #define BWN_NTAB_C1_IQLT BWN_NTAB32(0x1B, 0x140) /* IQ Lookup Table Core 1 */ 159dbf8e132SAdrian Chadd #define BWN_NTAB_C1_IQLT_SIZE 128 160dbf8e132SAdrian Chadd #define BWN_NTAB_C1_LOFEEDTH BWN_NTAB16(0x1B, 0x1C0) /* Local Oscillator Feed Through Lookup Table Core 1 */ 161dbf8e132SAdrian Chadd #define BWN_NTAB_C1_LOFEEDTH_SIZE 128 162dbf8e132SAdrian Chadd 163dbf8e132SAdrian Chadd /* Volatile N-PHY tables, PHY revision >= 3 */ 164dbf8e132SAdrian Chadd #define BWN_NTAB_ANT_SW_CTL_R3 BWN_NTAB16( 9, 0) /* antenna software control */ 165dbf8e132SAdrian Chadd 166dbf8e132SAdrian Chadd /* Static N-PHY tables, PHY revision >= 3 */ 167dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMESTRUCT_R3 BWN_NTAB32(10, 0) /* frame struct */ 168dbf8e132SAdrian Chadd #define BWN_NTAB_PILOT_R3 BWN_NTAB16(11, 0) /* pilot */ 169dbf8e132SAdrian Chadd #define BWN_NTAB_TMAP_R3 BWN_NTAB32(12, 0) /* TM AP */ 170dbf8e132SAdrian Chadd #define BWN_NTAB_INTLEVEL_R3 BWN_NTAB32(13, 0) /* INT LV */ 171dbf8e132SAdrian Chadd #define BWN_NTAB_TDTRN_R3 BWN_NTAB32(14, 0) /* TD TRN */ 172dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR_R3 BWN_NTAB32(16, 0) /* noise variance */ 173dbf8e132SAdrian Chadd #define BWN_NTAB_MCS_R3 BWN_NTAB16(18, 0) /* MCS */ 174dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A0_R3 BWN_NTAB32(19, 128) /* TDI 20/0 */ 175dbf8e132SAdrian Chadd #define BWN_NTAB_TDI20A1_R3 BWN_NTAB32(19, 256) /* TDI 20/1 */ 176dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A0_R3 BWN_NTAB32(19, 640) /* TDI 40/0 */ 177dbf8e132SAdrian Chadd #define BWN_NTAB_TDI40A1_R3 BWN_NTAB32(19, 768) /* TDI 40/1 */ 178dbf8e132SAdrian Chadd #define BWN_NTAB_PILOTLT_R3 BWN_NTAB32(20, 0) /* PLT lookup */ 179dbf8e132SAdrian Chadd #define BWN_NTAB_CHANEST_R3 BWN_NTAB32(22, 0) /* channel estimate */ 180dbf8e132SAdrian Chadd #define BWN_NTAB_FRAMELT_R3 BWN_NTAB8(24, 0) /* frame lookup */ 181dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ESTPLT_R3 BWN_NTAB8(26, 0) /* estimated power lookup 0 */ 182dbf8e132SAdrian Chadd #define BWN_NTAB_C0_ADJPLT_R3 BWN_NTAB8(26, 64) /* adjusted power lookup 0 */ 183dbf8e132SAdrian Chadd #define BWN_NTAB_C0_GAINCTL_R3 BWN_NTAB32(26, 192) /* gain control lookup 0 */ 184dbf8e132SAdrian Chadd #define BWN_NTAB_C0_IQLT_R3 BWN_NTAB32(26, 320) /* I/Q lookup 0 */ 185dbf8e132SAdrian Chadd #define BWN_NTAB_C0_LOFEEDTH_R3 BWN_NTAB16(26, 448) /* Local Oscillator Feed Through lookup 0 */ 186dbf8e132SAdrian Chadd #define BWN_NTAB_C0_PAPD_COMP_R3 BWN_NTAB16(26, 576) 187dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ESTPLT_R3 BWN_NTAB8(27, 0) /* estimated power lookup 1 */ 188dbf8e132SAdrian Chadd #define BWN_NTAB_C1_ADJPLT_R3 BWN_NTAB8(27, 64) /* adjusted power lookup 1 */ 189dbf8e132SAdrian Chadd #define BWN_NTAB_C1_GAINCTL_R3 BWN_NTAB32(27, 192) /* gain control lookup 1 */ 190dbf8e132SAdrian Chadd #define BWN_NTAB_C1_IQLT_R3 BWN_NTAB32(27, 320) /* I/Q lookup 1 */ 191dbf8e132SAdrian Chadd #define BWN_NTAB_C1_LOFEEDTH_R3 BWN_NTAB16(27, 448) /* Local Oscillator Feed Through lookup 1 */ 192dbf8e132SAdrian Chadd #define BWN_NTAB_C1_PAPD_COMP_R3 BWN_NTAB16(27, 576) 193dbf8e132SAdrian Chadd 194dbf8e132SAdrian Chadd /* Static N-PHY tables, PHY revision >= 7 */ 195dbf8e132SAdrian Chadd #define BWN_NTAB_TMAP_R7 BWN_NTAB32(12, 0) /* TM AP */ 196dbf8e132SAdrian Chadd #define BWN_NTAB_NOISEVAR_R7 BWN_NTAB32(16, 0) /* noise variance */ 197dbf8e132SAdrian Chadd 198dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_LOFT_LADDER_40_SIZE 18 199dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_LOFT_LADDER_20_SIZE 18 200dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_IQIMB_LADDER_40_SIZE 18 201dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_IQIMB_LADDER_20_SIZE 18 202dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_STARTCOEFS_REV3 11 203dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_STARTCOEFS 9 204dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_CMDS_RECAL_REV3 12 205dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_CMDS_RECAL 10 206dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_CMDS_FULLCAL 10 207dbf8e132SAdrian Chadd #define BWN_NTAB_TX_IQLO_CAL_CMDS_FULLCAL_REV3 12 208dbf8e132SAdrian Chadd 209dbf8e132SAdrian Chadd uint32_t bwn_ntab_read(struct bwn_mac *mac, uint32_t offset); 210dbf8e132SAdrian Chadd void bwn_ntab_read_bulk(struct bwn_mac *mac, uint32_t offset, 211dbf8e132SAdrian Chadd unsigned int nr_elements, void *_data); 212dbf8e132SAdrian Chadd void bwn_ntab_write(struct bwn_mac *mac, uint32_t offset, uint32_t value); 213dbf8e132SAdrian Chadd void bwn_ntab_write_bulk(struct bwn_mac *mac, uint32_t offset, 214dbf8e132SAdrian Chadd unsigned int nr_elements, const void *_data); 215dbf8e132SAdrian Chadd 216dbf8e132SAdrian Chadd void bwn_nphy_tables_init(struct bwn_mac *mac); 217dbf8e132SAdrian Chadd 218dbf8e132SAdrian Chadd const uint32_t *bwn_nphy_get_tx_gain_table(struct bwn_mac *mac); 219dbf8e132SAdrian Chadd 220dbf8e132SAdrian Chadd const int16_t *bwn_ntab_get_rf_pwr_offset_table(struct bwn_mac *mac); 221dbf8e132SAdrian Chadd 222dbf8e132SAdrian Chadd extern const int8_t bwn_ntab_papd_pga_gain_delta_ipa_2g[]; 223dbf8e132SAdrian Chadd 224dbf8e132SAdrian Chadd extern const uint16_t tbl_iqcal_gainparams[2][9][8]; 225dbf8e132SAdrian Chadd extern const struct bwn_nphy_txiqcal_ladder ladder_lo[]; 226dbf8e132SAdrian Chadd extern const struct bwn_nphy_txiqcal_ladder ladder_iq[]; 227dbf8e132SAdrian Chadd extern const uint16_t loscale[]; 228dbf8e132SAdrian Chadd 229dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_loft_ladder_40[]; 230dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_loft_ladder_20[]; 231dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_iqimb_ladder_40[]; 232dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_iqimb_ladder_20[]; 233dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_startcoefs_nphyrev3[]; 234dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_startcoefs[]; 235dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_cmds_recal_nphyrev3[]; 236dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_cmds_recal[]; 237dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_cmds_fullcal[]; 238dbf8e132SAdrian Chadd extern const uint16_t tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[]; 239dbf8e132SAdrian Chadd extern const int16_t tbl_tx_filter_coef_rev4[7][15]; 240dbf8e132SAdrian Chadd 241dbf8e132SAdrian Chadd extern const struct bwn_nphy_rf_control_override_rev2 242dbf8e132SAdrian Chadd tbl_rf_control_override_rev2[]; 243dbf8e132SAdrian Chadd extern const struct bwn_nphy_rf_control_override_rev3 244dbf8e132SAdrian Chadd tbl_rf_control_override_rev3[]; 245dbf8e132SAdrian Chadd const struct bwn_nphy_rf_control_override_rev7 *bwn_nphy_get_rf_ctl_over_rev7( 246dbf8e132SAdrian Chadd struct bwn_mac *mac, uint16_t field, uint8_t override); 247dbf8e132SAdrian Chadd 248dbf8e132SAdrian Chadd #endif /* __IF_BWN_PHY_TABLES_N_H__ */ 249