1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 258619b14SKalle Valo #ifndef B43_RADIO_2059_H_ 358619b14SKalle Valo #define B43_RADIO_2059_H_ 458619b14SKalle Valo 558619b14SKalle Valo #include <linux/types.h> 658619b14SKalle Valo 758619b14SKalle Valo #include "phy_ht.h" 858619b14SKalle Valo 958619b14SKalle Valo #define R2059_C1 0x000 1058619b14SKalle Valo #define R2059_C2 0x400 1158619b14SKalle Valo #define R2059_C3 0x800 1258619b14SKalle Valo #define R2059_ALL 0xC00 1358619b14SKalle Valo 1458619b14SKalle Valo #define R2059_RCAL_CONFIG 0x004 1558619b14SKalle Valo #define R2059_RFPLL_MASTER 0x011 1658619b14SKalle Valo #define R2059_RFPLL_MISC_EN 0x02b 1758619b14SKalle Valo #define R2059_RFPLL_MISC_CAL_RESETN 0x02e 1858619b14SKalle Valo #define R2059_XTAL_CONFIG2 0x0c0 1958619b14SKalle Valo #define R2059_RCCAL_START_R1_Q1_P1 0x13c 2058619b14SKalle Valo #define R2059_RCCAL_X1 0x13d 2158619b14SKalle Valo #define R2059_RCCAL_TRC0 0x13e 2258619b14SKalle Valo #define R2059_RCCAL_DONE_OSCCAP 0x140 2358619b14SKalle Valo #define R2059_RCAL_STATUS 0x145 2458619b14SKalle Valo #define R2059_RCCAL_MASTER 0x17f 2558619b14SKalle Valo 2658619b14SKalle Valo /* Values for various registers uploaded on channel switching */ 2758619b14SKalle Valo struct b43_phy_ht_channeltab_e_radio2059 { 2858619b14SKalle Valo /* The channel frequency in MHz */ 2958619b14SKalle Valo u16 freq; 3058619b14SKalle Valo /* Values for radio registers */ 3158619b14SKalle Valo u8 radio_syn16; 3258619b14SKalle Valo u8 radio_syn17; 3358619b14SKalle Valo u8 radio_syn22; 3458619b14SKalle Valo u8 radio_syn25; 3558619b14SKalle Valo u8 radio_syn27; 3658619b14SKalle Valo u8 radio_syn28; 3758619b14SKalle Valo u8 radio_syn29; 3858619b14SKalle Valo u8 radio_syn2c; 3958619b14SKalle Valo u8 radio_syn2d; 4058619b14SKalle Valo u8 radio_syn37; 4158619b14SKalle Valo u8 radio_syn41; 4258619b14SKalle Valo u8 radio_syn43; 4358619b14SKalle Valo u8 radio_syn47; 4458619b14SKalle Valo u8 radio_rxtx4a; 4558619b14SKalle Valo u8 radio_rxtx58; 4658619b14SKalle Valo u8 radio_rxtx5a; 4758619b14SKalle Valo u8 radio_rxtx6a; 4858619b14SKalle Valo u8 radio_rxtx6d; 4958619b14SKalle Valo u8 radio_rxtx6e; 5058619b14SKalle Valo u8 radio_rxtx92; 5158619b14SKalle Valo u8 radio_rxtx98; 5258619b14SKalle Valo /* Values for PHY registers */ 5358619b14SKalle Valo struct b43_phy_ht_channeltab_e_phy phy_regs; 5458619b14SKalle Valo }; 5558619b14SKalle Valo 5658619b14SKalle Valo void r2059_upload_inittabs(struct b43_wldev *dev); 5758619b14SKalle Valo 5858619b14SKalle Valo const struct b43_phy_ht_channeltab_e_radio2059 5958619b14SKalle Valo *b43_phy_ht_get_channeltab_e_r2059(struct b43_wldev *dev, u16 freq); 6058619b14SKalle Valo 6158619b14SKalle Valo #endif /* B43_RADIO_2059_H_ */ 62