fw-api: CL 23782068 - update fw common interface files
Change-Id: Ifcc4d1c1a0c4dd621b4bd9f87ab94717a5822ed2 WMI: add PDEV_ENHANCED_AOA_PHASEDELTA_EVENT msg def CRs-Fixed: 2262693
This commit is contained in:
@@ -1392,6 +1392,8 @@ typedef enum {
|
||||
WMITLV_TAG_STRUC_wmi_aux_dev_capabilities,
|
||||
WMITLV_TAG_STRUC_wmi_nan_oem_data_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_nan_oem_data_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_enhanced_aoa_gain_phase_data_hdr,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
@@ -2241,6 +2243,7 @@ typedef enum {
|
||||
OP(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID) \
|
||||
OP(WMI_MLO_LINK_SWITCH_REQUEST_EVENTID) \
|
||||
OP(WMI_NAN_OEM_DATA_EVENTID) \
|
||||
OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
@@ -7432,6 +7435,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_primary_link_peer_migration_status, primary_link_peer_migration_status, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID);
|
||||
|
||||
/*
|
||||
* Update AOA Phase delta values for all gain tables event
|
||||
* Below definition shows TLV packing of AOA Phase delta values for all gain tables event
|
||||
*/
|
||||
#define WMITLV_TABLE_WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_gain_phase_data_hdr, aoa_data_hdr, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, aoa_data_buf, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
127
fw/wmi_unified.h
127
fw/wmi_unified.h
@@ -1748,6 +1748,8 @@ typedef enum {
|
||||
/* Event to indicate completion on RF path */
|
||||
WMI_PDEV_SET_RF_PATH_RESP_EVENTID,
|
||||
|
||||
/* Event to get AOA phasedelta values for all gain tables from HALPHY */
|
||||
WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID,
|
||||
|
||||
/* VDEV specific events */
|
||||
/** VDEV started event in response to VDEV_START request */
|
||||
@@ -40444,6 +40446,131 @@ typedef struct {
|
||||
A_UINT32 perChainIbfCalVal[WMI_MAX_CHAINS_FOR_AOA_RCC];
|
||||
} wmi_pdev_aoa_phasedelta_evt_fixed_param;
|
||||
|
||||
#define WMI_AOA_MAX_SUPPORTED_CHAINS_GET(chain_data) \
|
||||
WMI_GET_BITS(chain_data, 0, 16)
|
||||
#define WMI_AOA_MAX_SUPPORTED_CHAINS_SET(chain_data, value) \
|
||||
WMI_SET_BITS(chain_data, 0, 16, value)
|
||||
|
||||
#define WMI_AOA_SUPPORTED_CHAINMASK_GET(chain_data) \
|
||||
WMI_GET_BITS(chain_data, 16, 16)
|
||||
#define WMI_AOA_SUPPORTED_CHAINMASK_SET(chain_data, value) \
|
||||
WMI_SET_BITS(chain_data, 16, 16, value)
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_eventid */
|
||||
A_UINT32 tlv_header;
|
||||
/* Current Operating Channel Frequency in MHz */
|
||||
A_UINT32 freq;
|
||||
/** pdev_id:
|
||||
* Identify the MAC.
|
||||
* See macros starting with WMI_PDEV_ID_ for values.
|
||||
* In non-DBDC case host should set it to 0.
|
||||
*/
|
||||
A_UINT32 pdev_id;
|
||||
/** chain_info:
|
||||
* B0 -- B15 : Max number of chains supported
|
||||
* B16 --B31 : Data shared for chainmask -
|
||||
* indicates the chains to which the data shared.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 max_supported_chains:16,
|
||||
data_for_chainmask:16;
|
||||
};
|
||||
A_UINT32 chain_info;
|
||||
};
|
||||
/** XBAR configuration to get RF2BB/BB2RF chain mapping
|
||||
* Samples of xbar_config,
|
||||
* If xbar_config is 0xFAC688(hex):
|
||||
* RF chains 0-7 are connected to BB chains 0-7
|
||||
* here,
|
||||
* bits 0 to 2 = 0, maps BB chain 0 for RF chain 0
|
||||
* bits 3 to 5 = 1, maps BB chain 1 for RF chain 1
|
||||
* bits 6 to 8 = 2, maps BB chain 2 for RF chain 2
|
||||
* bits 9 to 11 = 3, maps BB chain 3 for RF chain 3
|
||||
* bits 12 to 14 = 4, maps BB chain 4 for RF chain 4
|
||||
* bits 15 to 17 = 5, maps BB chain 5 for RF chain 5
|
||||
* bits 18 to 20 = 6, maps BB chain 6 for RF chain 6
|
||||
* bits 21 to 23 = 7, maps BB chain 7 for RF chain 7
|
||||
*
|
||||
* If xbar_config is 0x688FAC(hex):
|
||||
* RF chains 0-3 are connected to BB chains 4-7
|
||||
* RF chains 4-7 are connected to BB chains 0-3
|
||||
* here,
|
||||
* bits 0 to 2 = 4, maps BB chain 4 for RF chain 0
|
||||
* bits 3 to 5 = 5, maps BB chain 5 for RF chain 1
|
||||
* bits 6 to 8 = 6, maps BB chain 6 for RF chain 2
|
||||
* bits 9 to 11 = 7, maps BB chain 7 for RF chain 3
|
||||
* bits 12 to 14 = 0, maps BB chain 0 for RF chain 4
|
||||
* bits 15 to 17 = 1, maps BB chain 1 for RF chain 5
|
||||
* bits 18 to 20 = 2, maps BB chain 2 for RF chain 6
|
||||
* bits 21 to 23 = 3, maps BB chain 3 for RF chain 7
|
||||
*/
|
||||
A_UINT32 xbar_config;
|
||||
/**
|
||||
* IBF cal values:
|
||||
* Used for final AoA calculation
|
||||
* [AoAPhase = ( PhaseDeltaValue + IBFcalValue ) % 1024]
|
||||
*/
|
||||
A_UINT32 per_chain_ibf_cal_val[WMI_MAX_CHAINS];
|
||||
/**
|
||||
* This TLV is followed by TLV arrays containing
|
||||
* different types of data header and data buffer TLVs:
|
||||
* 1. wmi_enhanced_aoa_gain_phase_data_hdr.
|
||||
* This TLV contains the array of structure fields which indicate
|
||||
* the type and format of data carried in the following data buffer
|
||||
* TLV.
|
||||
* 2. aoa_data_buf[] - Data buffer TLV.
|
||||
* TLV header contains the total buffer size.
|
||||
* Data buffer contains the phase_delta_array[Chains][GainEntries]
|
||||
* in absolute phase values ranging 0-1024 and
|
||||
* gain_delta_array[Chains][GainEntries] are gain index values.
|
||||
*/
|
||||
} wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param;
|
||||
|
||||
#define WMI_AOA_DATA_TYPE_GET(data_info) \
|
||||
WMI_GET_BITS(data_info, 0, 8)
|
||||
#define WMI_AOA_DATA_TYPE_SET(data_info,value) \
|
||||
WMI_SET_BITS(data_info, 0, 8, value)
|
||||
|
||||
#define WMI_AOA_NUM_ENTIRES_GET(data_info) \
|
||||
WMI_GET_BITS(data_info, 8, 8)
|
||||
#define WMI_AOA_NUM_DATA_ENTRIES_SET(data_info,value) \
|
||||
WMI_SET_BITS(data_info, 8, 8, value)
|
||||
|
||||
typedef enum _WMI_AOA_EVENT_DATA_TYPE {
|
||||
WMI_PHASE_DELTA_ARRAY = 0x0,
|
||||
WMI_GAIN_GROUP_STOP_ARRAY = 0x1,
|
||||
/* add new types here */
|
||||
WMI_MAX_DATA_TYPE_ARRAY,
|
||||
} WMI_AOA_EVENT_DATA_TYPE;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_eventid */
|
||||
A_UINT32 tlv_header;
|
||||
/** data_info:
|
||||
* Data follows the LSB first and MSB second order in a 32bit word
|
||||
* bit mapping:
|
||||
* B0 -- B7 : Data type
|
||||
* B8 -- B15 : Number of entries to be parsed in terms of 32bit word
|
||||
*
|
||||
* If data is Phase delta values - Data type is 0x0
|
||||
* group stop gain index values - Data type is 0x1
|
||||
*
|
||||
* num_entries - Total number of data entries in uint32
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 data_type:8,
|
||||
num_entries:8,
|
||||
reserved:16;
|
||||
};
|
||||
A_UINT32 data_info;
|
||||
};
|
||||
} wmi_enhanced_aoa_gain_phase_data_hdr;
|
||||
|
||||
/* WMI_HALPHY_CAL_LIST:
|
||||
*
|
||||
* Below is the list of HALPHY online CAL currently enabled in
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#define __WMI_VER_MINOR_ 0
|
||||
/** WMI revision number has to be incremented when there is a
|
||||
* change that may or may not break compatibility. */
|
||||
#define __WMI_REVISION_ 1363
|
||||
#define __WMI_REVISION_ 1364
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Reference in New Issue
Block a user