fw-api: CL 14682787 - update fw common interface files
Change-Id: Ib69bb4b77d736fdad55c3bcdd9ab76b4e2fb7f3b WMI: define structs used for interpreting AFC binary data CRs-Fixed: 2262693
这个提交包含在:
@@ -29012,6 +29012,78 @@ typedef struct {
|
||||
*/
|
||||
} wmi_afc_serv_resp_struct;
|
||||
|
||||
/*
|
||||
* The following structures define the format used for AFC binary data objects
|
||||
* shared by the host SW and target FW.
|
||||
* FW expects these structures to be written in shared memory in little-endian
|
||||
* format. If the host/AFC app uses big endian format, Host/APP needs to
|
||||
* byteswap the data, so FW will get data in the expected little-endian format.
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 freq_info; /* bits 15:0 = u16 start_freq,
|
||||
* bits 31:16 = u16 end_freq
|
||||
* both in MHz units
|
||||
*/
|
||||
A_INT32 max_psd; /* Maximum PSD in dBm/MHz, value is stored in 0.01 dBm/MHz steps */
|
||||
} afc_freq_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 channel_cfi; /* channel center frequency index */
|
||||
A_UINT32 max_eirp_pwr; /* maximum permissible EIRP available for above CFI in dBm, value is stored in 0.01 dBm steps */
|
||||
} afc_eirp_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 global_operating_class;
|
||||
A_UINT32 num_channels; /* num of valid channels for above global operating class */
|
||||
/* This structure is followed by (num_channels*sizeof(afc_eirp_info))
|
||||
* bytes array:
|
||||
* afc_eirp_info eirp_info[num_channels];
|
||||
* List of channel cfi and eirp power values,
|
||||
* Total size will be num_channels * sizeof(afc_eirp_info)
|
||||
*/
|
||||
} afc_channel_info;
|
||||
|
||||
/*
|
||||
* For case of afc_server_resp containing binary payload, the buf pointer
|
||||
* in wmi_afc_serv_resp_struct will be poiniting to binary format payload
|
||||
* which is in the format defined below.
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 local_error_code; /* Internal error code between AFC app and target success = 0, General failure = 1 */
|
||||
A_UINT32 version; /* Internal version between AFC app and Target for structure pattern */
|
||||
A_UINT32 afc_wfa_version; /* Version defined in AFC spec document. bits 15:0 -- minor version & bits 31:16 -- major version */
|
||||
A_UINT32 request_id; /* AFC unique request ID */
|
||||
A_UINT32 avail_exp_time_d; /* avail_exp_time_d and avail_exp_time_t are in UTC
|
||||
* Availability expiry time date format: YYYY-MM-DD,
|
||||
* bits 7:0 -DD - Day (expected values 1-31)
|
||||
* bits 15:8 -MM - Month (expected values 1-12)
|
||||
* bits 31:16 -YYYY - Year
|
||||
*/
|
||||
A_UINT32 avail_exp_time_t; /* Availability expiry time format HH-MM-SS
|
||||
* bits 7:0 -SS - Time in Sec (expected values 0-59)
|
||||
* bits 15:8 -MM - Minute (expected values 0-59)
|
||||
* bits 23:16 -HH - Hour (expected values 0-23)
|
||||
* bits 31:24 -reserved
|
||||
*/
|
||||
A_INT32 afc_serv_resp_code; /* response code defined in afc wfa document, refer WMI_AFC_SERV_RESP_CODE */
|
||||
A_UINT32 num_frequency_obj; /* Total number of frequency objects */
|
||||
A_UINT32 num_channel_obj; /* Total number of frequency objects */
|
||||
char shortdesc[64]; /* This field represents a short description related to the result indicated by the response_code
|
||||
* field. End of description will be indicated by 0 */
|
||||
A_UINT32 reserved[2]; /* reserve space for future fields - needs to be set to 0x0 */
|
||||
|
||||
/*
|
||||
* This structure is followed by an array of frequency info and
|
||||
* channel info array:
|
||||
* - afc_freq_info freq_info[num_frequency_obj];
|
||||
* List of frequency power values, total size will be
|
||||
* num_frequency_obj * sizeof(afc_freq_info)
|
||||
* - afc_channel_info chan_info[num_channel_obj];
|
||||
* List of channel power values, total size will be
|
||||
* num_channel_obj * sizeof(afc_channel_info)
|
||||
*/
|
||||
} afc_spectrum_inquiry_resp_bin_type;
|
||||
|
||||
/* Freq units in MHz */
|
||||
#define WMI_REG_RULE_START_FREQ_GET(freq_info) WMI_GET_BITS(freq_info, 0, 16)
|
||||
#define WMI_REG_RULE_START_FREQ_SET(freq_info, value) WMI_SET_BITS(freq_info, 0, 16, value)
|
||||
@@ -29313,6 +29385,11 @@ typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 request_id; /* AFC unique Request ID for AFC expiry event, This is Nonce generated by FW for freshness */
|
||||
A_UINT32 event_subtype; /* refer to WMI_AFC_EXPIRY_EVENT_SUBTYPE */
|
||||
A_UINT32 afc_wfa_version; /* bits 15:0 -- minor version
|
||||
* bits 31:16 -- major version
|
||||
* WMI_AFC_WFA_MINOR_VERSION_GET &
|
||||
* WMI_AFC_WFA_MAJOR_VERSION_GET
|
||||
*/
|
||||
} wmi_afc_expiry_event_param;
|
||||
|
||||
typedef struct {
|
||||
@@ -29353,7 +29430,7 @@ typedef struct {
|
||||
* use MACRO as WMI_REG_RULE_START_FREQ_GET &
|
||||
* WMI_REG_RULE_START_FREQ_SET
|
||||
*/
|
||||
A_INT32 psd_power_info; /* Maximum PSD in dBm/MHz */
|
||||
A_INT32 psd_power_info; /* Maximum PSD in dBm/MHz, value is stored in 0.01 dBm/MHz steps */
|
||||
} wmi_6g_afc_frequency_info;
|
||||
|
||||
typedef struct {
|
||||
@@ -29387,7 +29464,7 @@ typedef struct {
|
||||
* tag equals WMITLV_TAG_STRUC_wmi_afc_chan_eirp_power_info */
|
||||
A_UINT32 tlv_header ;
|
||||
A_UINT32 channel_cfi; /* channel center frequency indices */
|
||||
A_UINT32 eirp_pwr; /* maximum permissible EIRP available for above CFI in dBm */
|
||||
A_UINT32 eirp_pwr; /* maximum permissible EIRP available for above CFI in dBm, value is stored in 0.01 dBm steps */
|
||||
} wmi_afc_chan_eirp_power_info;
|
||||
|
||||
typedef struct {
|
||||
|
@@ -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_ 1022
|
||||
#define __WMI_REVISION_ 1023
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
在新工单中引用
屏蔽一个用户