xref: /openbmc/linux/drivers/net/wireless/broadcom/b43/tables_phy_lcn.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
258619b14SKalle Valo #ifndef B43_TABLES_PHY_LCN_H_
358619b14SKalle Valo #define B43_TABLES_PHY_LCN_H_
458619b14SKalle Valo 
558619b14SKalle Valo /* The LCN-PHY tables. */
658619b14SKalle Valo #define B43_LCNTAB_TYPEMASK		0xF0000000
758619b14SKalle Valo #define B43_LCNTAB_8BIT			0x10000000
858619b14SKalle Valo #define B43_LCNTAB_16BIT		0x20000000
958619b14SKalle Valo #define B43_LCNTAB_32BIT		0x30000000
1058619b14SKalle Valo #define B43_LCNTAB8(table, offset)	(((table) << 10) | (offset) | B43_LCNTAB_8BIT)
1158619b14SKalle Valo #define B43_LCNTAB16(table, offset)	(((table) << 10) | (offset) | B43_LCNTAB_16BIT)
1258619b14SKalle Valo #define B43_LCNTAB32(table, offset)	(((table) << 10) | (offset) | B43_LCNTAB_32BIT)
1358619b14SKalle Valo 
1458619b14SKalle Valo #define B43_LCNTAB_TX_GAIN_SIZE		128
1558619b14SKalle Valo 
1658619b14SKalle Valo u32 b43_lcntab_read(struct b43_wldev *dev, u32 offset);
1758619b14SKalle Valo void b43_lcntab_read_bulk(struct b43_wldev *dev, u32 offset,
1858619b14SKalle Valo 			  unsigned int nr_elements, void *_data);
1958619b14SKalle Valo void b43_lcntab_write(struct b43_wldev *dev, u32 offset, u32 value);
2058619b14SKalle Valo void b43_lcntab_write_bulk(struct b43_wldev *dev, u32 offset,
2158619b14SKalle Valo 			   unsigned int nr_elements, const void *_data);
2258619b14SKalle Valo 
2358619b14SKalle Valo void b43_phy_lcn_tables_init(struct b43_wldev *dev);
2458619b14SKalle Valo 
2558619b14SKalle Valo #endif /* B43_TABLES_PHY_LCN_H_ */
26