drivers/net/wireless/admtek/adm8211.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/admtek/adm8211.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/admtek/adm8211.h- Extension
.h- Size
- 18081 bytes
- Lines
- 604
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct adm8211_csrstruct adm8211_descstruct adm8211_rx_ring_infostruct adm8211_tx_ring_infostruct adm8211_tx_hdrstruct adm8211_eepromstruct adm8211_privstruct ieee80211_chan_range
Annotated Snippet
struct adm8211_csr {
__le32 PAR; /* 0x00 CSR0 */
__le32 FRCTL; /* 0x04 CSR0A */
__le32 TDR; /* 0x08 CSR1 */
__le32 WTDP; /* 0x0C CSR1A */
__le32 RDR; /* 0x10 CSR2 */
__le32 WRDP; /* 0x14 CSR2A */
__le32 RDB; /* 0x18 CSR3 */
__le32 TDBH; /* 0x1C CSR3A */
__le32 TDBD; /* 0x20 CSR4 */
__le32 TDBP; /* 0x24 CSR4A */
__le32 STSR; /* 0x28 CSR5 */
__le32 TDBB; /* 0x2C CSR5A */
__le32 NAR; /* 0x30 CSR6 */
__le32 CSR6A; /* reserved */
__le32 IER; /* 0x38 CSR7 */
__le32 TKIPSCEP; /* 0x3C CSR7A */
__le32 LPC; /* 0x40 CSR8 */
__le32 CSR_TEST1; /* 0x44 CSR8A */
__le32 SPR; /* 0x48 CSR9 */
__le32 CSR_TEST0; /* 0x4C CSR9A */
__le32 WCSR; /* 0x50 CSR10 */
__le32 WPDR; /* 0x54 CSR10A */
__le32 GPTMR; /* 0x58 CSR11 */
__le32 GPIO; /* 0x5C CSR11A */
__le32 BBPCTL; /* 0x60 CSR12 */
__le32 SYNCTL; /* 0x64 CSR12A */
__le32 PLCPHD; /* 0x68 CSR13 */
__le32 MMIWA; /* 0x6C CSR13A */
__le32 MMIRD0; /* 0x70 CSR14 */
__le32 MMIRD1; /* 0x74 CSR14A */
__le32 TXBR; /* 0x78 CSR15 */
__le32 SYNDATA; /* 0x7C CSR15A */
__le32 ALCS; /* 0x80 CSR16 */
__le32 TOFS2; /* 0x84 CSR17 */
__le32 CMDR; /* 0x88 CSR18 */
__le32 PCIC; /* 0x8C CSR19 */
__le32 PMCSR; /* 0x90 CSR20 */
__le32 PAR0; /* 0x94 CSR21 */
__le32 PAR1; /* 0x98 CSR22 */
__le32 MAR0; /* 0x9C CSR23 */
__le32 MAR1; /* 0xA0 CSR24 */
__le32 ATIMDA0; /* 0xA4 CSR25 */
__le32 ABDA1; /* 0xA8 CSR26 */
__le32 BSSID0; /* 0xAC CSR27 */
__le32 TXLMT; /* 0xB0 CSR28 */
__le32 MIBCNT; /* 0xB4 CSR29 */
__le32 BCNT; /* 0xB8 CSR30 */
__le32 TSFTH; /* 0xBC CSR31 */
__le32 TSC; /* 0xC0 CSR32 */
__le32 SYNRF; /* 0xC4 CSR33 */
__le32 BPLI; /* 0xC8 CSR34 */
__le32 CAP0; /* 0xCC CSR35 */
__le32 CAP1; /* 0xD0 CSR36 */
__le32 RMD; /* 0xD4 CSR37 */
__le32 CFPP; /* 0xD8 CSR38 */
__le32 TOFS0; /* 0xDC CSR39 */
__le32 TOFS1; /* 0xE0 CSR40 */
__le32 IFST; /* 0xE4 CSR41 */
__le32 RSPT; /* 0xE8 CSR42 */
__le32 TSFTL; /* 0xEC CSR43 */
__le32 WEPCTL; /* 0xF0 CSR44 */
__le32 WESK; /* 0xF4 CSR45 */
__le32 WEPCNT; /* 0xF8 CSR46 */
__le32 MACTEST; /* 0xFC CSR47 */
__le32 FER; /* 0x100 */
__le32 FEMR; /* 0x104 */
__le32 FPSR; /* 0x108 */
__le32 FFER; /* 0x10C */
} __packed;
/* CSR0 - PAR (PCI Address Register) */
#define ADM8211_PAR_MWIE (1 << 24)
#define ADM8211_PAR_MRLE (1 << 23)
#define ADM8211_PAR_MRME (1 << 21)
#define ADM8211_PAR_RAP ((1 << 18) | (1 << 17))
#define ADM8211_PAR_CAL ((1 << 15) | (1 << 14))
#define ADM8211_PAR_PBL 0x00003f00
#define ADM8211_PAR_BLE (1 << 7)
#define ADM8211_PAR_DSL 0x0000007c
#define ADM8211_PAR_BAR (1 << 1)
#define ADM8211_PAR_SWR (1 << 0)
/* CSR1 - FRCTL (Frame Control Register) */
#define ADM8211_FRCTL_PWRMGT (1 << 31)
#define ADM8211_FRCTL_MAXPSP (1 << 27)
#define ADM8211_FRCTL_DRVPRSP (1 << 26)
#define ADM8211_FRCTL_DRVBCON (1 << 25)
#define ADM8211_FRCTL_AID 0x0000ffff
#define ADM8211_FRCTL_AID_ON 0x0000c000
Annotation
- Detected declarations: `struct adm8211_csr`, `struct adm8211_desc`, `struct adm8211_rx_ring_info`, `struct adm8211_tx_ring_info`, `struct adm8211_tx_hdr`, `struct adm8211_eeprom`, `struct adm8211_priv`, `struct ieee80211_chan_range`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.