/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* Copyright(c) 2025 Realtek Corporation */ #ifndef __RTW8814A_H__ #define __RTW8814A_H__ struct rtw8814au_efuse { u8 vid[2]; /* 0xd0 */ u8 pid[2]; /* 0xd2 */ u8 res[4]; /* 0xd4 */ u8 mac_addr[ETH_ALEN]; /* 0xd8 */ } __packed; struct rtw8814ae_efuse { u8 mac_addr[ETH_ALEN]; /* 0xd0 */ u8 vid[2]; /* 0xd6 */ u8 did[2]; /* 0xd8 */ u8 svid[2]; /* 0xda */ u8 smid[2]; /* 0xdc */ } __packed; struct rtw8814a_efuse { __le16 rtl_id; u8 res0[0x0c]; u8 usb_mode; /* 0x0e */ u8 res1; /* power index for four RF paths */ struct rtw_txpwr_idx txpwr_idx_table[4]; u8 channel_plan; /* 0xb8 */ u8 xtal_k; /* 0xb9 */ u8 thermal_meter; /* 0xba */ u8 iqk_lck; /* 0xbb */ u8 pa_type; /* 0xbc */ u8 lna_type_2g[2]; /* 0xbd */ u8 lna_type_5g[2]; /* 0xbf */ u8 rf_board_option; /* 0xc1 */ u8 res2; u8 rf_bt_setting; /* 0xc3 */ u8 eeprom_version; /* 0xc4 */ u8 eeprom_customer_id; /* 0xc5 */ u8 tx_bb_swing_setting_2g; /* 0xc6 */ u8 tx_bb_swing_setting_5g; /* 0xc7 */ u8 res3; u8 trx_antenna_option; /* 0xc9 */ u8 rfe_option; /* 0xca */ u8 country_code[2]; /* 0xcb */ u8 res4[3]; union { struct rtw8814au_efuse u; struct rtw8814ae_efuse e; }; u8 res5[0x122]; /* 0xde */ } __packed; static_assert(sizeof(struct rtw8814a_efuse) == 512); extern const struct rtw_chip_info rtw8814a_hw_spec; #endif