blob: 9c53c4c44e3051e4bc36e16c426b3ab89d259cc2 [file] [log] [blame]
Michael Buesch53a6e232008-01-13 21:23:44 +01001#ifndef B43_TABLES_NPHY_H_
2#define B43_TABLES_NPHY_H_
3
4#include <linux/types.h>
5
6
Michael Bueschd1591312008-01-14 00:05:57 +01007struct b43_nphy_channeltab_entry {
8 /* The channel number */
9 u8 channel;
10 /* Radio register values on channelswitch */
11 u8 radio_pll_ref;
12 u8 radio_rf_pllmod0;
13 u8 radio_rf_pllmod1;
14 u8 radio_vco_captail;
15 u8 radio_vco_cal1;
16 u8 radio_vco_cal2;
17 u8 radio_pll_lfc1;
18 u8 radio_pll_lfr1;
19 u8 radio_pll_lfc2;
20 u8 radio_lgbuf_cenbuf;
21 u8 radio_lgen_tune1;
22 u8 radio_lgen_tune2;
23 u8 radio_c1_lgbuf_atune;
24 u8 radio_c1_lgbuf_gtune;
25 u8 radio_c1_rx_rfr1;
26 u8 radio_c1_tx_pgapadtn;
27 u8 radio_c1_tx_mxbgtrim;
28 u8 radio_c2_lgbuf_atune;
29 u8 radio_c2_lgbuf_gtune;
30 u8 radio_c2_rx_rfr1;
31 u8 radio_c2_tx_pgapadtn;
32 u8 radio_c2_tx_mxbgtrim;
33 /* PHY register values on channelswitch */
34 u16 phy_bw1a;
35 u16 phy_bw2;
36 u16 phy_bw3;
37 u16 phy_bw4;
38 u16 phy_bw5;
39 u16 phy_bw6;
40 /* The channel frequency in MHz */
41 u16 freq;
42 /* An unknown value */
43 u16 unk2;
44};
45
46
Michael Buesch53a6e232008-01-13 21:23:44 +010047struct b43_wldev;
48
49/* Upload the default register value table.
50 * If "ghz5" is true, we upload the 5Ghz table. Otherwise the 2.4Ghz
51 * table is uploaded. If "ignore_uploadflag" is true, we upload any value
52 * and ignore the "UPLOAD" flag. */
53void b2055_upload_inittab(struct b43_wldev *dev,
54 bool ghz5, bool ignore_uploadflag);
55
56
Michael Bueschd1591312008-01-14 00:05:57 +010057/* Get the NPHY Channel Switch Table entry for a channel number.
58 * Returns NULL on failure to find an entry. */
59const struct b43_nphy_channeltab_entry *
60b43_nphy_get_chantabent(struct b43_wldev *dev, u8 channel);
61
62
Michael Buesch53a6e232008-01-13 21:23:44 +010063#endif /* B43_TABLES_NPHY_H_ */