1*c869f77dSJakub Kicinski /* 2*c869f77dSJakub Kicinski * (c) Copyright 2002-2010, Ralink Technology, Inc. 3*c869f77dSJakub Kicinski * Copyright (C) 2015 Jakub Kicinski <kubakici@wp.pl> 4*c869f77dSJakub Kicinski * 5*c869f77dSJakub Kicinski * This program is free software; you can redistribute it and/or modify 6*c869f77dSJakub Kicinski * it under the terms of the GNU General Public License version 2 7*c869f77dSJakub Kicinski * as published by the Free Software Foundation 8*c869f77dSJakub Kicinski * 9*c869f77dSJakub Kicinski * This program is distributed in the hope that it will be useful, 10*c869f77dSJakub Kicinski * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*c869f77dSJakub Kicinski * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12*c869f77dSJakub Kicinski * GNU General Public License for more details. 13*c869f77dSJakub Kicinski */ 14*c869f77dSJakub Kicinski 15*c869f77dSJakub Kicinski #ifndef __MT7601U_PHY_INITVALS_H 16*c869f77dSJakub Kicinski #define __MT7601U_PHY_INITVALS_H 17*c869f77dSJakub Kicinski 18*c869f77dSJakub Kicinski #define RF_REG_PAIR(bank, reg, value) \ 19*c869f77dSJakub Kicinski { MT_MCU_MEMMAP_RF | (bank) << 16 | (reg), value } 20*c869f77dSJakub Kicinski 21*c869f77dSJakub Kicinski static const struct mt76_reg_pair rf_central[] = { 22*c869f77dSJakub Kicinski /* Bank 0 - for central blocks: BG, PLL, XTAL, LO, ADC/DAC */ 23*c869f77dSJakub Kicinski RF_REG_PAIR(0, 0, 0x02), 24*c869f77dSJakub Kicinski RF_REG_PAIR(0, 1, 0x01), 25*c869f77dSJakub Kicinski RF_REG_PAIR(0, 2, 0x11), 26*c869f77dSJakub Kicinski RF_REG_PAIR(0, 3, 0xff), 27*c869f77dSJakub Kicinski RF_REG_PAIR(0, 4, 0x0a), 28*c869f77dSJakub Kicinski RF_REG_PAIR(0, 5, 0x20), 29*c869f77dSJakub Kicinski RF_REG_PAIR(0, 6, 0x00), 30*c869f77dSJakub Kicinski /* B/G */ 31*c869f77dSJakub Kicinski RF_REG_PAIR(0, 7, 0x00), 32*c869f77dSJakub Kicinski RF_REG_PAIR(0, 8, 0x00), 33*c869f77dSJakub Kicinski RF_REG_PAIR(0, 9, 0x00), 34*c869f77dSJakub Kicinski RF_REG_PAIR(0, 10, 0x00), 35*c869f77dSJakub Kicinski RF_REG_PAIR(0, 11, 0x21), 36*c869f77dSJakub Kicinski /* XO */ 37*c869f77dSJakub Kicinski RF_REG_PAIR(0, 13, 0x00), /* 40mhz xtal */ 38*c869f77dSJakub Kicinski /* RF_REG_PAIR(0, 13, 0x13), */ /* 20mhz xtal */ 39*c869f77dSJakub Kicinski RF_REG_PAIR(0, 14, 0x7c), 40*c869f77dSJakub Kicinski RF_REG_PAIR(0, 15, 0x22), 41*c869f77dSJakub Kicinski RF_REG_PAIR(0, 16, 0x80), 42*c869f77dSJakub Kicinski /* PLL */ 43*c869f77dSJakub Kicinski RF_REG_PAIR(0, 17, 0x99), 44*c869f77dSJakub Kicinski RF_REG_PAIR(0, 18, 0x99), 45*c869f77dSJakub Kicinski RF_REG_PAIR(0, 19, 0x09), 46*c869f77dSJakub Kicinski RF_REG_PAIR(0, 20, 0x50), 47*c869f77dSJakub Kicinski RF_REG_PAIR(0, 21, 0xb0), 48*c869f77dSJakub Kicinski RF_REG_PAIR(0, 22, 0x00), 49*c869f77dSJakub Kicinski RF_REG_PAIR(0, 23, 0xc5), 50*c869f77dSJakub Kicinski RF_REG_PAIR(0, 24, 0xfc), 51*c869f77dSJakub Kicinski RF_REG_PAIR(0, 25, 0x40), 52*c869f77dSJakub Kicinski RF_REG_PAIR(0, 26, 0x4d), 53*c869f77dSJakub Kicinski RF_REG_PAIR(0, 27, 0x02), 54*c869f77dSJakub Kicinski RF_REG_PAIR(0, 28, 0x72), 55*c869f77dSJakub Kicinski RF_REG_PAIR(0, 29, 0x01), 56*c869f77dSJakub Kicinski RF_REG_PAIR(0, 30, 0x00), 57*c869f77dSJakub Kicinski RF_REG_PAIR(0, 31, 0x00), 58*c869f77dSJakub Kicinski /* test ports */ 59*c869f77dSJakub Kicinski RF_REG_PAIR(0, 32, 0x00), 60*c869f77dSJakub Kicinski RF_REG_PAIR(0, 33, 0x00), 61*c869f77dSJakub Kicinski RF_REG_PAIR(0, 34, 0x23), 62*c869f77dSJakub Kicinski RF_REG_PAIR(0, 35, 0x01), /* change setting to reduce spurs */ 63*c869f77dSJakub Kicinski RF_REG_PAIR(0, 36, 0x00), 64*c869f77dSJakub Kicinski RF_REG_PAIR(0, 37, 0x00), 65*c869f77dSJakub Kicinski /* ADC/DAC */ 66*c869f77dSJakub Kicinski RF_REG_PAIR(0, 38, 0x00), 67*c869f77dSJakub Kicinski RF_REG_PAIR(0, 39, 0x20), 68*c869f77dSJakub Kicinski RF_REG_PAIR(0, 40, 0x00), 69*c869f77dSJakub Kicinski RF_REG_PAIR(0, 41, 0xd0), 70*c869f77dSJakub Kicinski RF_REG_PAIR(0, 42, 0x1b), 71*c869f77dSJakub Kicinski RF_REG_PAIR(0, 43, 0x02), 72*c869f77dSJakub Kicinski RF_REG_PAIR(0, 44, 0x00), 73*c869f77dSJakub Kicinski }; 74*c869f77dSJakub Kicinski 75*c869f77dSJakub Kicinski static const struct mt76_reg_pair rf_channel[] = { 76*c869f77dSJakub Kicinski RF_REG_PAIR(4, 0, 0x01), 77*c869f77dSJakub Kicinski RF_REG_PAIR(4, 1, 0x00), 78*c869f77dSJakub Kicinski RF_REG_PAIR(4, 2, 0x00), 79*c869f77dSJakub Kicinski RF_REG_PAIR(4, 3, 0x00), 80*c869f77dSJakub Kicinski /* LDO */ 81*c869f77dSJakub Kicinski RF_REG_PAIR(4, 4, 0x00), 82*c869f77dSJakub Kicinski RF_REG_PAIR(4, 5, 0x08), 83*c869f77dSJakub Kicinski RF_REG_PAIR(4, 6, 0x00), 84*c869f77dSJakub Kicinski /* RX */ 85*c869f77dSJakub Kicinski RF_REG_PAIR(4, 7, 0x5b), 86*c869f77dSJakub Kicinski RF_REG_PAIR(4, 8, 0x52), 87*c869f77dSJakub Kicinski RF_REG_PAIR(4, 9, 0xb6), 88*c869f77dSJakub Kicinski RF_REG_PAIR(4, 10, 0x57), 89*c869f77dSJakub Kicinski RF_REG_PAIR(4, 11, 0x33), 90*c869f77dSJakub Kicinski RF_REG_PAIR(4, 12, 0x22), 91*c869f77dSJakub Kicinski RF_REG_PAIR(4, 13, 0x3d), 92*c869f77dSJakub Kicinski RF_REG_PAIR(4, 14, 0x3e), 93*c869f77dSJakub Kicinski RF_REG_PAIR(4, 15, 0x13), 94*c869f77dSJakub Kicinski RF_REG_PAIR(4, 16, 0x22), 95*c869f77dSJakub Kicinski RF_REG_PAIR(4, 17, 0x23), 96*c869f77dSJakub Kicinski RF_REG_PAIR(4, 18, 0x02), 97*c869f77dSJakub Kicinski RF_REG_PAIR(4, 19, 0xa4), 98*c869f77dSJakub Kicinski RF_REG_PAIR(4, 20, 0x01), 99*c869f77dSJakub Kicinski RF_REG_PAIR(4, 21, 0x12), 100*c869f77dSJakub Kicinski RF_REG_PAIR(4, 22, 0x80), 101*c869f77dSJakub Kicinski RF_REG_PAIR(4, 23, 0xb3), 102*c869f77dSJakub Kicinski RF_REG_PAIR(4, 24, 0x00), /* reserved */ 103*c869f77dSJakub Kicinski RF_REG_PAIR(4, 25, 0x00), /* reserved */ 104*c869f77dSJakub Kicinski RF_REG_PAIR(4, 26, 0x00), /* reserved */ 105*c869f77dSJakub Kicinski RF_REG_PAIR(4, 27, 0x00), /* reserved */ 106*c869f77dSJakub Kicinski /* LOGEN */ 107*c869f77dSJakub Kicinski RF_REG_PAIR(4, 28, 0x18), 108*c869f77dSJakub Kicinski RF_REG_PAIR(4, 29, 0xee), 109*c869f77dSJakub Kicinski RF_REG_PAIR(4, 30, 0x6b), 110*c869f77dSJakub Kicinski RF_REG_PAIR(4, 31, 0x31), 111*c869f77dSJakub Kicinski RF_REG_PAIR(4, 32, 0x5d), 112*c869f77dSJakub Kicinski RF_REG_PAIR(4, 33, 0x00), /* reserved */ 113*c869f77dSJakub Kicinski /* TX */ 114*c869f77dSJakub Kicinski RF_REG_PAIR(4, 34, 0x96), 115*c869f77dSJakub Kicinski RF_REG_PAIR(4, 35, 0x55), 116*c869f77dSJakub Kicinski RF_REG_PAIR(4, 36, 0x08), 117*c869f77dSJakub Kicinski RF_REG_PAIR(4, 37, 0xbb), 118*c869f77dSJakub Kicinski RF_REG_PAIR(4, 38, 0xb3), 119*c869f77dSJakub Kicinski RF_REG_PAIR(4, 39, 0xb3), 120*c869f77dSJakub Kicinski RF_REG_PAIR(4, 40, 0x03), 121*c869f77dSJakub Kicinski RF_REG_PAIR(4, 41, 0x00), /* reserved */ 122*c869f77dSJakub Kicinski RF_REG_PAIR(4, 42, 0x00), /* reserved */ 123*c869f77dSJakub Kicinski RF_REG_PAIR(4, 43, 0xc5), 124*c869f77dSJakub Kicinski RF_REG_PAIR(4, 44, 0xc5), 125*c869f77dSJakub Kicinski RF_REG_PAIR(4, 45, 0xc5), 126*c869f77dSJakub Kicinski RF_REG_PAIR(4, 46, 0x07), 127*c869f77dSJakub Kicinski RF_REG_PAIR(4, 47, 0xa8), 128*c869f77dSJakub Kicinski RF_REG_PAIR(4, 48, 0xef), 129*c869f77dSJakub Kicinski RF_REG_PAIR(4, 49, 0x1a), 130*c869f77dSJakub Kicinski /* PA */ 131*c869f77dSJakub Kicinski RF_REG_PAIR(4, 54, 0x07), 132*c869f77dSJakub Kicinski RF_REG_PAIR(4, 55, 0xa7), 133*c869f77dSJakub Kicinski RF_REG_PAIR(4, 56, 0xcc), 134*c869f77dSJakub Kicinski RF_REG_PAIR(4, 57, 0x14), 135*c869f77dSJakub Kicinski RF_REG_PAIR(4, 58, 0x07), 136*c869f77dSJakub Kicinski RF_REG_PAIR(4, 59, 0xa8), 137*c869f77dSJakub Kicinski RF_REG_PAIR(4, 60, 0xd7), 138*c869f77dSJakub Kicinski RF_REG_PAIR(4, 61, 0x10), 139*c869f77dSJakub Kicinski RF_REG_PAIR(4, 62, 0x1c), 140*c869f77dSJakub Kicinski RF_REG_PAIR(4, 63, 0x00), /* reserved */ 141*c869f77dSJakub Kicinski }; 142*c869f77dSJakub Kicinski 143*c869f77dSJakub Kicinski static const struct mt76_reg_pair rf_vga[] = { 144*c869f77dSJakub Kicinski RF_REG_PAIR(5, 0, 0x47), 145*c869f77dSJakub Kicinski RF_REG_PAIR(5, 1, 0x00), 146*c869f77dSJakub Kicinski RF_REG_PAIR(5, 2, 0x00), 147*c869f77dSJakub Kicinski RF_REG_PAIR(5, 3, 0x08), 148*c869f77dSJakub Kicinski RF_REG_PAIR(5, 4, 0x04), 149*c869f77dSJakub Kicinski RF_REG_PAIR(5, 5, 0x20), 150*c869f77dSJakub Kicinski RF_REG_PAIR(5, 6, 0x3a), 151*c869f77dSJakub Kicinski RF_REG_PAIR(5, 7, 0x3a), 152*c869f77dSJakub Kicinski RF_REG_PAIR(5, 8, 0x00), 153*c869f77dSJakub Kicinski RF_REG_PAIR(5, 9, 0x00), 154*c869f77dSJakub Kicinski RF_REG_PAIR(5, 10, 0x10), 155*c869f77dSJakub Kicinski RF_REG_PAIR(5, 11, 0x10), 156*c869f77dSJakub Kicinski RF_REG_PAIR(5, 12, 0x10), 157*c869f77dSJakub Kicinski RF_REG_PAIR(5, 13, 0x10), 158*c869f77dSJakub Kicinski RF_REG_PAIR(5, 14, 0x10), 159*c869f77dSJakub Kicinski RF_REG_PAIR(5, 15, 0x20), 160*c869f77dSJakub Kicinski RF_REG_PAIR(5, 16, 0x22), 161*c869f77dSJakub Kicinski RF_REG_PAIR(5, 17, 0x7c), 162*c869f77dSJakub Kicinski RF_REG_PAIR(5, 18, 0x00), 163*c869f77dSJakub Kicinski RF_REG_PAIR(5, 19, 0x00), 164*c869f77dSJakub Kicinski RF_REG_PAIR(5, 20, 0x00), 165*c869f77dSJakub Kicinski RF_REG_PAIR(5, 21, 0xf1), 166*c869f77dSJakub Kicinski RF_REG_PAIR(5, 22, 0x11), 167*c869f77dSJakub Kicinski RF_REG_PAIR(5, 23, 0x02), 168*c869f77dSJakub Kicinski RF_REG_PAIR(5, 24, 0x41), 169*c869f77dSJakub Kicinski RF_REG_PAIR(5, 25, 0x20), 170*c869f77dSJakub Kicinski RF_REG_PAIR(5, 26, 0x00), 171*c869f77dSJakub Kicinski RF_REG_PAIR(5, 27, 0xd7), 172*c869f77dSJakub Kicinski RF_REG_PAIR(5, 28, 0xa2), 173*c869f77dSJakub Kicinski RF_REG_PAIR(5, 29, 0x20), 174*c869f77dSJakub Kicinski RF_REG_PAIR(5, 30, 0x49), 175*c869f77dSJakub Kicinski RF_REG_PAIR(5, 31, 0x20), 176*c869f77dSJakub Kicinski RF_REG_PAIR(5, 32, 0x04), 177*c869f77dSJakub Kicinski RF_REG_PAIR(5, 33, 0xf1), 178*c869f77dSJakub Kicinski RF_REG_PAIR(5, 34, 0xa1), 179*c869f77dSJakub Kicinski RF_REG_PAIR(5, 35, 0x01), 180*c869f77dSJakub Kicinski RF_REG_PAIR(5, 41, 0x00), 181*c869f77dSJakub Kicinski RF_REG_PAIR(5, 42, 0x00), 182*c869f77dSJakub Kicinski RF_REG_PAIR(5, 43, 0x00), 183*c869f77dSJakub Kicinski RF_REG_PAIR(5, 44, 0x00), 184*c869f77dSJakub Kicinski RF_REG_PAIR(5, 45, 0x00), 185*c869f77dSJakub Kicinski RF_REG_PAIR(5, 46, 0x00), 186*c869f77dSJakub Kicinski RF_REG_PAIR(5, 47, 0x00), 187*c869f77dSJakub Kicinski RF_REG_PAIR(5, 48, 0x00), 188*c869f77dSJakub Kicinski RF_REG_PAIR(5, 49, 0x00), 189*c869f77dSJakub Kicinski RF_REG_PAIR(5, 50, 0x00), 190*c869f77dSJakub Kicinski RF_REG_PAIR(5, 51, 0x00), 191*c869f77dSJakub Kicinski RF_REG_PAIR(5, 52, 0x00), 192*c869f77dSJakub Kicinski RF_REG_PAIR(5, 53, 0x00), 193*c869f77dSJakub Kicinski RF_REG_PAIR(5, 54, 0x00), 194*c869f77dSJakub Kicinski RF_REG_PAIR(5, 55, 0x00), 195*c869f77dSJakub Kicinski RF_REG_PAIR(5, 56, 0x00), 196*c869f77dSJakub Kicinski RF_REG_PAIR(5, 57, 0x00), 197*c869f77dSJakub Kicinski RF_REG_PAIR(5, 58, 0x31), 198*c869f77dSJakub Kicinski RF_REG_PAIR(5, 59, 0x31), 199*c869f77dSJakub Kicinski RF_REG_PAIR(5, 60, 0x0a), 200*c869f77dSJakub Kicinski RF_REG_PAIR(5, 61, 0x02), 201*c869f77dSJakub Kicinski RF_REG_PAIR(5, 62, 0x00), 202*c869f77dSJakub Kicinski RF_REG_PAIR(5, 63, 0x00), 203*c869f77dSJakub Kicinski }; 204*c869f77dSJakub Kicinski 205*c869f77dSJakub Kicinski /* TODO: BBP178 is set to 0xff for "CCK CH14 OBW" which overrides the settings 206*c869f77dSJakub Kicinski * from channel switching. Seems stupid at best. 207*c869f77dSJakub Kicinski */ 208*c869f77dSJakub Kicinski static const struct mt76_reg_pair bbp_high_temp[] = { 209*c869f77dSJakub Kicinski { 75, 0x60 }, 210*c869f77dSJakub Kicinski { 92, 0x02 }, 211*c869f77dSJakub Kicinski { 178, 0xff }, /* For CCK CH14 OBW */ 212*c869f77dSJakub Kicinski { 195, 0x88 }, { 196, 0x60 }, 213*c869f77dSJakub Kicinski }, bbp_high_temp_bw20[] = { 214*c869f77dSJakub Kicinski { 69, 0x12 }, 215*c869f77dSJakub Kicinski { 91, 0x07 }, 216*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x17 }, 217*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x06 }, 218*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x12 }, 219*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x17 }, 220*c869f77dSJakub Kicinski }, bbp_high_temp_bw40[] = { 221*c869f77dSJakub Kicinski { 69, 0x15 }, 222*c869f77dSJakub Kicinski { 91, 0x04 }, 223*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x12 }, 224*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x08 }, 225*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x15 }, 226*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x16 }, 227*c869f77dSJakub Kicinski }, bbp_low_temp[] = { 228*c869f77dSJakub Kicinski { 178, 0xff }, /* For CCK CH14 OBW */ 229*c869f77dSJakub Kicinski }, bbp_low_temp_bw20[] = { 230*c869f77dSJakub Kicinski { 69, 0x12 }, 231*c869f77dSJakub Kicinski { 75, 0x5e }, 232*c869f77dSJakub Kicinski { 91, 0x07 }, 233*c869f77dSJakub Kicinski { 92, 0x02 }, 234*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x17 }, 235*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x06 }, 236*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x12 }, 237*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x17 }, 238*c869f77dSJakub Kicinski { 195, 0x88 }, { 196, 0x5e }, 239*c869f77dSJakub Kicinski }, bbp_low_temp_bw40[] = { 240*c869f77dSJakub Kicinski { 69, 0x15 }, 241*c869f77dSJakub Kicinski { 75, 0x5c }, 242*c869f77dSJakub Kicinski { 91, 0x04 }, 243*c869f77dSJakub Kicinski { 92, 0x03 }, 244*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x10 }, 245*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x08 }, 246*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x15 }, 247*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x16 }, 248*c869f77dSJakub Kicinski { 195, 0x88 }, { 196, 0x5b }, 249*c869f77dSJakub Kicinski }, bbp_normal_temp[] = { 250*c869f77dSJakub Kicinski { 75, 0x60 }, 251*c869f77dSJakub Kicinski { 92, 0x02 }, 252*c869f77dSJakub Kicinski { 178, 0xff }, /* For CCK CH14 OBW */ 253*c869f77dSJakub Kicinski { 195, 0x88 }, { 196, 0x60 }, 254*c869f77dSJakub Kicinski }, bbp_normal_temp_bw20[] = { 255*c869f77dSJakub Kicinski { 69, 0x12 }, 256*c869f77dSJakub Kicinski { 91, 0x07 }, 257*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x17 }, 258*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x06 }, 259*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x12 }, 260*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x17 }, 261*c869f77dSJakub Kicinski }, bbp_normal_temp_bw40[] = { 262*c869f77dSJakub Kicinski { 69, 0x15 }, 263*c869f77dSJakub Kicinski { 91, 0x04 }, 264*c869f77dSJakub Kicinski { 195, 0x23 }, { 196, 0x12 }, 265*c869f77dSJakub Kicinski { 195, 0x24 }, { 196, 0x08 }, 266*c869f77dSJakub Kicinski { 195, 0x81 }, { 196, 0x15 }, 267*c869f77dSJakub Kicinski { 195, 0x83 }, { 196, 0x16 }, 268*c869f77dSJakub Kicinski }; 269*c869f77dSJakub Kicinski 270*c869f77dSJakub Kicinski #define BBP_TABLE(arr) { arr, ARRAY_SIZE(arr), } 271*c869f77dSJakub Kicinski 272*c869f77dSJakub Kicinski static const struct reg_table { 273*c869f77dSJakub Kicinski const struct mt76_reg_pair *regs; 274*c869f77dSJakub Kicinski size_t n; 275*c869f77dSJakub Kicinski } bbp_mode_table[3][3] = { 276*c869f77dSJakub Kicinski { 277*c869f77dSJakub Kicinski BBP_TABLE(bbp_normal_temp_bw20), 278*c869f77dSJakub Kicinski BBP_TABLE(bbp_normal_temp_bw40), 279*c869f77dSJakub Kicinski BBP_TABLE(bbp_normal_temp), 280*c869f77dSJakub Kicinski }, { 281*c869f77dSJakub Kicinski BBP_TABLE(bbp_high_temp_bw20), 282*c869f77dSJakub Kicinski BBP_TABLE(bbp_high_temp_bw40), 283*c869f77dSJakub Kicinski BBP_TABLE(bbp_high_temp), 284*c869f77dSJakub Kicinski }, { 285*c869f77dSJakub Kicinski BBP_TABLE(bbp_low_temp_bw20), 286*c869f77dSJakub Kicinski BBP_TABLE(bbp_low_temp_bw40), 287*c869f77dSJakub Kicinski BBP_TABLE(bbp_low_temp), 288*c869f77dSJakub Kicinski } 289*c869f77dSJakub Kicinski }; 290*c869f77dSJakub Kicinski 291*c869f77dSJakub Kicinski #endif 292