drivers/net/wireless/broadcom/b43legacy/phy.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/broadcom/b43legacy/phy.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/broadcom/b43legacy/phy.h
Extension
.h
Size
9435 bytes
Lines
197
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

Broadcom B43legacy wireless driver

  Copyright (c) 2005 Martin Langer <martin-langer@gmx.de>,
		     Stefano Brivio <stefano.brivio@polimi.it>
		     Michael Buesch <m@bues.ch>
		     Danny van Dyk <kugelfang@gentoo.org>
		     Andreas Jaggi <andreas.jaggi@waterwave.ch>
  Copyright (c) 2007 Larry Finger <Larry.Finger@lwfinger.net>

  Some parts of the code in this file are derived from the ipw2200
  driver  Copyright(c) 2003 - 2004 Intel Corporation.


*/

#ifndef B43legacy_PHY_H_
#define B43legacy_PHY_H_

#include <linux/types.h>

enum {
	B43legacy_ANTENNA0,	  /* Antenna 0 */
	B43legacy_ANTENNA1,	  /* Antenna 0 */
	B43legacy_ANTENNA_AUTO1,  /* Automatic, starting with antenna 1 */
	B43legacy_ANTENNA_AUTO0,  /* Automatic, starting with antenna 0 */

	B43legacy_ANTENNA_AUTO	= B43legacy_ANTENNA_AUTO0,
	B43legacy_ANTENNA_DEFAULT = B43legacy_ANTENNA_AUTO,
};

enum {
	B43legacy_INTERFMODE_NONE,
	B43legacy_INTERFMODE_NONWLAN,
	B43legacy_INTERFMODE_MANUALWLAN,
	B43legacy_INTERFMODE_AUTOWLAN,
};

/*** PHY Registers ***/

/* Routing */
#define B43legacy_PHYROUTE_OFDM_GPHY	0x400
#define B43legacy_PHYROUTE_EXT_GPHY	0x800

/* Base registers. */
#define B43legacy_PHY_BASE(reg)	(reg)
/* OFDM (A) registers of a G-PHY */
#define B43legacy_PHY_OFDM(reg)	((reg) | B43legacy_PHYROUTE_OFDM_GPHY)
/* Extended G-PHY registers */
#define B43legacy_PHY_EXTG(reg)	((reg) | B43legacy_PHYROUTE_EXT_GPHY)


/* Extended G-PHY Registers */
#define B43legacy_PHY_CLASSCTL		B43legacy_PHY_EXTG(0x02)	/* Classify control */
#define B43legacy_PHY_GTABCTL		B43legacy_PHY_EXTG(0x03)	/* G-PHY table control (see below) */
#define  B43legacy_PHY_GTABOFF		0x03FF			/* G-PHY table offset (see below) */
#define  B43legacy_PHY_GTABNR		0xFC00			/* G-PHY table number (see below) */
#define  B43legacy_PHY_GTABNR_SHIFT	10
#define B43legacy_PHY_GTABDATA		B43legacy_PHY_EXTG(0x04)	/* G-PHY table data */
#define B43legacy_PHY_LO_MASK		B43legacy_PHY_EXTG(0x0F)	/* Local Oscillator control mask */
#define B43legacy_PHY_LO_CTL		B43legacy_PHY_EXTG(0x10)	/* Local Oscillator control */
#define B43legacy_PHY_RFOVER		B43legacy_PHY_EXTG(0x11)	/* RF override */
#define B43legacy_PHY_RFOVERVAL		B43legacy_PHY_EXTG(0x12)	/* RF override value */
/*** OFDM table numbers ***/
#define B43legacy_OFDMTAB(number, offset)				\
			  (((number) << B43legacy_PHY_OTABLENR_SHIFT)	\
			  | (offset))
#define B43legacy_OFDMTAB_AGC1		B43legacy_OFDMTAB(0x00, 0)
#define B43legacy_OFDMTAB_GAIN0		B43legacy_OFDMTAB(0x00, 0)
#define B43legacy_OFDMTAB_GAINX		B43legacy_OFDMTAB(0x01, 0)
#define B43legacy_OFDMTAB_GAIN1		B43legacy_OFDMTAB(0x01, 4)
#define B43legacy_OFDMTAB_AGC3		B43legacy_OFDMTAB(0x02, 0)
#define B43legacy_OFDMTAB_GAIN2		B43legacy_OFDMTAB(0x02, 3)
#define B43legacy_OFDMTAB_LNAHPFGAIN1	B43legacy_OFDMTAB(0x03, 0)
#define B43legacy_OFDMTAB_WRSSI		B43legacy_OFDMTAB(0x04, 0)
#define B43legacy_OFDMTAB_LNAHPFGAIN2	B43legacy_OFDMTAB(0x04, 0)
#define B43legacy_OFDMTAB_NOISESCALE	B43legacy_OFDMTAB(0x05, 0)
#define B43legacy_OFDMTAB_AGC2		B43legacy_OFDMTAB(0x06, 0)
#define B43legacy_OFDMTAB_ROTOR		B43legacy_OFDMTAB(0x08, 0)
#define B43legacy_OFDMTAB_ADVRETARD	B43legacy_OFDMTAB(0x09, 0)
#define B43legacy_OFDMTAB_DAC		B43legacy_OFDMTAB(0x0C, 0)
#define B43legacy_OFDMTAB_DC		B43legacy_OFDMTAB(0x0E, 7)
#define B43legacy_OFDMTAB_PWRDYN2	B43legacy_OFDMTAB(0x0E, 12)
#define B43legacy_OFDMTAB_LNAGAIN	B43legacy_OFDMTAB(0x0E, 13)

#define B43legacy_OFDMTAB_LPFGAIN	B43legacy_OFDMTAB(0x0F, 12)
#define B43legacy_OFDMTAB_RSSI		B43legacy_OFDMTAB(0x10, 0)

#define B43legacy_OFDMTAB_AGC1_R1	B43legacy_OFDMTAB(0x13, 0)
#define B43legacy_OFDMTAB_GAINX_R1	B43legacy_OFDMTAB(0x14, 0)
#define B43legacy_OFDMTAB_MINSIGSQ	B43legacy_OFDMTAB(0x14, 1)

Annotation

Implementation Notes