Path: blob/main/sys/contrib/dev/athk/ath10k/qmi_wlfw_v01.h
111476 views
/* SPDX-License-Identifier: ISC */1/*2* Copyright (c) 2018 The Linux Foundation. All rights reserved.3* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.4*/56#ifndef WCN3990_QMI_SVC_V01_H7#define WCN3990_QMI_SVC_V01_H89#define WLFW_SERVICE_ID_V01 0x4510#define WLFW_SERVICE_VERS_V01 0x011112#define QMI_WLFW_BDF_DOWNLOAD_REQ_V01 0x002513#define QMI_WLFW_MEM_READY_IND_V01 0x003714#define QMI_WLFW_DYNAMIC_FEATURE_MASK_RESP_V01 0x003B15#define QMI_WLFW_INITIATE_CAL_UPDATE_IND_V01 0x002A16#define QMI_WLFW_HOST_CAP_REQ_V01 0x003417#define QMI_WLFW_M3_INFO_REQ_V01 0x003C18#define QMI_WLFW_CAP_REQ_V01 0x002419#define QMI_WLFW_FW_INIT_DONE_IND_V01 0x003820#define QMI_WLFW_CAL_REPORT_REQ_V01 0x002621#define QMI_WLFW_M3_INFO_RESP_V01 0x003C22#define QMI_WLFW_CAL_UPDATE_RESP_V01 0x002923#define QMI_WLFW_CAL_DOWNLOAD_RESP_V01 0x002724#define QMI_WLFW_XO_CAL_IND_V01 0x003D25#define QMI_WLFW_INI_RESP_V01 0x002F26#define QMI_WLFW_CAL_REPORT_RESP_V01 0x002627#define QMI_WLFW_MAC_ADDR_RESP_V01 0x003328#define QMI_WLFW_INITIATE_CAL_DOWNLOAD_IND_V01 0x002829#define QMI_WLFW_HOST_CAP_RESP_V01 0x003430#define QMI_WLFW_MSA_READY_IND_V01 0x002B31#define QMI_WLFW_ATHDIAG_WRITE_RESP_V01 0x003132#define QMI_WLFW_WLAN_MODE_REQ_V01 0x002233#define QMI_WLFW_IND_REGISTER_REQ_V01 0x002034#define QMI_WLFW_WLAN_CFG_RESP_V01 0x002335#define QMI_WLFW_REQUEST_MEM_IND_V01 0x003536#define QMI_WLFW_REJUVENATE_IND_V01 0x003937#define QMI_WLFW_DYNAMIC_FEATURE_MASK_REQ_V01 0x003B38#define QMI_WLFW_ATHDIAG_WRITE_REQ_V01 0x003139#define QMI_WLFW_WLAN_MODE_RESP_V01 0x002240#define QMI_WLFW_RESPOND_MEM_REQ_V01 0x003641#define QMI_WLFW_PIN_CONNECT_RESULT_IND_V01 0x002C42#define QMI_WLFW_FW_READY_IND_V01 0x002143#define QMI_WLFW_MSA_READY_RESP_V01 0x002E44#define QMI_WLFW_CAL_UPDATE_REQ_V01 0x002945#define QMI_WLFW_INI_REQ_V01 0x002F46#define QMI_WLFW_BDF_DOWNLOAD_RESP_V01 0x002547#define QMI_WLFW_REJUVENATE_ACK_RESP_V01 0x003A48#define QMI_WLFW_MSA_INFO_RESP_V01 0x002D49#define QMI_WLFW_MSA_READY_REQ_V01 0x002E50#define QMI_WLFW_CAP_RESP_V01 0x002451#define QMI_WLFW_REJUVENATE_ACK_REQ_V01 0x003A52#define QMI_WLFW_ATHDIAG_READ_RESP_V01 0x003053#define QMI_WLFW_VBATT_REQ_V01 0x003254#define QMI_WLFW_MAC_ADDR_REQ_V01 0x003355#define QMI_WLFW_RESPOND_MEM_RESP_V01 0x003656#define QMI_WLFW_VBATT_RESP_V01 0x003257#define QMI_WLFW_MSA_INFO_REQ_V01 0x002D58#define QMI_WLFW_CAL_DOWNLOAD_REQ_V01 0x002759#define QMI_WLFW_ATHDIAG_READ_REQ_V01 0x003060#define QMI_WLFW_WLAN_CFG_REQ_V01 0x002361#define QMI_WLFW_IND_REGISTER_RESP_V01 0x00206263#define QMI_WLFW_MAX_MEM_REG_V01 264#define QMI_WLFW_MAX_NUM_MEM_SEG_V01 1665#define QMI_WLFW_MAX_NUM_CAL_V01 566#define QMI_WLFW_MAX_DATA_SIZE_V01 614467#define QMI_WLFW_FUNCTION_NAME_LEN_V01 12868#define QMI_WLFW_MAX_NUM_CE_V01 1269#define QMI_WLFW_MAX_TIMESTAMP_LEN_V01 3270#define QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01 614471#define QMI_WLFW_MAX_NUM_GPIO_V01 3272#define QMI_WLFW_MAX_BUILD_ID_LEN_V01 12873#define QMI_WLFW_MAX_NUM_MEM_CFG_V01 274#define QMI_WLFW_MAX_STR_LEN_V01 1675#define QMI_WLFW_MAX_NUM_SHADOW_REG_V01 2476#define QMI_WLFW_MAC_ADDR_SIZE_V01 677#define QMI_WLFW_MAX_SHADOW_REG_V2 3678#define QMI_WLFW_MAX_NUM_SVC_V01 247980enum wlfw_driver_mode_enum_v01 {81QMI_WLFW_MISSION_V01 = 0,82QMI_WLFW_FTM_V01 = 1,83QMI_WLFW_EPPING_V01 = 2,84QMI_WLFW_WALTEST_V01 = 3,85QMI_WLFW_OFF_V01 = 4,86QMI_WLFW_CCPM_V01 = 5,87QMI_WLFW_QVIT_V01 = 6,88QMI_WLFW_CALIBRATION_V01 = 7,89};9091enum wlfw_cal_temp_id_enum_v01 {92QMI_WLFW_CAL_TEMP_IDX_0_V01 = 0,93QMI_WLFW_CAL_TEMP_IDX_1_V01 = 1,94QMI_WLFW_CAL_TEMP_IDX_2_V01 = 2,95QMI_WLFW_CAL_TEMP_IDX_3_V01 = 3,96QMI_WLFW_CAL_TEMP_IDX_4_V01 = 4,97};9899enum wlfw_pipedir_enum_v01 {100QMI_WLFW_PIPEDIR_NONE_V01 = 0,101QMI_WLFW_PIPEDIR_IN_V01 = 1,102QMI_WLFW_PIPEDIR_OUT_V01 = 2,103QMI_WLFW_PIPEDIR_INOUT_V01 = 3,104};105106enum wlfw_mem_type_enum_v01 {107QMI_WLFW_MEM_TYPE_MSA_V01 = 0,108QMI_WLFW_MEM_TYPE_DDR_V01 = 1,109};110111#define QMI_WLFW_CE_ATTR_FLAGS_V01 ((u32)0x00)112#define QMI_WLFW_CE_ATTR_NO_SNOOP_V01 ((u32)0x01)113#define QMI_WLFW_CE_ATTR_BYTE_SWAP_DATA_V01 ((u32)0x02)114#define QMI_WLFW_CE_ATTR_SWIZZLE_DESCRIPTORS_V01 ((u32)0x04)115#define QMI_WLFW_CE_ATTR_DISABLE_INTR_V01 ((u32)0x08)116#define QMI_WLFW_CE_ATTR_ENABLE_POLL_V01 ((u32)0x10)117118#define QMI_WLFW_ALREADY_REGISTERED_V01 ((u64)0x01ULL)119#define QMI_WLFW_FW_READY_V01 ((u64)0x02ULL)120#define QMI_WLFW_MSA_READY_V01 ((u64)0x04ULL)121#define QMI_WLFW_MEM_READY_V01 ((u64)0x08ULL)122#define QMI_WLFW_FW_INIT_DONE_V01 ((u64)0x10ULL)123124#define QMI_WLFW_FW_REJUVENATE_V01 ((u64)0x01ULL)125126struct wlfw_ce_tgt_pipe_cfg_s_v01 {127__le32 pipe_num;128__le32 pipe_dir;129__le32 nentries;130__le32 nbytes_max;131__le32 flags;132};133134struct wlfw_ce_svc_pipe_cfg_s_v01 {135__le32 service_id;136__le32 pipe_dir;137__le32 pipe_num;138};139140struct wlfw_shadow_reg_cfg_s_v01 {141u16 id;142u16 offset;143};144145struct wlfw_shadow_reg_v2_cfg_s_v01 {146u32 addr;147};148149struct wlfw_memory_region_info_s_v01 {150u64 region_addr;151u32 size;152u8 secure_flag;153};154155struct wlfw_mem_cfg_s_v01 {156u64 offset;157u32 size;158u8 secure_flag;159};160161struct wlfw_mem_seg_s_v01 {162u32 size;163enum wlfw_mem_type_enum_v01 type;164u32 mem_cfg_len;165struct wlfw_mem_cfg_s_v01 mem_cfg[QMI_WLFW_MAX_NUM_MEM_CFG_V01];166};167168struct wlfw_mem_seg_resp_s_v01 {169u64 addr;170u32 size;171enum wlfw_mem_type_enum_v01 type;172};173174struct wlfw_rf_chip_info_s_v01 {175u32 chip_id;176u32 chip_family;177};178179struct wlfw_rf_board_info_s_v01 {180u32 board_id;181};182183struct wlfw_soc_info_s_v01 {184u32 soc_id;185};186187struct wlfw_fw_version_info_s_v01 {188u32 fw_version;189char fw_build_timestamp[QMI_WLFW_MAX_TIMESTAMP_LEN_V01 + 1];190};191192struct wlfw_ind_register_req_msg_v01 {193u8 fw_ready_enable_valid;194u8 fw_ready_enable;195u8 initiate_cal_download_enable_valid;196u8 initiate_cal_download_enable;197u8 initiate_cal_update_enable_valid;198u8 initiate_cal_update_enable;199u8 msa_ready_enable_valid;200u8 msa_ready_enable;201u8 pin_connect_result_enable_valid;202u8 pin_connect_result_enable;203u8 client_id_valid;204u32 client_id;205u8 request_mem_enable_valid;206u8 request_mem_enable;207u8 mem_ready_enable_valid;208u8 mem_ready_enable;209u8 fw_init_done_enable_valid;210u8 fw_init_done_enable;211u8 rejuvenate_enable_valid;212u32 rejuvenate_enable;213u8 xo_cal_enable_valid;214u8 xo_cal_enable;215};216217#define WLFW_IND_REGISTER_REQ_MSG_V01_MAX_MSG_LEN 50218extern const struct qmi_elem_info wlfw_ind_register_req_msg_v01_ei[];219220struct wlfw_ind_register_resp_msg_v01 {221struct qmi_response_type_v01 resp;222u8 fw_status_valid;223u64 fw_status;224};225226#define WLFW_IND_REGISTER_RESP_MSG_V01_MAX_MSG_LEN 18227extern const struct qmi_elem_info wlfw_ind_register_resp_msg_v01_ei[];228229struct wlfw_fw_ready_ind_msg_v01 {230char placeholder;231};232233#define WLFW_FW_READY_IND_MSG_V01_MAX_MSG_LEN 0234extern const struct qmi_elem_info wlfw_fw_ready_ind_msg_v01_ei[];235236struct wlfw_msa_ready_ind_msg_v01 {237char placeholder;238};239240#define WLFW_MSA_READY_IND_MSG_V01_MAX_MSG_LEN 0241extern const struct qmi_elem_info wlfw_msa_ready_ind_msg_v01_ei[];242243struct wlfw_pin_connect_result_ind_msg_v01 {244u8 pwr_pin_result_valid;245u32 pwr_pin_result;246u8 phy_io_pin_result_valid;247u32 phy_io_pin_result;248u8 rf_pin_result_valid;249u32 rf_pin_result;250};251252#define WLFW_PIN_CONNECT_RESULT_IND_MSG_V01_MAX_MSG_LEN 21253extern const struct qmi_elem_info wlfw_pin_connect_result_ind_msg_v01_ei[];254255struct wlfw_wlan_mode_req_msg_v01 {256enum wlfw_driver_mode_enum_v01 mode;257u8 hw_debug_valid;258u8 hw_debug;259};260261#define WLFW_WLAN_MODE_REQ_MSG_V01_MAX_MSG_LEN 11262extern const struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[];263264struct wlfw_wlan_mode_resp_msg_v01 {265struct qmi_response_type_v01 resp;266};267268#define WLFW_WLAN_MODE_RESP_MSG_V01_MAX_MSG_LEN 7269extern const struct qmi_elem_info wlfw_wlan_mode_resp_msg_v01_ei[];270271struct wlfw_wlan_cfg_req_msg_v01 {272u8 host_version_valid;273char host_version[QMI_WLFW_MAX_STR_LEN_V01 + 1];274u8 tgt_cfg_valid;275u32 tgt_cfg_len;276struct wlfw_ce_tgt_pipe_cfg_s_v01 tgt_cfg[QMI_WLFW_MAX_NUM_CE_V01];277u8 svc_cfg_valid;278u32 svc_cfg_len;279struct wlfw_ce_svc_pipe_cfg_s_v01 svc_cfg[QMI_WLFW_MAX_NUM_SVC_V01];280u8 shadow_reg_valid;281u32 shadow_reg_len;282struct wlfw_shadow_reg_cfg_s_v01 shadow_reg[QMI_WLFW_MAX_NUM_SHADOW_REG_V01];283u8 shadow_reg_v2_valid;284u32 shadow_reg_v2_len;285struct wlfw_shadow_reg_v2_cfg_s_v01 shadow_reg_v2[QMI_WLFW_MAX_SHADOW_REG_V2];286};287288#define WLFW_WLAN_CFG_REQ_MSG_V01_MAX_MSG_LEN 803289extern const struct qmi_elem_info wlfw_wlan_cfg_req_msg_v01_ei[];290291struct wlfw_wlan_cfg_resp_msg_v01 {292struct qmi_response_type_v01 resp;293};294295#define WLFW_WLAN_CFG_RESP_MSG_V01_MAX_MSG_LEN 7296extern const struct qmi_elem_info wlfw_wlan_cfg_resp_msg_v01_ei[];297298struct wlfw_cap_req_msg_v01 {299char placeholder;300};301302#define WLFW_CAP_REQ_MSG_V01_MAX_MSG_LEN 0303extern const struct qmi_elem_info wlfw_cap_req_msg_v01_ei[];304305struct wlfw_cap_resp_msg_v01 {306struct qmi_response_type_v01 resp;307u8 chip_info_valid;308struct wlfw_rf_chip_info_s_v01 chip_info;309u8 board_info_valid;310struct wlfw_rf_board_info_s_v01 board_info;311u8 soc_info_valid;312struct wlfw_soc_info_s_v01 soc_info;313u8 fw_version_info_valid;314struct wlfw_fw_version_info_s_v01 fw_version_info;315u8 fw_build_id_valid;316char fw_build_id[QMI_WLFW_MAX_BUILD_ID_LEN_V01 + 1];317u8 num_macs_valid;318u8 num_macs;319};320321#define WLFW_CAP_RESP_MSG_V01_MAX_MSG_LEN 207322extern const struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[];323324struct wlfw_bdf_download_req_msg_v01 {325u8 valid;326u8 file_id_valid;327enum wlfw_cal_temp_id_enum_v01 file_id;328u8 total_size_valid;329u32 total_size;330u8 seg_id_valid;331u32 seg_id;332u8 data_valid;333u32 data_len;334u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];335u8 end_valid;336u8 end;337u8 bdf_type_valid;338u8 bdf_type;339};340341#define WLFW_BDF_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6182342extern const struct qmi_elem_info wlfw_bdf_download_req_msg_v01_ei[];343344struct wlfw_bdf_download_resp_msg_v01 {345struct qmi_response_type_v01 resp;346};347348#define WLFW_BDF_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7349extern const struct qmi_elem_info wlfw_bdf_download_resp_msg_v01_ei[];350351struct wlfw_cal_report_req_msg_v01 {352u32 meta_data_len;353enum wlfw_cal_temp_id_enum_v01 meta_data[QMI_WLFW_MAX_NUM_CAL_V01];354u8 xo_cal_data_valid;355u8 xo_cal_data;356};357358#define WLFW_CAL_REPORT_REQ_MSG_V01_MAX_MSG_LEN 28359extern const struct qmi_elem_info wlfw_cal_report_req_msg_v01_ei[];360361struct wlfw_cal_report_resp_msg_v01 {362struct qmi_response_type_v01 resp;363};364365#define WLFW_CAL_REPORT_RESP_MSG_V01_MAX_MSG_LEN 7366extern const struct qmi_elem_info wlfw_cal_report_resp_msg_v01_ei[];367368struct wlfw_initiate_cal_download_ind_msg_v01 {369enum wlfw_cal_temp_id_enum_v01 cal_id;370};371372#define WLFW_INITIATE_CAL_DOWNLOAD_IND_MSG_V01_MAX_MSG_LEN 7373extern const struct qmi_elem_info wlfw_initiate_cal_download_ind_msg_v01_ei[];374375struct wlfw_cal_download_req_msg_v01 {376u8 valid;377u8 file_id_valid;378enum wlfw_cal_temp_id_enum_v01 file_id;379u8 total_size_valid;380u32 total_size;381u8 seg_id_valid;382u32 seg_id;383u8 data_valid;384u32 data_len;385u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];386u8 end_valid;387u8 end;388};389390#define WLFW_CAL_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6178391extern const struct qmi_elem_info wlfw_cal_download_req_msg_v01_ei[];392393struct wlfw_cal_download_resp_msg_v01 {394struct qmi_response_type_v01 resp;395};396397#define WLFW_CAL_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7398extern const struct qmi_elem_info wlfw_cal_download_resp_msg_v01_ei[];399400struct wlfw_initiate_cal_update_ind_msg_v01 {401enum wlfw_cal_temp_id_enum_v01 cal_id;402u32 total_size;403};404405#define WLFW_INITIATE_CAL_UPDATE_IND_MSG_V01_MAX_MSG_LEN 14406extern const struct qmi_elem_info wlfw_initiate_cal_update_ind_msg_v01_ei[];407408struct wlfw_cal_update_req_msg_v01 {409enum wlfw_cal_temp_id_enum_v01 cal_id;410u32 seg_id;411};412413#define WLFW_CAL_UPDATE_REQ_MSG_V01_MAX_MSG_LEN 14414extern const struct qmi_elem_info wlfw_cal_update_req_msg_v01_ei[];415416struct wlfw_cal_update_resp_msg_v01 {417struct qmi_response_type_v01 resp;418u8 file_id_valid;419enum wlfw_cal_temp_id_enum_v01 file_id;420u8 total_size_valid;421u32 total_size;422u8 seg_id_valid;423u32 seg_id;424u8 data_valid;425u32 data_len;426u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];427u8 end_valid;428u8 end;429};430431#define WLFW_CAL_UPDATE_RESP_MSG_V01_MAX_MSG_LEN 6181432extern const struct qmi_elem_info wlfw_cal_update_resp_msg_v01_ei[];433434struct wlfw_msa_info_req_msg_v01 {435u64 msa_addr;436u32 size;437};438439#define WLFW_MSA_INFO_REQ_MSG_V01_MAX_MSG_LEN 18440extern const struct qmi_elem_info wlfw_msa_info_req_msg_v01_ei[];441442struct wlfw_msa_info_resp_msg_v01 {443struct qmi_response_type_v01 resp;444u32 mem_region_info_len;445struct wlfw_memory_region_info_s_v01 mem_region_info[QMI_WLFW_MAX_MEM_REG_V01];446};447448#define WLFW_MSA_INFO_RESP_MSG_V01_MAX_MSG_LEN 37449extern const struct qmi_elem_info wlfw_msa_info_resp_msg_v01_ei[];450451struct wlfw_msa_ready_req_msg_v01 {452char placeholder;453};454455#define WLFW_MSA_READY_REQ_MSG_V01_MAX_MSG_LEN 0456extern const struct qmi_elem_info wlfw_msa_ready_req_msg_v01_ei[];457458struct wlfw_msa_ready_resp_msg_v01 {459struct qmi_response_type_v01 resp;460};461462#define WLFW_MSA_READY_RESP_MSG_V01_MAX_MSG_LEN 7463extern const struct qmi_elem_info wlfw_msa_ready_resp_msg_v01_ei[];464465struct wlfw_ini_req_msg_v01 {466u8 enablefwlog_valid;467u8 enablefwlog;468};469470#define WLFW_INI_REQ_MSG_V01_MAX_MSG_LEN 4471extern const struct qmi_elem_info wlfw_ini_req_msg_v01_ei[];472473struct wlfw_ini_resp_msg_v01 {474struct qmi_response_type_v01 resp;475};476477#define WLFW_INI_RESP_MSG_V01_MAX_MSG_LEN 7478extern const struct qmi_elem_info wlfw_ini_resp_msg_v01_ei[];479480struct wlfw_athdiag_read_req_msg_v01 {481u32 offset;482u32 mem_type;483u32 data_len;484};485486#define WLFW_ATHDIAG_READ_REQ_MSG_V01_MAX_MSG_LEN 21487extern const struct qmi_elem_info wlfw_athdiag_read_req_msg_v01_ei[];488489struct wlfw_athdiag_read_resp_msg_v01 {490struct qmi_response_type_v01 resp;491u8 data_valid;492u32 data_len;493u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];494};495496#define WLFW_ATHDIAG_READ_RESP_MSG_V01_MAX_MSG_LEN 6156497extern const struct qmi_elem_info wlfw_athdiag_read_resp_msg_v01_ei[];498499struct wlfw_athdiag_write_req_msg_v01 {500u32 offset;501u32 mem_type;502u32 data_len;503u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];504};505506#define WLFW_ATHDIAG_WRITE_REQ_MSG_V01_MAX_MSG_LEN 6163507extern const struct qmi_elem_info wlfw_athdiag_write_req_msg_v01_ei[];508509struct wlfw_athdiag_write_resp_msg_v01 {510struct qmi_response_type_v01 resp;511};512513#define WLFW_ATHDIAG_WRITE_RESP_MSG_V01_MAX_MSG_LEN 7514extern const struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[];515516struct wlfw_vbatt_req_msg_v01 {517u64 voltage_uv;518};519520#define WLFW_VBATT_REQ_MSG_V01_MAX_MSG_LEN 11521extern const struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[];522523struct wlfw_vbatt_resp_msg_v01 {524struct qmi_response_type_v01 resp;525};526527#define WLFW_VBATT_RESP_MSG_V01_MAX_MSG_LEN 7528extern const struct qmi_elem_info wlfw_vbatt_resp_msg_v01_ei[];529530struct wlfw_mac_addr_req_msg_v01 {531u8 mac_addr_valid;532u8 mac_addr[QMI_WLFW_MAC_ADDR_SIZE_V01];533};534535#define WLFW_MAC_ADDR_REQ_MSG_V01_MAX_MSG_LEN 9536extern const struct qmi_elem_info wlfw_mac_addr_req_msg_v01_ei[];537538struct wlfw_mac_addr_resp_msg_v01 {539struct qmi_response_type_v01 resp;540};541542#define WLFW_MAC_ADDR_RESP_MSG_V01_MAX_MSG_LEN 7543extern const struct qmi_elem_info wlfw_mac_addr_resp_msg_v01_ei[];544545#define QMI_WLFW_MAX_NUM_GPIO_V01 32546struct wlfw_host_cap_req_msg_v01 {547u8 daemon_support_valid;548u32 daemon_support;549u8 wake_msi_valid;550u32 wake_msi;551u8 gpios_valid;552u32 gpios_len;553u32 gpios[QMI_WLFW_MAX_NUM_GPIO_V01];554u8 nm_modem_valid;555u8 nm_modem;556u8 bdf_support_valid;557u8 bdf_support;558u8 bdf_cache_support_valid;559u8 bdf_cache_support;560u8 m3_support_valid;561u8 m3_support;562u8 m3_cache_support_valid;563u8 m3_cache_support;564u8 cal_filesys_support_valid;565u8 cal_filesys_support;566u8 cal_cache_support_valid;567u8 cal_cache_support;568u8 cal_done_valid;569u8 cal_done;570u8 mem_bucket_valid;571u32 mem_bucket;572u8 mem_cfg_mode_valid;573u8 mem_cfg_mode;574};575576#define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 189577extern const struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[];578extern const struct qmi_elem_info wlfw_host_cap_8bit_req_msg_v01_ei[];579580struct wlfw_host_cap_resp_msg_v01 {581struct qmi_response_type_v01 resp;582};583584#define WLFW_HOST_CAP_RESP_MSG_V01_MAX_MSG_LEN 7585extern const struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[];586587struct wlfw_request_mem_ind_msg_v01 {588u32 mem_seg_len;589struct wlfw_mem_seg_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];590};591592#define WLFW_REQUEST_MEM_IND_MSG_V01_MAX_MSG_LEN 564593extern const struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[];594595struct wlfw_respond_mem_req_msg_v01 {596u32 mem_seg_len;597struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];598};599600#define WLFW_RESPOND_MEM_REQ_MSG_V01_MAX_MSG_LEN 260601extern const struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[];602603struct wlfw_respond_mem_resp_msg_v01 {604struct qmi_response_type_v01 resp;605};606607#define WLFW_RESPOND_MEM_RESP_MSG_V01_MAX_MSG_LEN 7608extern const struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[];609610struct wlfw_mem_ready_ind_msg_v01 {611char placeholder;612};613614#define WLFW_MEM_READY_IND_MSG_V01_MAX_MSG_LEN 0615extern const struct qmi_elem_info wlfw_mem_ready_ind_msg_v01_ei[];616617struct wlfw_fw_init_done_ind_msg_v01 {618char placeholder;619};620621#define WLFW_FW_INIT_DONE_IND_MSG_V01_MAX_MSG_LEN 0622extern const struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[];623624struct wlfw_rejuvenate_ind_msg_v01 {625u8 cause_for_rejuvenation_valid;626u8 cause_for_rejuvenation;627u8 requesting_sub_system_valid;628u8 requesting_sub_system;629u8 line_number_valid;630u16 line_number;631u8 function_name_valid;632char function_name[QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1];633};634635#define WLFW_REJUVENATE_IND_MSG_V01_MAX_MSG_LEN 144636extern const struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[];637638struct wlfw_rejuvenate_ack_req_msg_v01 {639char placeholder;640};641642#define WLFW_REJUVENATE_ACK_REQ_MSG_V01_MAX_MSG_LEN 0643extern const struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[];644645struct wlfw_rejuvenate_ack_resp_msg_v01 {646struct qmi_response_type_v01 resp;647};648649#define WLFW_REJUVENATE_ACK_RESP_MSG_V01_MAX_MSG_LEN 7650extern const struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[];651652struct wlfw_dynamic_feature_mask_req_msg_v01 {653u8 mask_valid;654u64 mask;655};656657#define WLFW_DYNAMIC_FEATURE_MASK_REQ_MSG_V01_MAX_MSG_LEN 11658extern const struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[];659660struct wlfw_dynamic_feature_mask_resp_msg_v01 {661struct qmi_response_type_v01 resp;662u8 prev_mask_valid;663u64 prev_mask;664u8 curr_mask_valid;665u64 curr_mask;666};667668#define WLFW_DYNAMIC_FEATURE_MASK_RESP_MSG_V01_MAX_MSG_LEN 29669extern const struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[];670671struct wlfw_m3_info_req_msg_v01 {672u64 addr;673u32 size;674};675676#define WLFW_M3_INFO_REQ_MSG_V01_MAX_MSG_LEN 18677extern const struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[];678679struct wlfw_m3_info_resp_msg_v01 {680struct qmi_response_type_v01 resp;681};682683#define WLFW_M3_INFO_RESP_MSG_V01_MAX_MSG_LEN 7684extern const struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[];685686struct wlfw_xo_cal_ind_msg_v01 {687u8 xo_cal_data;688};689690#define WLFW_XO_CAL_IND_MSG_V01_MAX_MSG_LEN 4691extern const struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[];692693#endif694695696