Browse Source

fw-api: CL 14712230 - update fw common interface files

Change-Id: I3c61d8c8ff7756e8ecd0d42929a90c96764957f9
WMI: add PDEV_AOA_PHASEDELTA_EVENT msg def
CRs-Fixed: 2262693
spuligil 3 years ago
parent
commit
92167fed05
4 changed files with 38 additions and 1 deletions
  1. 1 0
      fw/wmi_services.h
  2. 7 0
      fw/wmi_tlv_defs.h
  3. 29 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wmi_services.h

@@ -544,6 +544,7 @@ typedef  enum  {
     WMI_SERVICE_MGMT_RX_REO_SUPPORTED = 299, /* Indicates FW supports Management RX Reorder */
     WMI_SERVICE_EMA_MULTIPLE_GROUP_SUPPORT = 300, /* FW support for EMA multi group support */
     WMI_SERVICE_LARGE_BEACON_SUPPORT = 301, /* FW support for Large beacon support greater then 1.5K */
+    WMI_SERVICE_AOA_FOR_RCC_SUPPORTED = 302,
 
 
     WMI_MAX_EXT2_SERVICE

+ 7 - 0
fw/wmi_tlv_defs.h

@@ -1188,6 +1188,7 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_twt_caps_param,
     WMITLV_TAG_STRUC_wmi_vdev_enable_disable_intra_bss_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_peer_enable_disable_intra_bss_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_pdev_aoa_phasedelta_evt_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1932,6 +1933,7 @@ typedef enum {
     OP(WMI_PDEV_SET_HALPHY_CAL_BMAP_EVENTID) \
     OP(WMI_AFC_EVENTID) \
     OP(WMI_TWT_ACK_EVENTID) \
+    OP(WMI_PDEV_AOA_PHASEDELTA_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -6409,6 +6411,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_ACTIVE_RESP_EVENTID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_evt_fixed_param, wmi_pdev_get_dpd_status_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_DPD_STATUS_EVENTID);
 
+/* AOA phase delta Event */
+#define WMITLV_TABLE_WMI_PDEV_AOA_PHASEDELTA_EVENTID(id,op,buf,len)  \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_aoa_phasedelta_evt_fixed_param, wmi_pdev_aoa_phasedelta_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_AOA_PHASEDELTA_EVENTID);
+
 /* Response event for MLO setup cmd */
 #define WMITLV_TABLE_WMI_MLO_SETUP_COMPLETE_EVENTID(id,op,buf,len)  \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_setup_complete_event_fixed_param, wmi_mlo_setup_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)

+ 29 - 0
fw/wmi_unified.h

@@ -84,6 +84,8 @@ extern "C" {
 #define MAX_RSSI_VALUES         10 /*Max Rssi values*/
 #define WMI_MAX_CHAINS 8
 
+#define MAX_AOA_PHASEDELTA      31  /* 62 gain values */
+
 /* The WLAN_MAX_AC macro cannot be changed without breaking
    WMI compatibility. */
 /* The maximum value of access category */
@@ -1535,6 +1537,8 @@ typedef enum {
     /* Event to set halphy cal bitmap */
     WMI_PDEV_SET_HALPHY_CAL_BMAP_EVENTID,
 
+    /* Event to get AOA phasedelta values from HALPHY */
+    WMI_PDEV_AOA_PHASEDELTA_EVENTID,
 
     /* VDEV specific events */
     /** VDEV started event in response to VDEV_START request */
@@ -31761,6 +31765,31 @@ typedef struct {
     A_UINT32 pdev_id;       /* PDEV ID set by the command */
 } wmi_pdev_get_halphy_cal_status_cmd_fixed_param;
 
+typedef struct {
+    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_aoa_phasedelta_evt_fixed_param  */
+    A_UINT32 pdev_id; /* PDEV Id set by the command */
+    A_UINT32 freq; /* Current channel in MHz */
+
+    /*
+     * Phase Delta values:
+     * Two phase delta values are packed into each A_UINT32 word
+     * LSB 16-bit is 1st value and MSB 16-bit is 2nd value
+     * Phasedelta values will be 0-1023 (mapped to 0-360 degree)
+     * Each gain from 0 to 61 has a phasedelta value, e.g.
+     * gain 0's phase delta occupies bits 15:0 of phasedelta[chain][0],
+     * gain 1's phase delta occupies bits 31:16 of phasedelta[chain][0],
+     * gain 2's phase delta occupies bits 15:0 of phasedelta[chain][1], etc.
+     */
+    A_UINT32 phasedelta[WMI_MAX_CHAINS][MAX_AOA_PHASEDELTA];
+
+    /*
+     * IBF cal values:
+     * Used for final AoA calculation
+     * [AoAPhase =  ( PhaseDeltaValue + IBFcalValue )   %   1024]
+     */
+    A_UINT32 perChainIbfCalVal[WMI_MAX_CHAINS];
+} wmi_pdev_aoa_phasedelta_evt_fixed_param;
+
 /* WMI_HALPHY_CAL_LIST:
  *
  * Below is the list of HALPHY online CAL currently enabled in

+ 1 - 1
fw/wmi_version.h

@@ -36,7 +36,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_ 1025
+#define __WMI_REVISION_ 1026
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work