1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef B43_RADIO_2059_H_ 3 #define B43_RADIO_2059_H_ 4 5 #include <linux/types.h> 6 7 #include "phy_ht.h" 8 9 #define R2059_C1 0x000 10 #define R2059_C2 0x400 11 #define R2059_C3 0x800 12 #define R2059_ALL 0xC00 13 14 #define R2059_RCAL_CONFIG 0x004 15 #define R2059_RFPLL_MASTER 0x011 16 #define R2059_RFPLL_MISC_EN 0x02b 17 #define R2059_RFPLL_MISC_CAL_RESETN 0x02e 18 #define R2059_XTAL_CONFIG2 0x0c0 19 #define R2059_RCCAL_START_R1_Q1_P1 0x13c 20 #define R2059_RCCAL_X1 0x13d 21 #define R2059_RCCAL_TRC0 0x13e 22 #define R2059_RCCAL_DONE_OSCCAP 0x140 23 #define R2059_RCAL_STATUS 0x145 24 #define R2059_RCCAL_MASTER 0x17f 25 26 /* Values for various registers uploaded on channel switching */ 27 struct b43_phy_ht_channeltab_e_radio2059 { 28 /* The channel frequency in MHz */ 29 u16 freq; 30 /* Values for radio registers */ 31 u8 radio_syn16; 32 u8 radio_syn17; 33 u8 radio_syn22; 34 u8 radio_syn25; 35 u8 radio_syn27; 36 u8 radio_syn28; 37 u8 radio_syn29; 38 u8 radio_syn2c; 39 u8 radio_syn2d; 40 u8 radio_syn37; 41 u8 radio_syn41; 42 u8 radio_syn43; 43 u8 radio_syn47; 44 u8 radio_rxtx4a; 45 u8 radio_rxtx58; 46 u8 radio_rxtx5a; 47 u8 radio_rxtx6a; 48 u8 radio_rxtx6d; 49 u8 radio_rxtx6e; 50 u8 radio_rxtx92; 51 u8 radio_rxtx98; 52 /* Values for PHY registers */ 53 struct b43_phy_ht_channeltab_e_phy phy_regs; 54 }; 55 56 void r2059_upload_inittabs(struct b43_wldev *dev); 57 58 const struct b43_phy_ht_channeltab_e_radio2059 59 *b43_phy_ht_get_channeltab_e_r2059(struct b43_wldev *dev, u16 freq); 60 61 #endif /* B43_RADIO_2059_H_ */ 62