drivers/net/wireless/ralink/rt2x00/rt2800.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ralink/rt2x00/rt2800.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ralink/rt2x00/rt2800.h- Extension
.h- Size
- 100176 bytes
- Lines
- 3202
- 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 mac_wcid_entrystruct hw_key_entrystruct mac_iveiv_entryenum rt2800_eeprom_word
Annotated Snippet
struct mac_wcid_entry {
u8 mac[6];
u8 reserved[2];
} __packed;
struct hw_key_entry {
u8 key[16];
u8 tx_mic[8];
u8 rx_mic[8];
} __packed;
struct mac_iveiv_entry {
u8 iv[8];
} __packed;
/*
* MAC_WCID_ATTRIBUTE:
*/
#define MAC_WCID_ATTRIBUTE_KEYTAB FIELD32(0x00000001)
#define MAC_WCID_ATTRIBUTE_CIPHER FIELD32(0x0000000e)
#define MAC_WCID_ATTRIBUTE_BSS_IDX FIELD32(0x00000070)
#define MAC_WCID_ATTRIBUTE_RX_WIUDF FIELD32(0x00000380)
#define MAC_WCID_ATTRIBUTE_CIPHER_EXT FIELD32(0x00000400)
#define MAC_WCID_ATTRIBUTE_BSS_IDX_EXT FIELD32(0x00000800)
#define MAC_WCID_ATTRIBUTE_WAPI_MCBC FIELD32(0x00008000)
#define MAC_WCID_ATTRIBUTE_WAPI_KEY_IDX FIELD32(0xff000000)
/*
* SHARED_KEY_MODE:
*/
#define SHARED_KEY_MODE_BSS0_KEY0 FIELD32(0x00000007)
#define SHARED_KEY_MODE_BSS0_KEY1 FIELD32(0x00000070)
#define SHARED_KEY_MODE_BSS0_KEY2 FIELD32(0x00000700)
#define SHARED_KEY_MODE_BSS0_KEY3 FIELD32(0x00007000)
#define SHARED_KEY_MODE_BSS1_KEY0 FIELD32(0x00070000)
#define SHARED_KEY_MODE_BSS1_KEY1 FIELD32(0x00700000)
#define SHARED_KEY_MODE_BSS1_KEY2 FIELD32(0x07000000)
#define SHARED_KEY_MODE_BSS1_KEY3 FIELD32(0x70000000)
/*
* HOST-MCU communication
*/
/*
* H2M_MAILBOX_CSR: Host-to-MCU Mailbox.
* CMD_TOKEN: Command id, 0xff disable status reporting.
*/
#define H2M_MAILBOX_CSR 0x7010
#define H2M_MAILBOX_CSR_ARG0 FIELD32(0x000000ff)
#define H2M_MAILBOX_CSR_ARG1 FIELD32(0x0000ff00)
#define H2M_MAILBOX_CSR_CMD_TOKEN FIELD32(0x00ff0000)
#define H2M_MAILBOX_CSR_OWNER FIELD32(0xff000000)
/*
* H2M_MAILBOX_CID:
* Free slots contain 0xff. MCU will store command's token to lowest free slot.
* If all slots are occupied status will be dropped.
*/
#define H2M_MAILBOX_CID 0x7014
#define H2M_MAILBOX_CID_CMD0 FIELD32(0x000000ff)
#define H2M_MAILBOX_CID_CMD1 FIELD32(0x0000ff00)
#define H2M_MAILBOX_CID_CMD2 FIELD32(0x00ff0000)
#define H2M_MAILBOX_CID_CMD3 FIELD32(0xff000000)
/*
* H2M_MAILBOX_STATUS:
* Command status will be saved to same slot as command id.
*/
#define H2M_MAILBOX_STATUS 0x701c
/*
* H2M_INT_SRC:
*/
#define H2M_INT_SRC 0x7024
/*
* H2M_BBP_AGENT:
*/
#define H2M_BBP_AGENT 0x7028
/*
* MCU_LEDCS: LED control for MCU Mailbox.
*/
#define MCU_LEDCS_LED_MODE FIELD8(0x1f)
#define MCU_LEDCS_POLARITY FIELD8(0x01)
/*
* HW_CS_CTS_BASE:
* Carrier-sense CTS frame base address.
* It's where mac stores carrier-sense frame for carrier-sense function.
Annotation
- Detected declarations: `struct mac_wcid_entry`, `struct hw_key_entry`, `struct mac_iveiv_entry`, `enum rt2800_eeprom_word`.
- 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.