linux-loongson/drivers/net/wireless/realtek/rtw88/rtw8814a.h
Bitterblue Smith 1a75457846 wifi: rtw88: Add rtw8814a.{c,h}
These contain all the logic for the RTL8814A chip.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/5d3b8c03-63c1-4f20-860a-89d424badad8@gmail.com
2025-03-13 09:13:49 +08:00

63 lines
1.4 KiB
C

/* 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