drivers/net/wireless/realtek/rtw88/rtw8723x.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw88/rtw8723x.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtw88/rtw8723x.h- Extension
.h- Size
- 15342 bytes
- Lines
- 525
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration 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.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
main.hdebug.hphy.hreg.h
Detected Declarations
struct rtw8723xe_efusestruct rtw8723xu_efusestruct rtw8723xs_efusestruct rtw8723x_efusestruct rtw8723x_iqk_backup_regsstruct rtw8723x_commonenum rtw8723x_pathenum rtw8723x_iqk_roundenum rtw8723x_iqk_resultfunction iqkxy_to_s32function iqk_multfunction rtw8723x_debug_txpwr_limitfunction rtw8723x_lckfunction rtw8723x_read_efusefunction rtw8723x_mac_initfunction rtw8723x_mac_postinitfunction rtw8723x_cfg_ldo25function rtw8723x_set_tx_power_indexfunction rtw8723x_efuse_grantfunction rtw8723x_false_alarm_statisticsfunction rtw8723x_iqk_backup_regsfunction rtw8723x_iqk_restore_regsfunction rtw8723x_iqk_similarity_cmpfunction rtw8723x_pwrtrack_get_limit_ofdmfunction rtw8723x_pwrtrack_set_xtalfunction rtw8723x_coex_cfg_initfunction rtw8723x_fill_txdesc_checksumfunction rtw8723x_iqk_backup_path_ctrlfunction rtw8723x_iqk_config_path_ctrlfunction rtw8723x_iqk_restore_path_ctrlfunction rtw8723x_iqk_backup_lte_path_gntfunction rtw8723x_iqk_config_lte_path_gntfunction rtw8723x_iqk_restore_lte_path_gntfunction rtw8723x_iqk_path_adda_on
Annotated Snippet
struct rtw8723xe_efuse {
u8 mac_addr[ETH_ALEN]; /* 0xd0 */
u8 vendor_id[2];
u8 device_id[2];
u8 sub_vendor_id[2];
u8 sub_device_id[2];
} __packed;
struct rtw8723xu_efuse {
u8 res4[48]; /* 0xd0 */
u8 vendor_id[2]; /* 0x100 */
u8 product_id[2]; /* 0x102 */
u8 usb_option; /* 0x104 */
u8 res5[2]; /* 0x105 */
u8 mac_addr[ETH_ALEN]; /* 0x107 */
} __packed;
struct rtw8723xs_efuse {
u8 res4[0x4a]; /* 0xd0 */
u8 mac_addr[ETH_ALEN]; /* 0x11a */
} __packed;
struct rtw8723x_efuse {
__le16 rtl_id;
u8 rsvd[2];
u8 afe;
u8 rsvd1[11];
/* power index for four RF paths */
struct rtw_txpwr_idx txpwr_idx_table[4];
u8 channel_plan; /* 0xb8 */
u8 xtal_k;
u8 thermal_meter;
u8 iqk_lck;
u8 pa_type; /* 0xbc */
u8 lna_type_2g[2]; /* 0xbd */
u8 lna_type_5g[2];
u8 rf_board_option;
u8 rf_feature_option;
u8 rf_bt_setting;
u8 eeprom_version;
u8 eeprom_customer_id;
u8 tx_bb_swing_setting_2g;
u8 res_c7;
u8 tx_pwr_calibrate_rate;
u8 rf_antenna_option; /* 0xc9 */
u8 rfe_option;
u8 country_code[2];
u8 res[3];
union {
struct rtw8723xe_efuse e;
struct rtw8723xu_efuse u;
struct rtw8723xs_efuse s;
};
} __packed;
#define RTW8723X_IQK_ADDA_REG_NUM 16
#define RTW8723X_IQK_MAC8_REG_NUM 3
#define RTW8723X_IQK_MAC32_REG_NUM 1
#define RTW8723X_IQK_BB_REG_NUM 9
struct rtw8723x_iqk_backup_regs {
u32 adda[RTW8723X_IQK_ADDA_REG_NUM];
u8 mac8[RTW8723X_IQK_MAC8_REG_NUM];
u32 mac32[RTW8723X_IQK_MAC32_REG_NUM];
u32 bb[RTW8723X_IQK_BB_REG_NUM];
u32 lte_path;
u32 lte_gnt;
u32 bb_sel_btg;
u8 btg_sel;
u8 igia;
u8 igib;
};
struct rtw8723x_common {
/* registers that must be backed up before IQK and restored after */
u32 iqk_adda_regs[RTW8723X_IQK_ADDA_REG_NUM];
u32 iqk_mac8_regs[RTW8723X_IQK_MAC8_REG_NUM];
u32 iqk_mac32_regs[RTW8723X_IQK_MAC32_REG_NUM];
u32 iqk_bb_regs[RTW8723X_IQK_BB_REG_NUM];
/* chip register definitions */
struct rtw_ltecoex_addr ltecoex_addr;
struct rtw_rf_sipi_addr rf_sipi_addr[2];
struct rtw_hw_reg dig[2];
struct rtw_hw_reg dig_cck[1];
Annotation
- Immediate include surface: `main.h`, `debug.h`, `phy.h`, `reg.h`.
- Detected declarations: `struct rtw8723xe_efuse`, `struct rtw8723xu_efuse`, `struct rtw8723xs_efuse`, `struct rtw8723x_efuse`, `struct rtw8723x_iqk_backup_regs`, `struct rtw8723x_common`, `enum rtw8723x_path`, `enum rtw8723x_iqk_round`, `enum rtw8723x_iqk_result`, `function iqkxy_to_s32`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: integration 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.