62 lines
1.4 KiB
C
62 lines
1.4 KiB
C
/* 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_ */
|