Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/athk/ath10k/qmi_wlfw_v01.h
111476 views
1
/* SPDX-License-Identifier: ISC */
2
/*
3
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
4
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
5
*/
6
7
#ifndef WCN3990_QMI_SVC_V01_H
8
#define WCN3990_QMI_SVC_V01_H
9
10
#define WLFW_SERVICE_ID_V01 0x45
11
#define WLFW_SERVICE_VERS_V01 0x01
12
13
#define QMI_WLFW_BDF_DOWNLOAD_REQ_V01 0x0025
14
#define QMI_WLFW_MEM_READY_IND_V01 0x0037
15
#define QMI_WLFW_DYNAMIC_FEATURE_MASK_RESP_V01 0x003B
16
#define QMI_WLFW_INITIATE_CAL_UPDATE_IND_V01 0x002A
17
#define QMI_WLFW_HOST_CAP_REQ_V01 0x0034
18
#define QMI_WLFW_M3_INFO_REQ_V01 0x003C
19
#define QMI_WLFW_CAP_REQ_V01 0x0024
20
#define QMI_WLFW_FW_INIT_DONE_IND_V01 0x0038
21
#define QMI_WLFW_CAL_REPORT_REQ_V01 0x0026
22
#define QMI_WLFW_M3_INFO_RESP_V01 0x003C
23
#define QMI_WLFW_CAL_UPDATE_RESP_V01 0x0029
24
#define QMI_WLFW_CAL_DOWNLOAD_RESP_V01 0x0027
25
#define QMI_WLFW_XO_CAL_IND_V01 0x003D
26
#define QMI_WLFW_INI_RESP_V01 0x002F
27
#define QMI_WLFW_CAL_REPORT_RESP_V01 0x0026
28
#define QMI_WLFW_MAC_ADDR_RESP_V01 0x0033
29
#define QMI_WLFW_INITIATE_CAL_DOWNLOAD_IND_V01 0x0028
30
#define QMI_WLFW_HOST_CAP_RESP_V01 0x0034
31
#define QMI_WLFW_MSA_READY_IND_V01 0x002B
32
#define QMI_WLFW_ATHDIAG_WRITE_RESP_V01 0x0031
33
#define QMI_WLFW_WLAN_MODE_REQ_V01 0x0022
34
#define QMI_WLFW_IND_REGISTER_REQ_V01 0x0020
35
#define QMI_WLFW_WLAN_CFG_RESP_V01 0x0023
36
#define QMI_WLFW_REQUEST_MEM_IND_V01 0x0035
37
#define QMI_WLFW_REJUVENATE_IND_V01 0x0039
38
#define QMI_WLFW_DYNAMIC_FEATURE_MASK_REQ_V01 0x003B
39
#define QMI_WLFW_ATHDIAG_WRITE_REQ_V01 0x0031
40
#define QMI_WLFW_WLAN_MODE_RESP_V01 0x0022
41
#define QMI_WLFW_RESPOND_MEM_REQ_V01 0x0036
42
#define QMI_WLFW_PIN_CONNECT_RESULT_IND_V01 0x002C
43
#define QMI_WLFW_FW_READY_IND_V01 0x0021
44
#define QMI_WLFW_MSA_READY_RESP_V01 0x002E
45
#define QMI_WLFW_CAL_UPDATE_REQ_V01 0x0029
46
#define QMI_WLFW_INI_REQ_V01 0x002F
47
#define QMI_WLFW_BDF_DOWNLOAD_RESP_V01 0x0025
48
#define QMI_WLFW_REJUVENATE_ACK_RESP_V01 0x003A
49
#define QMI_WLFW_MSA_INFO_RESP_V01 0x002D
50
#define QMI_WLFW_MSA_READY_REQ_V01 0x002E
51
#define QMI_WLFW_CAP_RESP_V01 0x0024
52
#define QMI_WLFW_REJUVENATE_ACK_REQ_V01 0x003A
53
#define QMI_WLFW_ATHDIAG_READ_RESP_V01 0x0030
54
#define QMI_WLFW_VBATT_REQ_V01 0x0032
55
#define QMI_WLFW_MAC_ADDR_REQ_V01 0x0033
56
#define QMI_WLFW_RESPOND_MEM_RESP_V01 0x0036
57
#define QMI_WLFW_VBATT_RESP_V01 0x0032
58
#define QMI_WLFW_MSA_INFO_REQ_V01 0x002D
59
#define QMI_WLFW_CAL_DOWNLOAD_REQ_V01 0x0027
60
#define QMI_WLFW_ATHDIAG_READ_REQ_V01 0x0030
61
#define QMI_WLFW_WLAN_CFG_REQ_V01 0x0023
62
#define QMI_WLFW_IND_REGISTER_RESP_V01 0x0020
63
64
#define QMI_WLFW_MAX_MEM_REG_V01 2
65
#define QMI_WLFW_MAX_NUM_MEM_SEG_V01 16
66
#define QMI_WLFW_MAX_NUM_CAL_V01 5
67
#define QMI_WLFW_MAX_DATA_SIZE_V01 6144
68
#define QMI_WLFW_FUNCTION_NAME_LEN_V01 128
69
#define QMI_WLFW_MAX_NUM_CE_V01 12
70
#define QMI_WLFW_MAX_TIMESTAMP_LEN_V01 32
71
#define QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01 6144
72
#define QMI_WLFW_MAX_NUM_GPIO_V01 32
73
#define QMI_WLFW_MAX_BUILD_ID_LEN_V01 128
74
#define QMI_WLFW_MAX_NUM_MEM_CFG_V01 2
75
#define QMI_WLFW_MAX_STR_LEN_V01 16
76
#define QMI_WLFW_MAX_NUM_SHADOW_REG_V01 24
77
#define QMI_WLFW_MAC_ADDR_SIZE_V01 6
78
#define QMI_WLFW_MAX_SHADOW_REG_V2 36
79
#define QMI_WLFW_MAX_NUM_SVC_V01 24
80
81
enum wlfw_driver_mode_enum_v01 {
82
QMI_WLFW_MISSION_V01 = 0,
83
QMI_WLFW_FTM_V01 = 1,
84
QMI_WLFW_EPPING_V01 = 2,
85
QMI_WLFW_WALTEST_V01 = 3,
86
QMI_WLFW_OFF_V01 = 4,
87
QMI_WLFW_CCPM_V01 = 5,
88
QMI_WLFW_QVIT_V01 = 6,
89
QMI_WLFW_CALIBRATION_V01 = 7,
90
};
91
92
enum wlfw_cal_temp_id_enum_v01 {
93
QMI_WLFW_CAL_TEMP_IDX_0_V01 = 0,
94
QMI_WLFW_CAL_TEMP_IDX_1_V01 = 1,
95
QMI_WLFW_CAL_TEMP_IDX_2_V01 = 2,
96
QMI_WLFW_CAL_TEMP_IDX_3_V01 = 3,
97
QMI_WLFW_CAL_TEMP_IDX_4_V01 = 4,
98
};
99
100
enum wlfw_pipedir_enum_v01 {
101
QMI_WLFW_PIPEDIR_NONE_V01 = 0,
102
QMI_WLFW_PIPEDIR_IN_V01 = 1,
103
QMI_WLFW_PIPEDIR_OUT_V01 = 2,
104
QMI_WLFW_PIPEDIR_INOUT_V01 = 3,
105
};
106
107
enum wlfw_mem_type_enum_v01 {
108
QMI_WLFW_MEM_TYPE_MSA_V01 = 0,
109
QMI_WLFW_MEM_TYPE_DDR_V01 = 1,
110
};
111
112
#define QMI_WLFW_CE_ATTR_FLAGS_V01 ((u32)0x00)
113
#define QMI_WLFW_CE_ATTR_NO_SNOOP_V01 ((u32)0x01)
114
#define QMI_WLFW_CE_ATTR_BYTE_SWAP_DATA_V01 ((u32)0x02)
115
#define QMI_WLFW_CE_ATTR_SWIZZLE_DESCRIPTORS_V01 ((u32)0x04)
116
#define QMI_WLFW_CE_ATTR_DISABLE_INTR_V01 ((u32)0x08)
117
#define QMI_WLFW_CE_ATTR_ENABLE_POLL_V01 ((u32)0x10)
118
119
#define QMI_WLFW_ALREADY_REGISTERED_V01 ((u64)0x01ULL)
120
#define QMI_WLFW_FW_READY_V01 ((u64)0x02ULL)
121
#define QMI_WLFW_MSA_READY_V01 ((u64)0x04ULL)
122
#define QMI_WLFW_MEM_READY_V01 ((u64)0x08ULL)
123
#define QMI_WLFW_FW_INIT_DONE_V01 ((u64)0x10ULL)
124
125
#define QMI_WLFW_FW_REJUVENATE_V01 ((u64)0x01ULL)
126
127
struct wlfw_ce_tgt_pipe_cfg_s_v01 {
128
__le32 pipe_num;
129
__le32 pipe_dir;
130
__le32 nentries;
131
__le32 nbytes_max;
132
__le32 flags;
133
};
134
135
struct wlfw_ce_svc_pipe_cfg_s_v01 {
136
__le32 service_id;
137
__le32 pipe_dir;
138
__le32 pipe_num;
139
};
140
141
struct wlfw_shadow_reg_cfg_s_v01 {
142
u16 id;
143
u16 offset;
144
};
145
146
struct wlfw_shadow_reg_v2_cfg_s_v01 {
147
u32 addr;
148
};
149
150
struct wlfw_memory_region_info_s_v01 {
151
u64 region_addr;
152
u32 size;
153
u8 secure_flag;
154
};
155
156
struct wlfw_mem_cfg_s_v01 {
157
u64 offset;
158
u32 size;
159
u8 secure_flag;
160
};
161
162
struct wlfw_mem_seg_s_v01 {
163
u32 size;
164
enum wlfw_mem_type_enum_v01 type;
165
u32 mem_cfg_len;
166
struct wlfw_mem_cfg_s_v01 mem_cfg[QMI_WLFW_MAX_NUM_MEM_CFG_V01];
167
};
168
169
struct wlfw_mem_seg_resp_s_v01 {
170
u64 addr;
171
u32 size;
172
enum wlfw_mem_type_enum_v01 type;
173
};
174
175
struct wlfw_rf_chip_info_s_v01 {
176
u32 chip_id;
177
u32 chip_family;
178
};
179
180
struct wlfw_rf_board_info_s_v01 {
181
u32 board_id;
182
};
183
184
struct wlfw_soc_info_s_v01 {
185
u32 soc_id;
186
};
187
188
struct wlfw_fw_version_info_s_v01 {
189
u32 fw_version;
190
char fw_build_timestamp[QMI_WLFW_MAX_TIMESTAMP_LEN_V01 + 1];
191
};
192
193
struct wlfw_ind_register_req_msg_v01 {
194
u8 fw_ready_enable_valid;
195
u8 fw_ready_enable;
196
u8 initiate_cal_download_enable_valid;
197
u8 initiate_cal_download_enable;
198
u8 initiate_cal_update_enable_valid;
199
u8 initiate_cal_update_enable;
200
u8 msa_ready_enable_valid;
201
u8 msa_ready_enable;
202
u8 pin_connect_result_enable_valid;
203
u8 pin_connect_result_enable;
204
u8 client_id_valid;
205
u32 client_id;
206
u8 request_mem_enable_valid;
207
u8 request_mem_enable;
208
u8 mem_ready_enable_valid;
209
u8 mem_ready_enable;
210
u8 fw_init_done_enable_valid;
211
u8 fw_init_done_enable;
212
u8 rejuvenate_enable_valid;
213
u32 rejuvenate_enable;
214
u8 xo_cal_enable_valid;
215
u8 xo_cal_enable;
216
};
217
218
#define WLFW_IND_REGISTER_REQ_MSG_V01_MAX_MSG_LEN 50
219
extern const struct qmi_elem_info wlfw_ind_register_req_msg_v01_ei[];
220
221
struct wlfw_ind_register_resp_msg_v01 {
222
struct qmi_response_type_v01 resp;
223
u8 fw_status_valid;
224
u64 fw_status;
225
};
226
227
#define WLFW_IND_REGISTER_RESP_MSG_V01_MAX_MSG_LEN 18
228
extern const struct qmi_elem_info wlfw_ind_register_resp_msg_v01_ei[];
229
230
struct wlfw_fw_ready_ind_msg_v01 {
231
char placeholder;
232
};
233
234
#define WLFW_FW_READY_IND_MSG_V01_MAX_MSG_LEN 0
235
extern const struct qmi_elem_info wlfw_fw_ready_ind_msg_v01_ei[];
236
237
struct wlfw_msa_ready_ind_msg_v01 {
238
char placeholder;
239
};
240
241
#define WLFW_MSA_READY_IND_MSG_V01_MAX_MSG_LEN 0
242
extern const struct qmi_elem_info wlfw_msa_ready_ind_msg_v01_ei[];
243
244
struct wlfw_pin_connect_result_ind_msg_v01 {
245
u8 pwr_pin_result_valid;
246
u32 pwr_pin_result;
247
u8 phy_io_pin_result_valid;
248
u32 phy_io_pin_result;
249
u8 rf_pin_result_valid;
250
u32 rf_pin_result;
251
};
252
253
#define WLFW_PIN_CONNECT_RESULT_IND_MSG_V01_MAX_MSG_LEN 21
254
extern const struct qmi_elem_info wlfw_pin_connect_result_ind_msg_v01_ei[];
255
256
struct wlfw_wlan_mode_req_msg_v01 {
257
enum wlfw_driver_mode_enum_v01 mode;
258
u8 hw_debug_valid;
259
u8 hw_debug;
260
};
261
262
#define WLFW_WLAN_MODE_REQ_MSG_V01_MAX_MSG_LEN 11
263
extern const struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[];
264
265
struct wlfw_wlan_mode_resp_msg_v01 {
266
struct qmi_response_type_v01 resp;
267
};
268
269
#define WLFW_WLAN_MODE_RESP_MSG_V01_MAX_MSG_LEN 7
270
extern const struct qmi_elem_info wlfw_wlan_mode_resp_msg_v01_ei[];
271
272
struct wlfw_wlan_cfg_req_msg_v01 {
273
u8 host_version_valid;
274
char host_version[QMI_WLFW_MAX_STR_LEN_V01 + 1];
275
u8 tgt_cfg_valid;
276
u32 tgt_cfg_len;
277
struct wlfw_ce_tgt_pipe_cfg_s_v01 tgt_cfg[QMI_WLFW_MAX_NUM_CE_V01];
278
u8 svc_cfg_valid;
279
u32 svc_cfg_len;
280
struct wlfw_ce_svc_pipe_cfg_s_v01 svc_cfg[QMI_WLFW_MAX_NUM_SVC_V01];
281
u8 shadow_reg_valid;
282
u32 shadow_reg_len;
283
struct wlfw_shadow_reg_cfg_s_v01 shadow_reg[QMI_WLFW_MAX_NUM_SHADOW_REG_V01];
284
u8 shadow_reg_v2_valid;
285
u32 shadow_reg_v2_len;
286
struct wlfw_shadow_reg_v2_cfg_s_v01 shadow_reg_v2[QMI_WLFW_MAX_SHADOW_REG_V2];
287
};
288
289
#define WLFW_WLAN_CFG_REQ_MSG_V01_MAX_MSG_LEN 803
290
extern const struct qmi_elem_info wlfw_wlan_cfg_req_msg_v01_ei[];
291
292
struct wlfw_wlan_cfg_resp_msg_v01 {
293
struct qmi_response_type_v01 resp;
294
};
295
296
#define WLFW_WLAN_CFG_RESP_MSG_V01_MAX_MSG_LEN 7
297
extern const struct qmi_elem_info wlfw_wlan_cfg_resp_msg_v01_ei[];
298
299
struct wlfw_cap_req_msg_v01 {
300
char placeholder;
301
};
302
303
#define WLFW_CAP_REQ_MSG_V01_MAX_MSG_LEN 0
304
extern const struct qmi_elem_info wlfw_cap_req_msg_v01_ei[];
305
306
struct wlfw_cap_resp_msg_v01 {
307
struct qmi_response_type_v01 resp;
308
u8 chip_info_valid;
309
struct wlfw_rf_chip_info_s_v01 chip_info;
310
u8 board_info_valid;
311
struct wlfw_rf_board_info_s_v01 board_info;
312
u8 soc_info_valid;
313
struct wlfw_soc_info_s_v01 soc_info;
314
u8 fw_version_info_valid;
315
struct wlfw_fw_version_info_s_v01 fw_version_info;
316
u8 fw_build_id_valid;
317
char fw_build_id[QMI_WLFW_MAX_BUILD_ID_LEN_V01 + 1];
318
u8 num_macs_valid;
319
u8 num_macs;
320
};
321
322
#define WLFW_CAP_RESP_MSG_V01_MAX_MSG_LEN 207
323
extern const struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[];
324
325
struct wlfw_bdf_download_req_msg_v01 {
326
u8 valid;
327
u8 file_id_valid;
328
enum wlfw_cal_temp_id_enum_v01 file_id;
329
u8 total_size_valid;
330
u32 total_size;
331
u8 seg_id_valid;
332
u32 seg_id;
333
u8 data_valid;
334
u32 data_len;
335
u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
336
u8 end_valid;
337
u8 end;
338
u8 bdf_type_valid;
339
u8 bdf_type;
340
};
341
342
#define WLFW_BDF_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6182
343
extern const struct qmi_elem_info wlfw_bdf_download_req_msg_v01_ei[];
344
345
struct wlfw_bdf_download_resp_msg_v01 {
346
struct qmi_response_type_v01 resp;
347
};
348
349
#define WLFW_BDF_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
350
extern const struct qmi_elem_info wlfw_bdf_download_resp_msg_v01_ei[];
351
352
struct wlfw_cal_report_req_msg_v01 {
353
u32 meta_data_len;
354
enum wlfw_cal_temp_id_enum_v01 meta_data[QMI_WLFW_MAX_NUM_CAL_V01];
355
u8 xo_cal_data_valid;
356
u8 xo_cal_data;
357
};
358
359
#define WLFW_CAL_REPORT_REQ_MSG_V01_MAX_MSG_LEN 28
360
extern const struct qmi_elem_info wlfw_cal_report_req_msg_v01_ei[];
361
362
struct wlfw_cal_report_resp_msg_v01 {
363
struct qmi_response_type_v01 resp;
364
};
365
366
#define WLFW_CAL_REPORT_RESP_MSG_V01_MAX_MSG_LEN 7
367
extern const struct qmi_elem_info wlfw_cal_report_resp_msg_v01_ei[];
368
369
struct wlfw_initiate_cal_download_ind_msg_v01 {
370
enum wlfw_cal_temp_id_enum_v01 cal_id;
371
};
372
373
#define WLFW_INITIATE_CAL_DOWNLOAD_IND_MSG_V01_MAX_MSG_LEN 7
374
extern const struct qmi_elem_info wlfw_initiate_cal_download_ind_msg_v01_ei[];
375
376
struct wlfw_cal_download_req_msg_v01 {
377
u8 valid;
378
u8 file_id_valid;
379
enum wlfw_cal_temp_id_enum_v01 file_id;
380
u8 total_size_valid;
381
u32 total_size;
382
u8 seg_id_valid;
383
u32 seg_id;
384
u8 data_valid;
385
u32 data_len;
386
u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
387
u8 end_valid;
388
u8 end;
389
};
390
391
#define WLFW_CAL_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6178
392
extern const struct qmi_elem_info wlfw_cal_download_req_msg_v01_ei[];
393
394
struct wlfw_cal_download_resp_msg_v01 {
395
struct qmi_response_type_v01 resp;
396
};
397
398
#define WLFW_CAL_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
399
extern const struct qmi_elem_info wlfw_cal_download_resp_msg_v01_ei[];
400
401
struct wlfw_initiate_cal_update_ind_msg_v01 {
402
enum wlfw_cal_temp_id_enum_v01 cal_id;
403
u32 total_size;
404
};
405
406
#define WLFW_INITIATE_CAL_UPDATE_IND_MSG_V01_MAX_MSG_LEN 14
407
extern const struct qmi_elem_info wlfw_initiate_cal_update_ind_msg_v01_ei[];
408
409
struct wlfw_cal_update_req_msg_v01 {
410
enum wlfw_cal_temp_id_enum_v01 cal_id;
411
u32 seg_id;
412
};
413
414
#define WLFW_CAL_UPDATE_REQ_MSG_V01_MAX_MSG_LEN 14
415
extern const struct qmi_elem_info wlfw_cal_update_req_msg_v01_ei[];
416
417
struct wlfw_cal_update_resp_msg_v01 {
418
struct qmi_response_type_v01 resp;
419
u8 file_id_valid;
420
enum wlfw_cal_temp_id_enum_v01 file_id;
421
u8 total_size_valid;
422
u32 total_size;
423
u8 seg_id_valid;
424
u32 seg_id;
425
u8 data_valid;
426
u32 data_len;
427
u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
428
u8 end_valid;
429
u8 end;
430
};
431
432
#define WLFW_CAL_UPDATE_RESP_MSG_V01_MAX_MSG_LEN 6181
433
extern const struct qmi_elem_info wlfw_cal_update_resp_msg_v01_ei[];
434
435
struct wlfw_msa_info_req_msg_v01 {
436
u64 msa_addr;
437
u32 size;
438
};
439
440
#define WLFW_MSA_INFO_REQ_MSG_V01_MAX_MSG_LEN 18
441
extern const struct qmi_elem_info wlfw_msa_info_req_msg_v01_ei[];
442
443
struct wlfw_msa_info_resp_msg_v01 {
444
struct qmi_response_type_v01 resp;
445
u32 mem_region_info_len;
446
struct wlfw_memory_region_info_s_v01 mem_region_info[QMI_WLFW_MAX_MEM_REG_V01];
447
};
448
449
#define WLFW_MSA_INFO_RESP_MSG_V01_MAX_MSG_LEN 37
450
extern const struct qmi_elem_info wlfw_msa_info_resp_msg_v01_ei[];
451
452
struct wlfw_msa_ready_req_msg_v01 {
453
char placeholder;
454
};
455
456
#define WLFW_MSA_READY_REQ_MSG_V01_MAX_MSG_LEN 0
457
extern const struct qmi_elem_info wlfw_msa_ready_req_msg_v01_ei[];
458
459
struct wlfw_msa_ready_resp_msg_v01 {
460
struct qmi_response_type_v01 resp;
461
};
462
463
#define WLFW_MSA_READY_RESP_MSG_V01_MAX_MSG_LEN 7
464
extern const struct qmi_elem_info wlfw_msa_ready_resp_msg_v01_ei[];
465
466
struct wlfw_ini_req_msg_v01 {
467
u8 enablefwlog_valid;
468
u8 enablefwlog;
469
};
470
471
#define WLFW_INI_REQ_MSG_V01_MAX_MSG_LEN 4
472
extern const struct qmi_elem_info wlfw_ini_req_msg_v01_ei[];
473
474
struct wlfw_ini_resp_msg_v01 {
475
struct qmi_response_type_v01 resp;
476
};
477
478
#define WLFW_INI_RESP_MSG_V01_MAX_MSG_LEN 7
479
extern const struct qmi_elem_info wlfw_ini_resp_msg_v01_ei[];
480
481
struct wlfw_athdiag_read_req_msg_v01 {
482
u32 offset;
483
u32 mem_type;
484
u32 data_len;
485
};
486
487
#define WLFW_ATHDIAG_READ_REQ_MSG_V01_MAX_MSG_LEN 21
488
extern const struct qmi_elem_info wlfw_athdiag_read_req_msg_v01_ei[];
489
490
struct wlfw_athdiag_read_resp_msg_v01 {
491
struct qmi_response_type_v01 resp;
492
u8 data_valid;
493
u32 data_len;
494
u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];
495
};
496
497
#define WLFW_ATHDIAG_READ_RESP_MSG_V01_MAX_MSG_LEN 6156
498
extern const struct qmi_elem_info wlfw_athdiag_read_resp_msg_v01_ei[];
499
500
struct wlfw_athdiag_write_req_msg_v01 {
501
u32 offset;
502
u32 mem_type;
503
u32 data_len;
504
u8 data[QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01];
505
};
506
507
#define WLFW_ATHDIAG_WRITE_REQ_MSG_V01_MAX_MSG_LEN 6163
508
extern const struct qmi_elem_info wlfw_athdiag_write_req_msg_v01_ei[];
509
510
struct wlfw_athdiag_write_resp_msg_v01 {
511
struct qmi_response_type_v01 resp;
512
};
513
514
#define WLFW_ATHDIAG_WRITE_RESP_MSG_V01_MAX_MSG_LEN 7
515
extern const struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[];
516
517
struct wlfw_vbatt_req_msg_v01 {
518
u64 voltage_uv;
519
};
520
521
#define WLFW_VBATT_REQ_MSG_V01_MAX_MSG_LEN 11
522
extern const struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[];
523
524
struct wlfw_vbatt_resp_msg_v01 {
525
struct qmi_response_type_v01 resp;
526
};
527
528
#define WLFW_VBATT_RESP_MSG_V01_MAX_MSG_LEN 7
529
extern const struct qmi_elem_info wlfw_vbatt_resp_msg_v01_ei[];
530
531
struct wlfw_mac_addr_req_msg_v01 {
532
u8 mac_addr_valid;
533
u8 mac_addr[QMI_WLFW_MAC_ADDR_SIZE_V01];
534
};
535
536
#define WLFW_MAC_ADDR_REQ_MSG_V01_MAX_MSG_LEN 9
537
extern const struct qmi_elem_info wlfw_mac_addr_req_msg_v01_ei[];
538
539
struct wlfw_mac_addr_resp_msg_v01 {
540
struct qmi_response_type_v01 resp;
541
};
542
543
#define WLFW_MAC_ADDR_RESP_MSG_V01_MAX_MSG_LEN 7
544
extern const struct qmi_elem_info wlfw_mac_addr_resp_msg_v01_ei[];
545
546
#define QMI_WLFW_MAX_NUM_GPIO_V01 32
547
struct wlfw_host_cap_req_msg_v01 {
548
u8 daemon_support_valid;
549
u32 daemon_support;
550
u8 wake_msi_valid;
551
u32 wake_msi;
552
u8 gpios_valid;
553
u32 gpios_len;
554
u32 gpios[QMI_WLFW_MAX_NUM_GPIO_V01];
555
u8 nm_modem_valid;
556
u8 nm_modem;
557
u8 bdf_support_valid;
558
u8 bdf_support;
559
u8 bdf_cache_support_valid;
560
u8 bdf_cache_support;
561
u8 m3_support_valid;
562
u8 m3_support;
563
u8 m3_cache_support_valid;
564
u8 m3_cache_support;
565
u8 cal_filesys_support_valid;
566
u8 cal_filesys_support;
567
u8 cal_cache_support_valid;
568
u8 cal_cache_support;
569
u8 cal_done_valid;
570
u8 cal_done;
571
u8 mem_bucket_valid;
572
u32 mem_bucket;
573
u8 mem_cfg_mode_valid;
574
u8 mem_cfg_mode;
575
};
576
577
#define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 189
578
extern const struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[];
579
extern const struct qmi_elem_info wlfw_host_cap_8bit_req_msg_v01_ei[];
580
581
struct wlfw_host_cap_resp_msg_v01 {
582
struct qmi_response_type_v01 resp;
583
};
584
585
#define WLFW_HOST_CAP_RESP_MSG_V01_MAX_MSG_LEN 7
586
extern const struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[];
587
588
struct wlfw_request_mem_ind_msg_v01 {
589
u32 mem_seg_len;
590
struct wlfw_mem_seg_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
591
};
592
593
#define WLFW_REQUEST_MEM_IND_MSG_V01_MAX_MSG_LEN 564
594
extern const struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[];
595
596
struct wlfw_respond_mem_req_msg_v01 {
597
u32 mem_seg_len;
598
struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
599
};
600
601
#define WLFW_RESPOND_MEM_REQ_MSG_V01_MAX_MSG_LEN 260
602
extern const struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[];
603
604
struct wlfw_respond_mem_resp_msg_v01 {
605
struct qmi_response_type_v01 resp;
606
};
607
608
#define WLFW_RESPOND_MEM_RESP_MSG_V01_MAX_MSG_LEN 7
609
extern const struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[];
610
611
struct wlfw_mem_ready_ind_msg_v01 {
612
char placeholder;
613
};
614
615
#define WLFW_MEM_READY_IND_MSG_V01_MAX_MSG_LEN 0
616
extern const struct qmi_elem_info wlfw_mem_ready_ind_msg_v01_ei[];
617
618
struct wlfw_fw_init_done_ind_msg_v01 {
619
char placeholder;
620
};
621
622
#define WLFW_FW_INIT_DONE_IND_MSG_V01_MAX_MSG_LEN 0
623
extern const struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[];
624
625
struct wlfw_rejuvenate_ind_msg_v01 {
626
u8 cause_for_rejuvenation_valid;
627
u8 cause_for_rejuvenation;
628
u8 requesting_sub_system_valid;
629
u8 requesting_sub_system;
630
u8 line_number_valid;
631
u16 line_number;
632
u8 function_name_valid;
633
char function_name[QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1];
634
};
635
636
#define WLFW_REJUVENATE_IND_MSG_V01_MAX_MSG_LEN 144
637
extern const struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[];
638
639
struct wlfw_rejuvenate_ack_req_msg_v01 {
640
char placeholder;
641
};
642
643
#define WLFW_REJUVENATE_ACK_REQ_MSG_V01_MAX_MSG_LEN 0
644
extern const struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[];
645
646
struct wlfw_rejuvenate_ack_resp_msg_v01 {
647
struct qmi_response_type_v01 resp;
648
};
649
650
#define WLFW_REJUVENATE_ACK_RESP_MSG_V01_MAX_MSG_LEN 7
651
extern const struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[];
652
653
struct wlfw_dynamic_feature_mask_req_msg_v01 {
654
u8 mask_valid;
655
u64 mask;
656
};
657
658
#define WLFW_DYNAMIC_FEATURE_MASK_REQ_MSG_V01_MAX_MSG_LEN 11
659
extern const struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[];
660
661
struct wlfw_dynamic_feature_mask_resp_msg_v01 {
662
struct qmi_response_type_v01 resp;
663
u8 prev_mask_valid;
664
u64 prev_mask;
665
u8 curr_mask_valid;
666
u64 curr_mask;
667
};
668
669
#define WLFW_DYNAMIC_FEATURE_MASK_RESP_MSG_V01_MAX_MSG_LEN 29
670
extern const struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[];
671
672
struct wlfw_m3_info_req_msg_v01 {
673
u64 addr;
674
u32 size;
675
};
676
677
#define WLFW_M3_INFO_REQ_MSG_V01_MAX_MSG_LEN 18
678
extern const struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[];
679
680
struct wlfw_m3_info_resp_msg_v01 {
681
struct qmi_response_type_v01 resp;
682
};
683
684
#define WLFW_M3_INFO_RESP_MSG_V01_MAX_MSG_LEN 7
685
extern const struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[];
686
687
struct wlfw_xo_cal_ind_msg_v01 {
688
u8 xo_cal_data;
689
};
690
691
#define WLFW_XO_CAL_IND_MSG_V01_MAX_MSG_LEN 4
692
extern const struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[];
693
694
#endif
695
696