0001
0002 #ifndef B43_RADIO_2055_H_
0003 #define B43_RADIO_2055_H_
0004
0005 #include <linux/types.h>
0006
0007 #include "tables_nphy.h"
0008
0009 #define B2055_GEN_SPARE 0x00
0010 #define B2055_SP_PINPD 0x02
0011 #define B2055_C1_SP_RSSI 0x03
0012 #define B2055_C1_SP_PDMISC 0x04
0013 #define B2055_C2_SP_RSSI 0x05
0014 #define B2055_C2_SP_PDMISC 0x06
0015 #define B2055_C1_SP_RXGC1 0x07
0016 #define B2055_C1_SP_RXGC2 0x08
0017 #define B2055_C2_SP_RXGC1 0x09
0018 #define B2055_C2_SP_RXGC2 0x0A
0019 #define B2055_C1_SP_LPFBWSEL 0x0B
0020 #define B2055_C2_SP_LPFBWSEL 0x0C
0021 #define B2055_C1_SP_TXGC1 0x0D
0022 #define B2055_C1_SP_TXGC2 0x0E
0023 #define B2055_C2_SP_TXGC1 0x0F
0024 #define B2055_C2_SP_TXGC2 0x10
0025 #define B2055_MASTER1 0x11
0026 #define B2055_MASTER2 0x12
0027 #define B2055_PD_LGEN 0x13
0028 #define B2055_PD_PLLTS 0x14
0029 #define B2055_C1_PD_LGBUF 0x15
0030 #define B2055_C1_PD_TX 0x16
0031 #define B2055_C1_PD_RXTX 0x17
0032 #define B2055_C1_PD_RSSIMISC 0x18
0033 #define B2055_C2_PD_LGBUF 0x19
0034 #define B2055_C2_PD_TX 0x1A
0035 #define B2055_C2_PD_RXTX 0x1B
0036 #define B2055_C2_PD_RSSIMISC 0x1C
0037 #define B2055_PWRDET_LGEN 0x1D
0038 #define B2055_C1_PWRDET_LGBUF 0x1E
0039 #define B2055_C1_PWRDET_RXTX 0x1F
0040 #define B2055_C2_PWRDET_LGBUF 0x20
0041 #define B2055_C2_PWRDET_RXTX 0x21
0042 #define B2055_RRCCAL_CS 0x22
0043 #define B2055_RRCCAL_NOPTSEL 0x23
0044 #define B2055_CAL_MISC 0x24
0045 #define B2055_CAL_COUT 0x25
0046 #define B2055_CAL_COUT2 0x26
0047 #define B2055_CAL_CVARCTL 0x27
0048 #define B2055_CAL_RVARCTL 0x28
0049 #define B2055_CAL_LPOCTL 0x29
0050 #define B2055_CAL_TS 0x2A
0051 #define B2055_CAL_RCCALRTS 0x2B
0052 #define B2055_CAL_RCALRTS 0x2C
0053 #define B2055_PADDRV 0x2D
0054 #define B2055_XOCTL1 0x2E
0055 #define B2055_XOCTL2 0x2F
0056 #define B2055_XOREGUL 0x30
0057 #define B2055_XOMISC 0x31
0058 #define B2055_PLL_LFC1 0x32
0059 #define B2055_PLL_CALVTH 0x33
0060 #define B2055_PLL_LFC2 0x34
0061 #define B2055_PLL_REF 0x35
0062 #define B2055_PLL_LFR1 0x36
0063 #define B2055_PLL_PFDCP 0x37
0064 #define B2055_PLL_IDAC_CPOPAMP 0x38
0065 #define B2055_PLL_CPREG 0x39
0066 #define B2055_PLL_RCAL 0x3A
0067 #define B2055_RF_PLLMOD0 0x3B
0068 #define B2055_RF_PLLMOD1 0x3C
0069 #define B2055_RF_MMDIDAC1 0x3D
0070 #define B2055_RF_MMDIDAC0 0x3E
0071 #define B2055_RF_MMDSP 0x3F
0072 #define B2055_VCO_CAL1 0x40
0073 #define B2055_VCO_CAL2 0x41
0074 #define B2055_VCO_CAL3 0x42
0075 #define B2055_VCO_CAL4 0x43
0076 #define B2055_VCO_CAL5 0x44
0077 #define B2055_VCO_CAL6 0x45
0078 #define B2055_VCO_CAL7 0x46
0079 #define B2055_VCO_CAL8 0x47
0080 #define B2055_VCO_CAL9 0x48
0081 #define B2055_VCO_CAL10 0x49
0082 #define B2055_VCO_CAL11 0x4A
0083 #define B2055_VCO_CAL12 0x4B
0084 #define B2055_VCO_CAL13 0x4C
0085 #define B2055_VCO_CAL14 0x4D
0086 #define B2055_VCO_CAL15 0x4E
0087 #define B2055_VCO_CAL16 0x4F
0088 #define B2055_VCO_KVCO 0x50
0089 #define B2055_VCO_CAPTAIL 0x51
0090 #define B2055_VCO_IDACVCO 0x52
0091 #define B2055_VCO_REG 0x53
0092 #define B2055_PLL_RFVTH 0x54
0093 #define B2055_LGBUF_CENBUF 0x55
0094 #define B2055_LGEN_TUNE1 0x56
0095 #define B2055_LGEN_TUNE2 0x57
0096 #define B2055_LGEN_IDAC1 0x58
0097 #define B2055_LGEN_IDAC2 0x59
0098 #define B2055_LGEN_BIASC 0x5A
0099 #define B2055_LGEN_BIASIDAC 0x5B
0100 #define B2055_LGEN_RCAL 0x5C
0101 #define B2055_LGEN_DIV 0x5D
0102 #define B2055_LGEN_SPARE2 0x5E
0103 #define B2055_C1_LGBUF_ATUNE 0x5F
0104 #define B2055_C1_LGBUF_GTUNE 0x60
0105 #define B2055_C1_LGBUF_DIV 0x61
0106 #define B2055_C1_LGBUF_AIDAC 0x62
0107 #define B2055_C1_LGBUF_GIDAC 0x63
0108 #define B2055_C1_LGBUF_IDACFO 0x64
0109 #define B2055_C1_LGBUF_SPARE 0x65
0110 #define B2055_C1_RX_RFSPC1 0x66
0111 #define B2055_C1_RX_RFR1 0x67
0112 #define B2055_C1_RX_RFR2 0x68
0113 #define B2055_C1_RX_RFRCAL 0x69
0114 #define B2055_C1_RX_BB_BLCMP 0x6A
0115 #define B2055_C1_RX_BB_LPF 0x6B
0116 #define B2055_C1_RX_BB_MIDACHP 0x6C
0117 #define B2055_C1_RX_BB_VGA1IDAC 0x6D
0118 #define B2055_C1_RX_BB_VGA2IDAC 0x6E
0119 #define B2055_C1_RX_BB_VGA3IDAC 0x6F
0120 #define B2055_C1_RX_BB_BUFOCTL 0x70
0121 #define B2055_C1_RX_BB_RCCALCTL 0x71
0122 #define B2055_C1_RX_BB_RSSICTL1 0x72
0123 #define B2055_C1_RX_BB_RSSICTL2 0x73
0124 #define B2055_C1_RX_BB_RSSICTL3 0x74
0125 #define B2055_C1_RX_BB_RSSICTL4 0x75
0126 #define B2055_C1_RX_BB_RSSICTL5 0x76
0127 #define B2055_C1_RX_BB_REG 0x77
0128 #define B2055_C1_RX_BB_SPARE1 0x78
0129 #define B2055_C1_RX_TXBBRCAL 0x79
0130 #define B2055_C1_TX_RF_SPGA 0x7A
0131 #define B2055_C1_TX_RF_SPAD 0x7B
0132 #define B2055_C1_TX_RF_CNTPGA1 0x7C
0133 #define B2055_C1_TX_RF_CNTPAD1 0x7D
0134 #define B2055_C1_TX_RF_PGAIDAC 0x7E
0135 #define B2055_C1_TX_PGAPADTN 0x7F
0136 #define B2055_C1_TX_PADIDAC1 0x80
0137 #define B2055_C1_TX_PADIDAC2 0x81
0138 #define B2055_C1_TX_MXBGTRIM 0x82
0139 #define B2055_C1_TX_RF_RCAL 0x83
0140 #define B2055_C1_TX_RF_PADTSSI1 0x84
0141 #define B2055_C1_TX_RF_PADTSSI2 0x85
0142 #define B2055_C1_TX_RF_SPARE 0x86
0143 #define B2055_C1_TX_RF_IQCAL1 0x87
0144 #define B2055_C1_TX_RF_IQCAL2 0x88
0145 #define B2055_C1_TXBB_RCCAL 0x89
0146 #define B2055_C1_TXBB_LPF1 0x8A
0147 #define B2055_C1_TX_VOSCNCL 0x8B
0148 #define B2055_C1_TX_LPF_MXGMIDAC 0x8C
0149 #define B2055_C1_TX_BB_MXGM 0x8D
0150 #define B2055_C2_LGBUF_ATUNE 0x8E
0151 #define B2055_C2_LGBUF_GTUNE 0x8F
0152 #define B2055_C2_LGBUF_DIV 0x90
0153 #define B2055_C2_LGBUF_AIDAC 0x91
0154 #define B2055_C2_LGBUF_GIDAC 0x92
0155 #define B2055_C2_LGBUF_IDACFO 0x93
0156 #define B2055_C2_LGBUF_SPARE 0x94
0157 #define B2055_C2_RX_RFSPC1 0x95
0158 #define B2055_C2_RX_RFR1 0x96
0159 #define B2055_C2_RX_RFR2 0x97
0160 #define B2055_C2_RX_RFRCAL 0x98
0161 #define B2055_C2_RX_BB_BLCMP 0x99
0162 #define B2055_C2_RX_BB_LPF 0x9A
0163 #define B2055_C2_RX_BB_MIDACHP 0x9B
0164 #define B2055_C2_RX_BB_VGA1IDAC 0x9C
0165 #define B2055_C2_RX_BB_VGA2IDAC 0x9D
0166 #define B2055_C2_RX_BB_VGA3IDAC 0x9E
0167 #define B2055_C2_RX_BB_BUFOCTL 0x9F
0168 #define B2055_C2_RX_BB_RCCALCTL 0xA0
0169 #define B2055_C2_RX_BB_RSSICTL1 0xA1
0170 #define B2055_C2_RX_BB_RSSICTL2 0xA2
0171 #define B2055_C2_RX_BB_RSSICTL3 0xA3
0172 #define B2055_C2_RX_BB_RSSICTL4 0xA4
0173 #define B2055_C2_RX_BB_RSSICTL5 0xA5
0174 #define B2055_C2_RX_BB_REG 0xA6
0175 #define B2055_C2_RX_BB_SPARE1 0xA7
0176 #define B2055_C2_RX_TXBBRCAL 0xA8
0177 #define B2055_C2_TX_RF_SPGA 0xA9
0178 #define B2055_C2_TX_RF_SPAD 0xAA
0179 #define B2055_C2_TX_RF_CNTPGA1 0xAB
0180 #define B2055_C2_TX_RF_CNTPAD1 0xAC
0181 #define B2055_C2_TX_RF_PGAIDAC 0xAD
0182 #define B2055_C2_TX_PGAPADTN 0xAE
0183 #define B2055_C2_TX_PADIDAC1 0xAF
0184 #define B2055_C2_TX_PADIDAC2 0xB0
0185 #define B2055_C2_TX_MXBGTRIM 0xB1
0186 #define B2055_C2_TX_RF_RCAL 0xB2
0187 #define B2055_C2_TX_RF_PADTSSI1 0xB3
0188 #define B2055_C2_TX_RF_PADTSSI2 0xB4
0189 #define B2055_C2_TX_RF_SPARE 0xB5
0190 #define B2055_C2_TX_RF_IQCAL1 0xB6
0191 #define B2055_C2_TX_RF_IQCAL2 0xB7
0192 #define B2055_C2_TXBB_RCCAL 0xB8
0193 #define B2055_C2_TXBB_LPF1 0xB9
0194 #define B2055_C2_TX_VOSCNCL 0xBA
0195 #define B2055_C2_TX_LPF_MXGMIDAC 0xBB
0196 #define B2055_C2_TX_BB_MXGM 0xBC
0197 #define B2055_PRG_GCHP21 0xBD
0198 #define B2055_PRG_GCHP22 0xBE
0199 #define B2055_PRG_GCHP23 0xBF
0200 #define B2055_PRG_GCHP24 0xC0
0201 #define B2055_PRG_GCHP25 0xC1
0202 #define B2055_PRG_GCHP26 0xC2
0203 #define B2055_PRG_GCHP27 0xC3
0204 #define B2055_PRG_GCHP28 0xC4
0205 #define B2055_PRG_GCHP29 0xC5
0206 #define B2055_PRG_GCHP30 0xC6
0207 #define B2055_C1_LNA_GAINBST 0xCD
0208 #define B2055_C1_B0NB_RSSIVCM 0xD2
0209 #define B2055_C1_GENSPARE2 0xD6
0210 #define B2055_C2_LNA_GAINBST 0xD9
0211 #define B2055_C2_B0NB_RSSIVCM 0xDE
0212 #define B2055_C2_GENSPARE2 0xE2
0213
0214 struct b43_nphy_channeltab_entry_rev2 {
0215
0216 u8 channel;
0217
0218 u16 freq;
0219
0220 u16 unk2;
0221
0222 u8 radio_pll_ref;
0223 u8 radio_rf_pllmod0;
0224 u8 radio_rf_pllmod1;
0225 u8 radio_vco_captail;
0226 u8 radio_vco_cal1;
0227 u8 radio_vco_cal2;
0228 u8 radio_pll_lfc1;
0229 u8 radio_pll_lfr1;
0230 u8 radio_pll_lfc2;
0231 u8 radio_lgbuf_cenbuf;
0232 u8 radio_lgen_tune1;
0233 u8 radio_lgen_tune2;
0234 u8 radio_c1_lgbuf_atune;
0235 u8 radio_c1_lgbuf_gtune;
0236 u8 radio_c1_rx_rfr1;
0237 u8 radio_c1_tx_pgapadtn;
0238 u8 radio_c1_tx_mxbgtrim;
0239 u8 radio_c2_lgbuf_atune;
0240 u8 radio_c2_lgbuf_gtune;
0241 u8 radio_c2_rx_rfr1;
0242 u8 radio_c2_tx_pgapadtn;
0243 u8 radio_c2_tx_mxbgtrim;
0244
0245 struct b43_phy_n_sfo_cfg phy_regs;
0246 };
0247
0248
0249
0250
0251
0252 void b2055_upload_inittab(struct b43_wldev *dev,
0253 bool ghz5, bool ignore_uploadflag);
0254
0255
0256
0257 const struct b43_nphy_channeltab_entry_rev2 *
0258 b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel);
0259
0260 #endif