diff options
Diffstat (limited to 'sys/contrib/dev/rtw88/rtw8814a.h')
| -rw-r--r-- | sys/contrib/dev/rtw88/rtw8814a.h | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/sys/contrib/dev/rtw88/rtw8814a.h b/sys/contrib/dev/rtw88/rtw8814a.h new file mode 100644 index 000000000000..c57c7c8f915e --- /dev/null +++ b/sys/contrib/dev/rtw88/rtw8814a.h @@ -0,0 +1,62 @@ +/* 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 | 
