0001
0002 #ifndef B43_RADIO_2059_H_
0003 #define B43_RADIO_2059_H_
0004
0005 #include <linux/types.h>
0006
0007 #include "phy_ht.h"
0008
0009 #define R2059_C1 0x000
0010 #define R2059_C2 0x400
0011 #define R2059_C3 0x800
0012 #define R2059_ALL 0xC00
0013
0014 #define R2059_RCAL_CONFIG 0x004
0015 #define R2059_RFPLL_MASTER 0x011
0016 #define R2059_RFPLL_MISC_EN 0x02b
0017 #define R2059_RFPLL_MISC_CAL_RESETN 0x02e
0018 #define R2059_XTAL_CONFIG2 0x0c0
0019 #define R2059_RCCAL_START_R1_Q1_P1 0x13c
0020 #define R2059_RCCAL_X1 0x13d
0021 #define R2059_RCCAL_TRC0 0x13e
0022 #define R2059_RCCAL_DONE_OSCCAP 0x140
0023 #define R2059_RCAL_STATUS 0x145
0024 #define R2059_RCCAL_MASTER 0x17f
0025
0026
0027 struct b43_phy_ht_channeltab_e_radio2059 {
0028
0029 u16 freq;
0030
0031 u8 radio_syn16;
0032 u8 radio_syn17;
0033 u8 radio_syn22;
0034 u8 radio_syn25;
0035 u8 radio_syn27;
0036 u8 radio_syn28;
0037 u8 radio_syn29;
0038 u8 radio_syn2c;
0039 u8 radio_syn2d;
0040 u8 radio_syn37;
0041 u8 radio_syn41;
0042 u8 radio_syn43;
0043 u8 radio_syn47;
0044 u8 radio_rxtx4a;
0045 u8 radio_rxtx58;
0046 u8 radio_rxtx5a;
0047 u8 radio_rxtx6a;
0048 u8 radio_rxtx6d;
0049 u8 radio_rxtx6e;
0050 u8 radio_rxtx92;
0051 u8 radio_rxtx98;
0052
0053 struct b43_phy_ht_channeltab_e_phy phy_regs;
0054 };
0055
0056 void r2059_upload_inittabs(struct b43_wldev *dev);
0057
0058 const struct b43_phy_ht_channeltab_e_radio2059
0059 *b43_phy_ht_get_channeltab_e_r2059(struct b43_wldev *dev, u16 freq);
0060
0061 #endif