From d4a1bd480003f3e1a0590bc46fbcb24f05652ca7 Mon Sep 17 00:00:00 2001
From: tzh <tanzhtanzh@gmail.com>
Date: Thu, 15 Aug 2024 06:56:47 +0000
Subject: [PATCH] feat(wfit/bt): update aic8800 wifi/bt drive and hal

---
 longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/lmac_msg.h |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git a/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/lmac_msg.h b/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/lmac_msg.h
old mode 100644
new mode 100755
index fd63dba..8cb1b91
--- a/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/lmac_msg.h
+++ b/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/lmac_msg.h
@@ -52,9 +52,11 @@
 	TASK_MESH,
 	/// RXU task
 	TASK_RXU,
+	/// RM_task
+	TASK_RM,
 #if defined CONFIG_RWNX_FULLMAC || defined CONFIG_RWNX_FHOST
 	// This is used to define the last task that is running on the EMB processor
-	TASK_LAST_EMB = TASK_RXU,
+	TASK_LAST_EMB = TASK_RM,
 #else
 #error "Need to define SOFTMAC or FULLMAC"
 #endif
@@ -359,8 +361,25 @@
 	MM_GET_MAC_ADDR_REQ,
 	MM_GET_MAC_ADDR_CFM,
 
-	MM_GET_STA_TXINFO_REQ,
-	MM_GET_STA_TXINFO_CFM,
+	MM_GET_STA_INFO_REQ,
+	MM_GET_STA_INFO_CFM,
+
+	MM_SET_TXPWR_IDX_REQ,
+	MM_SET_TXPWR_IDX_CFM,
+
+	MM_SET_TXPWR_OFST_REQ,
+	MM_SET_TXPWR_OFST_CFM,
+
+	MM_SET_STACK_START_REQ,
+	MM_SET_STACK_START_CFM,
+
+	MM_APM_STALOSS_IND,
+
+	MM_SET_TXOP_REQ,
+	MM_SET_TXOP_CFM,
+
+	MM_GET_FW_VERSION_REQ,
+	MM_GET_FW_VERSION_CFM,
 
 	/// MAX number of messages
 	MM_MAX,
@@ -1144,6 +1163,8 @@
 	u32_l param_alpha;
 	u32_l bt_calib_en;
 	u32_l bt_calib_param;
+	u8_l  xtal_cap;
+	u8_l  xtal_cap_fine;
 };
 
 struct mm_set_rf_calib_cfm {
@@ -1161,13 +1182,58 @@
 	u8_l mac_addr[6];
 };
 
-struct mm_get_sta_txinfo_req {
+struct mm_get_sta_info_req {
 	u8_l sta_idx;
 };
 
-struct mm_get_sta_txinfo_cfm {
+struct mm_get_sta_info_cfm {
 	u32_l rate_info;
 	u32_l txfailed;
+	u8    rssi;
+};
+
+typedef struct {
+	u8_l enable;
+	u8_l dsss;
+	u8_l ofdmlowrate_2g4;
+	u8_l ofdm64qam_2g4;
+	u8_l ofdm256qam_2g4;
+	u8_l ofdm1024qam_2g4;
+	u8_l ofdmlowrate_5g;
+	u8_l ofdm64qam_5g;
+	u8_l ofdm256qam_5g;
+	u8_l ofdm1024qam_5g;
+} txpwr_idx_conf_t;
+
+struct mm_set_txpwr_idx_req {
+	txpwr_idx_conf_t txpwr_idx;
+};
+
+typedef struct {
+	u8_l enable;
+	s8_l chan_1_4;
+	s8_l chan_5_9;
+	s8_l chan_10_13;
+	s8_l chan_36_64;
+	s8_l chan_100_120;
+	s8_l chan_122_140;
+	s8_l chan_142_165;
+} txpwr_ofst_conf_t;
+
+struct mm_set_txpwr_ofst_req {
+	txpwr_ofst_conf_t txpwr_ofst;
+};
+
+struct mm_set_stack_start_req {
+	u8_l is_stack_start;
+	u8_l efuse_valid;
+	u8_l set_vendor_info;
+	u8_l fwtrace_redir;
+};
+
+struct mm_set_stack_start_cfm {
+	u8_l is_5g_support;
+	u8_l vendor_info;
 };
 
 /// Structure containing the parameters of the @ref MM_SET_P2P_OPPPS_REQ message.
@@ -1292,7 +1358,7 @@
 };
 
 /// Maximum number of SSIDs in a scan request
-#define SCAN_SSID_MAX   2
+#define SCAN_SSID_MAX   3
 
 /// Maximum number of channels in a scan request
 #define SCAN_CHANNEL_MAX (MAC_DOMAINCHANNEL_24G_MAX + MAC_DOMAINCHANNEL_5G_MAX)
@@ -1638,6 +1704,26 @@
 	bool_l uapsd;
 };
 
+struct mm_apm_staloss_ind {
+	u8_l sta_idx;
+	u8_l vif_idx;
+	u8_l mac_addr[6];
+};
+
+struct mm_set_txop_req {
+	u16_l txop_bk;
+	u16_l txop_be;
+	u16_l txop_vi;
+	u16_l txop_vo;
+	u8_l  long_nav_en;
+	u8_l  cfe_en;
+};
+
+struct mm_get_fw_version_cfm {
+	u8_l fw_version_len;
+	u8_l fw_version[63];
+};
+
 /// Structure containing the parameters of the @ref ME_RC_STATS_REQ message.
 struct me_rc_stats_req {
 	/// Index of the station for which the RC statistics are requested

--
Gitblit v1.6.2