GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / net / wireless / broadcom / b43 / radio_2059.h
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_ */