hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* 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_ */