xref: /openbmc/linux/drivers/net/wireless/broadcom/b43/radio_2059.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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