0001
0002
0003
0004
0005
0006 #ifndef WCN3990_QMI_SVC_V01_H
0007 #define WCN3990_QMI_SVC_V01_H
0008
0009 #define WLFW_SERVICE_ID_V01 0x45
0010 #define WLFW_SERVICE_VERS_V01 0x01
0011
0012 #define QMI_WLFW_BDF_DOWNLOAD_REQ_V01 0x0025
0013 #define QMI_WLFW_MEM_READY_IND_V01 0x0037
0014 #define QMI_WLFW_DYNAMIC_FEATURE_MASK_RESP_V01 0x003B
0015 #define QMI_WLFW_INITIATE_CAL_UPDATE_IND_V01 0x002A
0016 #define QMI_WLFW_HOST_CAP_REQ_V01 0x0034
0017 #define QMI_WLFW_M3_INFO_REQ_V01 0x003C
0018 #define QMI_WLFW_CAP_REQ_V01 0x0024
0019 #define QMI_WLFW_FW_INIT_DONE_IND_V01 0x0038
0020 #define QMI_WLFW_CAL_REPORT_REQ_V01 0x0026
0021 #define QMI_WLFW_M3_INFO_RESP_V01 0x003C
0022 #define QMI_WLFW_CAL_UPDATE_RESP_V01 0x0029
0023 #define QMI_WLFW_CAL_DOWNLOAD_RESP_V01 0x0027
0024 #define QMI_WLFW_XO_CAL_IND_V01 0x003D
0025 #define QMI_WLFW_INI_RESP_V01 0x002F
0026 #define QMI_WLFW_CAL_REPORT_RESP_V01 0x0026
0027 #define QMI_WLFW_MAC_ADDR_RESP_V01 0x0033
0028 #define QMI_WLFW_INITIATE_CAL_DOWNLOAD_IND_V01 0x0028
0029 #define QMI_WLFW_HOST_CAP_RESP_V01 0x0034
0030 #define QMI_WLFW_MSA_READY_IND_V01 0x002B
0031 #define QMI_WLFW_ATHDIAG_WRITE_RESP_V01 0x0031
0032 #define QMI_WLFW_WLAN_MODE_REQ_V01 0x0022
0033 #define QMI_WLFW_IND_REGISTER_REQ_V01 0x0020
0034 #define QMI_WLFW_WLAN_CFG_RESP_V01 0x0023
0035 #define QMI_WLFW_REQUEST_MEM_IND_V01 0x0035
0036 #define QMI_WLFW_REJUVENATE_IND_V01 0x0039
0037 #define QMI_WLFW_DYNAMIC_FEATURE_MASK_REQ_V01 0x003B
0038 #define QMI_WLFW_ATHDIAG_WRITE_REQ_V01 0x0031
0039 #define QMI_WLFW_WLAN_MODE_RESP_V01 0x0022
0040 #define QMI_WLFW_RESPOND_MEM_REQ_V01 0x0036
0041 #define QMI_WLFW_PIN_CONNECT_RESULT_IND_V01 0x002C
0042 #define QMI_WLFW_FW_READY_IND_V01 0x0021
0043 #define QMI_WLFW_MSA_READY_RESP_V01 0x002E
0044 #define QMI_WLFW_CAL_UPDATE_REQ_V01 0x0029
0045 #define QMI_WLFW_INI_REQ_V01 0x002F
0046 #define QMI_WLFW_BDF_DOWNLOAD_RESP_V01 0x0025
0047 #define QMI_WLFW_REJUVENATE_ACK_RESP_V01 0x003A
0048 #define QMI_WLFW_MSA_INFO_RESP_V01 0x002D
0049 #define QMI_WLFW_MSA_READY_REQ_V01 0x002E
0050 #define QMI_WLFW_CAP_RESP_V01 0x0024
0051 #define QMI_WLFW_REJUVENATE_ACK_REQ_V01 0x003A
0052 #define QMI_WLFW_ATHDIAG_READ_RESP_V01 0x0030
0053 #define QMI_WLFW_VBATT_REQ_V01 0x0032
0054 #define QMI_WLFW_MAC_ADDR_REQ_V01 0x0033
0055 #define QMI_WLFW_RESPOND_MEM_RESP_V01 0x0036
0056 #define QMI_WLFW_VBATT_RESP_V01 0x0032
0057 #define QMI_WLFW_MSA_INFO_REQ_V01 0x002D
0058 #define QMI_WLFW_CAL_DOWNLOAD_REQ_V01 0x0027
0059 #define QMI_WLFW_ATHDIAG_READ_REQ_V01 0x0030
0060 #define QMI_WLFW_WLAN_CFG_REQ_V01 0x0023
0061 #define QMI_WLFW_IND_REGISTER_RESP_V01 0x0020
0062
0063 #define QMI_WLFW_MAX_MEM_REG_V01 2
0064 #define QMI_WLFW_MAX_NUM_MEM_SEG_V01 16
0065 #define QMI_WLFW_MAX_NUM_CAL_V01 5
0066 #define QMI_WLFW_MAX_DATA_SIZE_V01 6144
0067 #define QMI_WLFW_FUNCTION_NAME_LEN_V01 128
0068 #define QMI_WLFW_MAX_NUM_CE_V01 12
0069 #define QMI_WLFW_MAX_TIMESTAMP_LEN_V01 32
0070 #define QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01 6144
0071 #define QMI_WLFW_MAX_NUM_GPIO_V01 32
0072 #define QMI_WLFW_MAX_BUILD_ID_LEN_V01 128
0073 #define QMI_WLFW_MAX_NUM_MEM_CFG_V01 2
0074 #define QMI_WLFW_MAX_STR_LEN_V01 16
0075 #define QMI_WLFW_MAX_NUM_SHADOW_REG_V01 24
0076 #define QMI_WLFW_MAC_ADDR_SIZE_V01 6
0077 #define QMI_WLFW_MAX_SHADOW_REG_V2 36
0078 #define QMI_WLFW_MAX_NUM_SVC_V01 24
0079
0080 enum wlfw_driver_mode_enum_v01 {
0081 QMI_WLFW_MISSION_V01 = 0,
0082 QMI_WLFW_FTM_V01 = 1,
0083 QMI_WLFW_EPPING_V01 = 2,
0084 QMI_WLFW_WALTEST_V01 = 3,
0085 QMI_WLFW_OFF_V01 = 4,
0086 QMI_WLFW_CCPM_V01 = 5,
0087 QMI_WLFW_QVIT_V01 = 6,
0088 QMI_WLFW_CALIBRATION_V01 = 7,
0089 };
0090
0091 enum wlfw_cal_temp_id_enum_v01 {
0092 QMI_WLFW_CAL_TEMP_IDX_0_V01 = 0,
0093 QMI_WLFW_CAL_TEMP_IDX_1_V01 = 1,
0094 QMI_WLFW_CAL_TEMP_IDX_2_V01 = 2,
0095 QMI_WLFW_CAL_TEMP_IDX_3_V01 = 3,
0096 QMI_WLFW_CAL_TEMP_IDX_4_V01 = 4,
0097 };
0098
0099 enum wlfw_pipedir_enum_v01 {
0100 QMI_WLFW_PIPEDIR_NONE_V01 = 0,
0101 QMI_WLFW_PIPEDIR_IN_V01 = 1,
0102 QMI_WLFW_PIPEDIR_OUT_V01 = 2,
0103 QMI_WLFW_PIPEDIR_INOUT_V01 = 3,
0104 };
0105
0106 enum wlfw_mem_type_enum_v01 {
0107 QMI_WLFW_MEM_TYPE_MSA_V01 = 0,
0108 QMI_WLFW_MEM_TYPE_DDR_V01 = 1,
0109 };
0110
0111 #define QMI_WLFW_CE_ATTR_FLAGS_V01 ((u32)0x00)
0112 #define QMI_WLFW_CE_ATTR_NO_SNOOP_V01 ((u32)0x01)
0113 #define QMI_WLFW_CE_ATTR_BYTE_SWAP_DATA_V01 ((u32)0x02)
0114 #define QMI_WLFW_CE_ATTR_SWIZZLE_DESCRIPTORS_V01 ((u32)0x04)
0115 #define QMI_WLFW_CE_ATTR_DISABLE_INTR_V01 ((u32)0x08)
0116 #define QMI_WLFW_CE_ATTR_ENABLE_POLL_V01 ((u32)0x10)
0117
0118 #define QMI_WLFW_ALREADY_REGISTERED_V01 ((u64)0x01ULL)
0119 #define QMI_WLFW_FW_READY_V01 ((u64)0x02ULL)
0120 #define QMI_WLFW_MSA_READY_V01 ((u64)0x04ULL)
0121 #define QMI_WLFW_MEM_READY_V01 ((u64)0x08ULL)
0122 #define QMI_WLFW_FW_INIT_DONE_V01 ((u64)0x10ULL)
0123
0124 #define QMI_WLFW_FW_REJUVENATE_V01 ((u64)0x01ULL)
0125
0126 struct wlfw_ce_tgt_pipe_cfg_s_v01 {
0127 __le32 pipe_num;
0128 __le32 pipe_dir;
0129 __le32 nentries;
0130 __le32 nbytes_max;
0131 __le32 flags;
0132 };
0133
0134 struct wlfw_ce_svc_pipe_cfg_s_v01 {
0135 __le32 service_id;
0136 __le32 pipe_dir;
0137 __le32 pipe_num;
0138 };
0139
0140 struct wlfw_shadow_reg_cfg_s_v01 {
0141 u16 id;
0142 u16 offset;
0143 };
0144
0145 struct wlfw_shadow_reg_v2_cfg_s_v01 {
0146 u32 addr;
0147 };
0148
0149 struct wlfw_memory_region_info_s_v01 {
0150 u64 region_addr;
0151 u32 size;
0152 u8 secure_flag;
0153 };
0154
0155 struct wlfw_mem_cfg_s_v01 {
0156 u64 offset;
0157 u32 size;
0158 u8 secure_flag;
0159 };
0160
0161 struct wlfw_mem_seg_s_v01 {
0162 u32 size;
0163 enum wlfw_mem_type_enum_v01 type;
0164 u32 mem_cfg_len;
0165 struct wlfw_mem_cfg_s_v01 mem_cfg[QMI_WLFW_MAX_NUM_MEM_CFG_V01];
0166 };
0167
0168 struct wlfw_mem_seg_resp_s_v01 {
0169 u64 addr;
0170 u32 size;
0171 enum wlfw_mem_type_enum_v01 type;
0172 };
0173
0174 struct wlfw_rf_chip_info_s_v01 {
0175 u32 chip_id;
0176 u32 chip_family;
0177 };
0178
0179 struct wlfw_rf_board_info_s_v01 {
0180 u32 board_id;
0181 };
0182
0183 struct wlfw_soc_info_s_v01 {
0184 u32 soc_id;
0185 };
0186
0187 struct wlfw_fw_version_info_s_v01 {
0188 u32 fw_version;
0189 char fw_build_timestamp[QMI_WLFW_MAX_TIMESTAMP_LEN_V01 + 1];
0190 };
0191
0192 struct wlfw_ind_register_req_msg_v01 {
0193 u8 fw_ready_enable_valid;
0194 u8 fw_ready_enable;
0195 u8 initiate_cal_download_enable_valid;
0196 u8 initiate_cal_download_enable;
0197 u8 initiate_cal_update_enable_valid;
0198 u8 initiate_cal_update_enable;
0199 u8 msa_ready_enable_valid;
0200 u8 msa_ready_enable;
0201 u8 pin_connect_result_enable_valid;
0202 u8 pin_connect_result_enable;
0203 u8 client_id_valid;
0204 u32 client_id;
0205 u8 request_mem_enable_valid;
0206 u8 request_mem_enable;
0207 u8 mem_ready_enable_valid;
0208 u8 mem_ready_enable;
0209 u8 fw_init_done_enable_valid;
0210 u8 fw_init_done_enable;
0211 u8 rejuvenate_enable_valid;
0212 u32 rejuvenate_enable;
0213 u8 xo_cal_enable_valid;
0214 u8 xo_cal_enable;
0215 };
0216
0217 #define WLFW_IND_REGISTER_REQ_MSG_V01_MAX_MSG_LEN 50
0218 extern struct qmi_elem_info wlfw_ind_register_req_msg_v01_ei[];
0219
0220 struct wlfw_ind_register_resp_msg_v01 {
0221 struct qmi_response_type_v01 resp;
0222 u8 fw_status_valid;
0223 u64 fw_status;
0224 };
0225
0226 #define WLFW_IND_REGISTER_RESP_MSG_V01_MAX_MSG_LEN 18
0227 extern struct qmi_elem_info wlfw_ind_register_resp_msg_v01_ei[];
0228
0229 struct wlfw_fw_ready_ind_msg_v01 {
0230 char placeholder;
0231 };
0232
0233 #define WLFW_FW_READY_IND_MSG_V01_MAX_MSG_LEN 0
0234 extern struct qmi_elem_info wlfw_fw_ready_ind_msg_v01_ei[];
0235
0236 struct wlfw_msa_ready_ind_msg_v01 {
0237 char placeholder;
0238 };
0239
0240 #define WLFW_MSA_READY_IND_MSG_V01_MAX_MSG_LEN 0
0241 extern struct qmi_elem_info wlfw_msa_ready_ind_msg_v01_ei[];
0242
0243 struct wlfw_pin_connect_result_ind_msg_v01 {
0244 u8 pwr_pin_result_valid;
0245 u32 pwr_pin_result;
0246 u8 phy_io_pin_result_valid;
0247 u32 phy_io_pin_result;
0248 u8 rf_pin_result_valid;
0249 u32 rf_pin_result;
0250 };
0251
0252 #define WLFW_PIN_CONNECT_RESULT_IND_MSG_V01_MAX_MSG_LEN 21
0253 extern struct qmi_elem_info wlfw_pin_connect_result_ind_msg_v01_ei[];
0254
0255 struct wlfw_wlan_mode_req_msg_v01 {
0256 enum wlfw_driver_mode_enum_v01 mode;
0257 u8 hw_debug_valid;
0258 u8 hw_debug;
0259 };
0260
0261 #define WLFW_WLAN_MODE_REQ_MSG_V01_MAX_MSG_LEN 11
0262 extern struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[];
0263
0264 struct wlfw_wlan_mode_resp_msg_v01 {
0265 struct qmi_response_type_v01 resp;
0266 };
0267
0268 #define WLFW_WLAN_MODE_RESP_MSG_V01_MAX_MSG_LEN 7
0269 extern struct qmi_elem_info wlfw_wlan_mode_resp_msg_v01_ei[];
0270
0271 struct wlfw_wlan_cfg_req_msg_v01 {
0272 u8 host_version_valid;
0273 char host_version[QMI_WLFW_MAX_STR_LEN_V01 + 1];
0274 u8 tgt_cfg_valid;
0275 u32 tgt_cfg_len;
0276 struct wlfw_ce_tgt_pipe_cfg_s_v01 tgt_cfg[QMI_WLFW_MAX_NUM_CE_V01];
0277 u8 svc_cfg_valid;
0278 u32 svc_cfg_len;
0279 struct wlfw_ce_svc_pipe_cfg_s_v01 svc_cfg[QMI_WLFW_MAX_NUM_SVC_V01];
0280 u8 shadow_reg_valid;
0281 u32 shadow_reg_len;
0282 struct wlfw_shadow_reg_cfg_s_v01 shadow_reg[QMI_WLFW_MAX_NUM_SHADOW_REG_V01];
0283 u8 shadow_reg_v2_valid;
0284 u32 shadow_reg_v2_len;
0285 struct wlfw_shadow_reg_v2_cfg_s_v01 shadow_reg_v2[QMI_WLFW_MAX_SHADOW_REG_V2];
0286 };
0287
0288 #define WLFW_WLAN_CFG_REQ_MSG_V01_MAX_MSG_LEN 803
0289 extern struct qmi_elem_info wlfw_wlan_cfg_req_msg_v01_ei[];
0290
0291 struct wlfw_wlan_cfg_resp_msg_v01 {
0292 struct qmi_response_type_v01 resp;
0293 };
0294
0295 #define WLFW_WLAN_CFG_RESP_MSG_V01_MAX_MSG_LEN 7
0296 extern struct qmi_elem_info wlfw_wlan_cfg_resp_msg_v01_ei[];
0297
0298 struct wlfw_cap_req_msg_v01 {
0299 char placeholder;
0300 };
0301
0302 #define WLFW_CAP_REQ_MSG_V01_MAX_MSG_LEN 0
0303 extern struct qmi_elem_info wlfw_cap_req_msg_v01_ei[];
0304
0305 struct wlfw_cap_resp_msg_v01 {
0306 struct qmi_response_type_v01 resp;
0307 u8 chip_info_valid;
0308 struct wlfw_rf_chip_info_s_v01 chip_info;
0309 u8 board_info_valid;
0310 struct wlfw_rf_board_info_s_v01 board_info;
0311 u8 soc_info_valid;
0312 struct wlfw_soc_info_s_v01 soc_info;
0313 u8 fw_version_info_valid;
0314 struct wlfw_fw_version_info_s_v01 fw_version_info;
0315 u8 fw_build_id_valid;
0316 char fw_build_id[QMI_WLFW_MAX_BUILD_ID_LEN_V01 + 1];
0317 u8 num_macs_valid;
0318 u8 num_macs;
0319 };
0320
0321 #define WLFW_CAP_RESP_MSG_V01_MAX_MSG_LEN 207
0322 extern struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[];
0323
0324 struct wlfw_bdf_download_req_msg_v01 {
0325 u8 valid;
0326 u8 file_id_valid;
0327 enum wlfw_cal_temp_id_enum_v01 file_id;
0328 u8 total_size_valid;
0329 u32 total_size;
0330 u8 seg_id_valid;
0331 u32 seg_id;
0332 u8 data_valid;
0333 u32 data_len;
0334 u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
0335 u8 end_valid;
0336 u8 end;
0337 u8 bdf_type_valid;
0338 u8 bdf_type;
0339 };
0340
0341 #define WLFW_BDF_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6182
0342 extern struct qmi_elem_info wlfw_bdf_download_req_msg_v01_ei[];
0343
0344 struct wlfw_bdf_download_resp_msg_v01 {
0345 struct qmi_response_type_v01 resp;
0346 };
0347
0348 #define WLFW_BDF_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
0349 extern struct qmi_elem_info wlfw_bdf_download_resp_msg_v01_ei[];
0350
0351 struct wlfw_cal_report_req_msg_v01 {
0352 u32 meta_data_len;
0353 enum wlfw_cal_temp_id_enum_v01 meta_data[QMI_WLFW_MAX_NUM_CAL_V01];
0354 u8 xo_cal_data_valid;
0355 u8 xo_cal_data;
0356 };
0357
0358 #define WLFW_CAL_REPORT_REQ_MSG_V01_MAX_MSG_LEN 28
0359 extern struct qmi_elem_info wlfw_cal_report_req_msg_v01_ei[];
0360
0361 struct wlfw_cal_report_resp_msg_v01 {
0362 struct qmi_response_type_v01 resp;
0363 };
0364
0365 #define WLFW_CAL_REPORT_RESP_MSG_V01_MAX_MSG_LEN 7
0366 extern struct qmi_elem_info wlfw_cal_report_resp_msg_v01_ei[];
0367
0368 struct wlfw_initiate_cal_download_ind_msg_v01 {
0369 enum wlfw_cal_temp_id_enum_v01 cal_id;
0370 };
0371
0372 #define WLFW_INITIATE_CAL_DOWNLOAD_IND_MSG_V01_MAX_MSG_LEN 7
0373 extern struct qmi_elem_info wlfw_initiate_cal_download_ind_msg_v01_ei[];
0374
0375 struct wlfw_cal_download_req_msg_v01 {
0376 u8 valid;
0377 u8 file_id_valid;
0378 enum wlfw_cal_temp_id_enum_v01 file_id;
0379 u8 total_size_valid;
0380 u32 total_size;
0381 u8 seg_id_valid;
0382 u32 seg_id;
0383 u8 data_valid;
0384 u32 data_len;
0385 u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
0386 u8 end_valid;
0387 u8 end;
0388 };
0389
0390 #define WLFW_CAL_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6178
0391 extern struct qmi_elem_info wlfw_cal_download_req_msg_v01_ei[];
0392
0393 struct wlfw_cal_download_resp_msg_v01 {
0394 struct qmi_response_type_v01 resp;
0395 };
0396
0397 #define WLFW_CAL_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
0398 extern struct qmi_elem_info wlfw_cal_download_resp_msg_v01_ei[];
0399
0400 struct wlfw_initiate_cal_update_ind_msg_v01 {
0401 enum wlfw_cal_temp_id_enum_v01 cal_id;
0402 u32 total_size;
0403 };
0404
0405 #define WLFW_INITIATE_CAL_UPDATE_IND_MSG_V01_MAX_MSG_LEN 14
0406 extern struct qmi_elem_info wlfw_initiate_cal_update_ind_msg_v01_ei[];
0407
0408 struct wlfw_cal_update_req_msg_v01 {
0409 enum wlfw_cal_temp_id_enum_v01 cal_id;
0410 u32 seg_id;
0411 };
0412
0413 #define WLFW_CAL_UPDATE_REQ_MSG_V01_MAX_MSG_LEN 14
0414 extern struct qmi_elem_info wlfw_cal_update_req_msg_v01_ei[];
0415
0416 struct wlfw_cal_update_resp_msg_v01 {
0417 struct qmi_response_type_v01 resp;
0418 u8 file_id_valid;
0419 enum wlfw_cal_temp_id_enum_v01 file_id;
0420 u8 total_size_valid;
0421 u32 total_size;
0422 u8 seg_id_valid;
0423 u32 seg_id;
0424 u8 data_valid;
0425 u32 data_len;
0426 u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
0427 u8 end_valid;
0428 u8 end;
0429 };
0430
0431 #define WLFW_CAL_UPDATE_RESP_MSG_V01_MAX_MSG_LEN 6181
0432 extern struct qmi_elem_info wlfw_cal_update_resp_msg_v01_ei[];
0433
0434 struct wlfw_msa_info_req_msg_v01 {
0435 u64 msa_addr;
0436 u32 size;
0437 };
0438
0439 #define WLFW_MSA_INFO_REQ_MSG_V01_MAX_MSG_LEN 18
0440 extern struct qmi_elem_info wlfw_msa_info_req_msg_v01_ei[];
0441
0442 struct wlfw_msa_info_resp_msg_v01 {
0443 struct qmi_response_type_v01 resp;
0444 u32 mem_region_info_len;
0445 struct wlfw_memory_region_info_s_v01 mem_region_info[QMI_WLFW_MAX_MEM_REG_V01];
0446 };
0447
0448 #define WLFW_MSA_INFO_RESP_MSG_V01_MAX_MSG_LEN 37
0449 extern struct qmi_elem_info wlfw_msa_info_resp_msg_v01_ei[];
0450
0451 struct wlfw_msa_ready_req_msg_v01 {
0452 char placeholder;
0453 };
0454
0455 #define WLFW_MSA_READY_REQ_MSG_V01_MAX_MSG_LEN 0
0456 extern struct qmi_elem_info wlfw_msa_ready_req_msg_v01_ei[];
0457
0458 struct wlfw_msa_ready_resp_msg_v01 {
0459 struct qmi_response_type_v01 resp;
0460 };
0461
0462 #define WLFW_MSA_READY_RESP_MSG_V01_MAX_MSG_LEN 7
0463 extern struct qmi_elem_info wlfw_msa_ready_resp_msg_v01_ei[];
0464
0465 struct wlfw_ini_req_msg_v01 {
0466 u8 enablefwlog_valid;
0467 u8 enablefwlog;
0468 };
0469
0470 #define WLFW_INI_REQ_MSG_V01_MAX_MSG_LEN 4
0471 extern struct qmi_elem_info wlfw_ini_req_msg_v01_ei[];
0472
0473 struct wlfw_ini_resp_msg_v01 {
0474 struct qmi_response_type_v01 resp;
0475 };
0476
0477 #define WLFW_INI_RESP_MSG_V01_MAX_MSG_LEN 7
0478 extern struct qmi_elem_info wlfw_ini_resp_msg_v01_ei[];
0479
0480 struct wlfw_athdiag_read_req_msg_v01 {
0481 u32 offset;
0482 u32 mem_type;
0483 u32 data_len;
0484 };
0485
0486 #define WLFW_ATHDIAG_READ_REQ_MSG_V01_MAX_MSG_LEN 21
0487 extern struct qmi_elem_info wlfw_athdiag_read_req_msg_v01_ei[];
0488
0489 struct wlfw_athdiag_read_resp_msg_v01 {
0490 struct qmi_response_type_v01 resp;
0491 u8 data_valid;
0492 u32 data_len;
0493 u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];
0494 };
0495
0496 #define WLFW_ATHDIAG_READ_RESP_MSG_V01_MAX_MSG_LEN 6156
0497 extern struct qmi_elem_info wlfw_athdiag_read_resp_msg_v01_ei[];
0498
0499 struct wlfw_athdiag_write_req_msg_v01 {
0500 u32 offset;
0501 u32 mem_type;
0502 u32 data_len;
0503 u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];
0504 };
0505
0506 #define WLFW_ATHDIAG_WRITE_REQ_MSG_V01_MAX_MSG_LEN 6163
0507 extern struct qmi_elem_info wlfw_athdiag_write_req_msg_v01_ei[];
0508
0509 struct wlfw_athdiag_write_resp_msg_v01 {
0510 struct qmi_response_type_v01 resp;
0511 };
0512
0513 #define WLFW_ATHDIAG_WRITE_RESP_MSG_V01_MAX_MSG_LEN 7
0514 extern struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[];
0515
0516 struct wlfw_vbatt_req_msg_v01 {
0517 u64 voltage_uv;
0518 };
0519
0520 #define WLFW_VBATT_REQ_MSG_V01_MAX_MSG_LEN 11
0521 extern struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[];
0522
0523 struct wlfw_vbatt_resp_msg_v01 {
0524 struct qmi_response_type_v01 resp;
0525 };
0526
0527 #define WLFW_VBATT_RESP_MSG_V01_MAX_MSG_LEN 7
0528 extern struct qmi_elem_info wlfw_vbatt_resp_msg_v01_ei[];
0529
0530 struct wlfw_mac_addr_req_msg_v01 {
0531 u8 mac_addr_valid;
0532 u8 mac_addr[QMI_WLFW_MAC_ADDR_SIZE_V01];
0533 };
0534
0535 #define WLFW_MAC_ADDR_REQ_MSG_V01_MAX_MSG_LEN 9
0536 extern struct qmi_elem_info wlfw_mac_addr_req_msg_v01_ei[];
0537
0538 struct wlfw_mac_addr_resp_msg_v01 {
0539 struct qmi_response_type_v01 resp;
0540 };
0541
0542 #define WLFW_MAC_ADDR_RESP_MSG_V01_MAX_MSG_LEN 7
0543 extern struct qmi_elem_info wlfw_mac_addr_resp_msg_v01_ei[];
0544
0545 #define QMI_WLFW_MAX_NUM_GPIO_V01 32
0546 struct wlfw_host_cap_req_msg_v01 {
0547 u8 daemon_support_valid;
0548 u32 daemon_support;
0549 u8 wake_msi_valid;
0550 u32 wake_msi;
0551 u8 gpios_valid;
0552 u32 gpios_len;
0553 u32 gpios[QMI_WLFW_MAX_NUM_GPIO_V01];
0554 u8 nm_modem_valid;
0555 u8 nm_modem;
0556 u8 bdf_support_valid;
0557 u8 bdf_support;
0558 u8 bdf_cache_support_valid;
0559 u8 bdf_cache_support;
0560 u8 m3_support_valid;
0561 u8 m3_support;
0562 u8 m3_cache_support_valid;
0563 u8 m3_cache_support;
0564 u8 cal_filesys_support_valid;
0565 u8 cal_filesys_support;
0566 u8 cal_cache_support_valid;
0567 u8 cal_cache_support;
0568 u8 cal_done_valid;
0569 u8 cal_done;
0570 u8 mem_bucket_valid;
0571 u32 mem_bucket;
0572 u8 mem_cfg_mode_valid;
0573 u8 mem_cfg_mode;
0574 };
0575
0576 #define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 189
0577 extern struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[];
0578 extern struct qmi_elem_info wlfw_host_cap_8bit_req_msg_v01_ei[];
0579
0580 struct wlfw_host_cap_resp_msg_v01 {
0581 struct qmi_response_type_v01 resp;
0582 };
0583
0584 #define WLFW_HOST_CAP_RESP_MSG_V01_MAX_MSG_LEN 7
0585 extern struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[];
0586
0587 struct wlfw_request_mem_ind_msg_v01 {
0588 u32 mem_seg_len;
0589 struct wlfw_mem_seg_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
0590 };
0591
0592 #define WLFW_REQUEST_MEM_IND_MSG_V01_MAX_MSG_LEN 564
0593 extern struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[];
0594
0595 struct wlfw_respond_mem_req_msg_v01 {
0596 u32 mem_seg_len;
0597 struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
0598 };
0599
0600 #define WLFW_RESPOND_MEM_REQ_MSG_V01_MAX_MSG_LEN 260
0601 extern struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[];
0602
0603 struct wlfw_respond_mem_resp_msg_v01 {
0604 struct qmi_response_type_v01 resp;
0605 };
0606
0607 #define WLFW_RESPOND_MEM_RESP_MSG_V01_MAX_MSG_LEN 7
0608 extern struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[];
0609
0610 struct wlfw_mem_ready_ind_msg_v01 {
0611 char placeholder;
0612 };
0613
0614 #define WLFW_MEM_READY_IND_MSG_V01_MAX_MSG_LEN 0
0615 extern struct qmi_elem_info wlfw_mem_ready_ind_msg_v01_ei[];
0616
0617 struct wlfw_fw_init_done_ind_msg_v01 {
0618 char placeholder;
0619 };
0620
0621 #define WLFW_FW_INIT_DONE_IND_MSG_V01_MAX_MSG_LEN 0
0622 extern struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[];
0623
0624 struct wlfw_rejuvenate_ind_msg_v01 {
0625 u8 cause_for_rejuvenation_valid;
0626 u8 cause_for_rejuvenation;
0627 u8 requesting_sub_system_valid;
0628 u8 requesting_sub_system;
0629 u8 line_number_valid;
0630 u16 line_number;
0631 u8 function_name_valid;
0632 char function_name[QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1];
0633 };
0634
0635 #define WLFW_REJUVENATE_IND_MSG_V01_MAX_MSG_LEN 144
0636 extern struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[];
0637
0638 struct wlfw_rejuvenate_ack_req_msg_v01 {
0639 char placeholder;
0640 };
0641
0642 #define WLFW_REJUVENATE_ACK_REQ_MSG_V01_MAX_MSG_LEN 0
0643 extern struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[];
0644
0645 struct wlfw_rejuvenate_ack_resp_msg_v01 {
0646 struct qmi_response_type_v01 resp;
0647 };
0648
0649 #define WLFW_REJUVENATE_ACK_RESP_MSG_V01_MAX_MSG_LEN 7
0650 extern struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[];
0651
0652 struct wlfw_dynamic_feature_mask_req_msg_v01 {
0653 u8 mask_valid;
0654 u64 mask;
0655 };
0656
0657 #define WLFW_DYNAMIC_FEATURE_MASK_REQ_MSG_V01_MAX_MSG_LEN 11
0658 extern struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[];
0659
0660 struct wlfw_dynamic_feature_mask_resp_msg_v01 {
0661 struct qmi_response_type_v01 resp;
0662 u8 prev_mask_valid;
0663 u64 prev_mask;
0664 u8 curr_mask_valid;
0665 u64 curr_mask;
0666 };
0667
0668 #define WLFW_DYNAMIC_FEATURE_MASK_RESP_MSG_V01_MAX_MSG_LEN 29
0669 extern struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[];
0670
0671 struct wlfw_m3_info_req_msg_v01 {
0672 u64 addr;
0673 u32 size;
0674 };
0675
0676 #define WLFW_M3_INFO_REQ_MSG_V01_MAX_MSG_LEN 18
0677 extern struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[];
0678
0679 struct wlfw_m3_info_resp_msg_v01 {
0680 struct qmi_response_type_v01 resp;
0681 };
0682
0683 #define WLFW_M3_INFO_RESP_MSG_V01_MAX_MSG_LEN 7
0684 extern struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[];
0685
0686 struct wlfw_xo_cal_ind_msg_v01 {
0687 u8 xo_cal_data;
0688 };
0689
0690 #define WLFW_XO_CAL_IND_MSG_V01_MAX_MSG_LEN 4
0691 extern struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[];
0692
0693 #endif