| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef B43_RADIO_2059_H_ |
| #define B43_RADIO_2059_H_ |
| |
| #include <linux/types.h> |
| |
| #include "phy_ht.h" |
| |
| #define R2059_C1 0x000 |
| #define R2059_C2 0x400 |
| #define R2059_C3 0x800 |
| #define R2059_ALL 0xC00 |
| |
| #define R2059_RCAL_CONFIG 0x004 |
| #define R2059_RFPLL_MASTER 0x011 |
| #define R2059_RFPLL_MISC_EN 0x02b |
| #define R2059_RFPLL_MISC_CAL_RESETN 0x02e |
| #define R2059_XTAL_CONFIG2 0x0c0 |
| #define R2059_RCCAL_START_R1_Q1_P1 0x13c |
| #define R2059_RCCAL_X1 0x13d |
| #define R2059_RCCAL_TRC0 0x13e |
| #define R2059_RCCAL_DONE_OSCCAP 0x140 |
| #define R2059_RCAL_STATUS 0x145 |
| #define R2059_RCCAL_MASTER 0x17f |
| |
| /* Values for various registers uploaded on channel switching */ |
| struct b43_phy_ht_channeltab_e_radio2059 { |
| /* The channel frequency in MHz */ |
| u16 freq; |
| /* Values for radio registers */ |
| u8 radio_syn16; |
| u8 radio_syn17; |
| u8 radio_syn22; |
| u8 radio_syn25; |
| u8 radio_syn27; |
| u8 radio_syn28; |
| u8 radio_syn29; |
| u8 radio_syn2c; |
| u8 radio_syn2d; |
| u8 radio_syn37; |
| u8 radio_syn41; |
| u8 radio_syn43; |
| u8 radio_syn47; |
| u8 radio_rxtx4a; |
| u8 radio_rxtx58; |
| u8 radio_rxtx5a; |
| u8 radio_rxtx6a; |
| u8 radio_rxtx6d; |
| u8 radio_rxtx6e; |
| u8 radio_rxtx92; |
| u8 radio_rxtx98; |
| /* Values for PHY registers */ |
| struct b43_phy_ht_channeltab_e_phy phy_regs; |
| }; |
| |
| void r2059_upload_inittabs(struct b43_wldev *dev); |
| |
| const struct b43_phy_ht_channeltab_e_radio2059 |
| *b43_phy_ht_get_channeltab_e_r2059(struct b43_wldev *dev, u16 freq); |
| |
| #endif /* B43_RADIO_2059_H_ */ |