xref: /freebsd/sys/contrib/dev/athk/ath10k/qmi_wlfw_v01.c (revision 07724ba62b4c432ea04dce9465a5ab6e2c3f5a0d)
1da8fa4e3SBjoern A. Zeeb // SPDX-License-Identifier: ISC
2da8fa4e3SBjoern A. Zeeb /*
3da8fa4e3SBjoern A. Zeeb  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
4da8fa4e3SBjoern A. Zeeb  */
5da8fa4e3SBjoern A. Zeeb 
6da8fa4e3SBjoern A. Zeeb #include <linux/soc/qcom/qmi.h>
7da8fa4e3SBjoern A. Zeeb #include <linux/types.h>
8da8fa4e3SBjoern A. Zeeb #include "qmi_wlfw_v01.h"
9da8fa4e3SBjoern A. Zeeb 
10*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_ce_tgt_pipe_cfg_s_v01_ei[] = {
11da8fa4e3SBjoern A. Zeeb 	{
12da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
13da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
14da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
15da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
16da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
17da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
18da8fa4e3SBjoern A. Zeeb 					   pipe_num),
19da8fa4e3SBjoern A. Zeeb 	},
20da8fa4e3SBjoern A. Zeeb 	{
21da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
22da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
23da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_pipedir_enum_v01),
24da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
25da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
26da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
27da8fa4e3SBjoern A. Zeeb 					   pipe_dir),
28da8fa4e3SBjoern A. Zeeb 	},
29da8fa4e3SBjoern A. Zeeb 	{
30da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
31da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
32da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
33da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
34da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
35da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
36da8fa4e3SBjoern A. Zeeb 					   nentries),
37da8fa4e3SBjoern A. Zeeb 	},
38da8fa4e3SBjoern A. Zeeb 	{
39da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
40da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
41da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
42da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
43da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
44da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
45da8fa4e3SBjoern A. Zeeb 					   nbytes_max),
46da8fa4e3SBjoern A. Zeeb 	},
47da8fa4e3SBjoern A. Zeeb 	{
48da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
49da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
50da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
51da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
52da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
53da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_tgt_pipe_cfg_s_v01,
54da8fa4e3SBjoern A. Zeeb 					   flags),
55da8fa4e3SBjoern A. Zeeb 	},
56da8fa4e3SBjoern A. Zeeb 	{}
57da8fa4e3SBjoern A. Zeeb };
58da8fa4e3SBjoern A. Zeeb 
59*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_ce_svc_pipe_cfg_s_v01_ei[] = {
60da8fa4e3SBjoern A. Zeeb 	{
61da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
62da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
63da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
64da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
65da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
66da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
67da8fa4e3SBjoern A. Zeeb 					   service_id),
68da8fa4e3SBjoern A. Zeeb 	},
69da8fa4e3SBjoern A. Zeeb 	{
70da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
71da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
72da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_pipedir_enum_v01),
73da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
74da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
75da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
76da8fa4e3SBjoern A. Zeeb 					   pipe_dir),
77da8fa4e3SBjoern A. Zeeb 	},
78da8fa4e3SBjoern A. Zeeb 	{
79da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
80da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
81da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
82da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
83da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
84da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ce_svc_pipe_cfg_s_v01,
85da8fa4e3SBjoern A. Zeeb 					   pipe_num),
86da8fa4e3SBjoern A. Zeeb 	},
87da8fa4e3SBjoern A. Zeeb 	{}
88da8fa4e3SBjoern A. Zeeb };
89da8fa4e3SBjoern A. Zeeb 
90*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_shadow_reg_cfg_s_v01_ei[] = {
91da8fa4e3SBjoern A. Zeeb 	{
92da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_2_BYTE,
93da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
94da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
95da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
96da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
97da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_shadow_reg_cfg_s_v01,
98da8fa4e3SBjoern A. Zeeb 					   id),
99da8fa4e3SBjoern A. Zeeb 	},
100da8fa4e3SBjoern A. Zeeb 	{
101da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_2_BYTE,
102da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
103da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
104da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
105da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
106da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_shadow_reg_cfg_s_v01,
107da8fa4e3SBjoern A. Zeeb 					   offset),
108da8fa4e3SBjoern A. Zeeb 	},
109da8fa4e3SBjoern A. Zeeb 	{}
110da8fa4e3SBjoern A. Zeeb };
111da8fa4e3SBjoern A. Zeeb 
112*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_shadow_reg_v2_cfg_s_v01_ei[] = {
113da8fa4e3SBjoern A. Zeeb 	{
114da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
115da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
116da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
117da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
118da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
119da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_shadow_reg_v2_cfg_s_v01,
120da8fa4e3SBjoern A. Zeeb 					   addr),
121da8fa4e3SBjoern A. Zeeb 	},
122da8fa4e3SBjoern A. Zeeb 	{}
123da8fa4e3SBjoern A. Zeeb };
124da8fa4e3SBjoern A. Zeeb 
125*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_memory_region_info_s_v01_ei[] = {
126da8fa4e3SBjoern A. Zeeb 	{
127da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
128da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
129da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
130da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
131da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
132da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_memory_region_info_s_v01,
133da8fa4e3SBjoern A. Zeeb 					   region_addr),
134da8fa4e3SBjoern A. Zeeb 	},
135da8fa4e3SBjoern A. Zeeb 	{
136da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
137da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
138da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
139da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
140da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
141da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_memory_region_info_s_v01,
142da8fa4e3SBjoern A. Zeeb 					   size),
143da8fa4e3SBjoern A. Zeeb 	},
144da8fa4e3SBjoern A. Zeeb 	{
145da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
146da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
147da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
148da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
149da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
150da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_memory_region_info_s_v01,
151da8fa4e3SBjoern A. Zeeb 					   secure_flag),
152da8fa4e3SBjoern A. Zeeb 	},
153da8fa4e3SBjoern A. Zeeb 	{}
154da8fa4e3SBjoern A. Zeeb };
155da8fa4e3SBjoern A. Zeeb 
156*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_mem_cfg_s_v01_ei[] = {
157da8fa4e3SBjoern A. Zeeb 	{
158da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
159da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
160da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
161da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
162da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
163da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_cfg_s_v01,
164da8fa4e3SBjoern A. Zeeb 					   offset),
165da8fa4e3SBjoern A. Zeeb 	},
166da8fa4e3SBjoern A. Zeeb 	{
167da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
168da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
169da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
170da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
171da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
172da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_cfg_s_v01,
173da8fa4e3SBjoern A. Zeeb 					   size),
174da8fa4e3SBjoern A. Zeeb 	},
175da8fa4e3SBjoern A. Zeeb 	{
176da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
177da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
178da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
179da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
180da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
181da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_cfg_s_v01,
182da8fa4e3SBjoern A. Zeeb 					   secure_flag),
183da8fa4e3SBjoern A. Zeeb 	},
184da8fa4e3SBjoern A. Zeeb 	{}
185da8fa4e3SBjoern A. Zeeb };
186da8fa4e3SBjoern A. Zeeb 
187*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_mem_seg_s_v01_ei[] = {
188da8fa4e3SBjoern A. Zeeb 	{
189da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
190da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
191da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
192da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
193da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
194da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_s_v01,
195da8fa4e3SBjoern A. Zeeb 					   size),
196da8fa4e3SBjoern A. Zeeb 	},
197da8fa4e3SBjoern A. Zeeb 	{
198da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
199da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
200da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_mem_type_enum_v01),
201da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
202da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
203da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_s_v01,
204da8fa4e3SBjoern A. Zeeb 					   type),
205da8fa4e3SBjoern A. Zeeb 	},
206da8fa4e3SBjoern A. Zeeb 	{
207da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
208da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
209da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
210da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
211da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
212da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_s_v01,
213da8fa4e3SBjoern A. Zeeb 					   mem_cfg_len),
214da8fa4e3SBjoern A. Zeeb 	},
215da8fa4e3SBjoern A. Zeeb 	{
216da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
217da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_MEM_CFG_V01,
218da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_mem_cfg_s_v01),
219da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
220da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
221da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_s_v01,
222da8fa4e3SBjoern A. Zeeb 					   mem_cfg),
223da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_mem_cfg_s_v01_ei,
224da8fa4e3SBjoern A. Zeeb 	},
225da8fa4e3SBjoern A. Zeeb 	{}
226da8fa4e3SBjoern A. Zeeb };
227da8fa4e3SBjoern A. Zeeb 
228*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_mem_seg_resp_s_v01_ei[] = {
229da8fa4e3SBjoern A. Zeeb 	{
230da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
231da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
232da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
233da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
234da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
235da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_resp_s_v01,
236da8fa4e3SBjoern A. Zeeb 					   addr),
237da8fa4e3SBjoern A. Zeeb 	},
238da8fa4e3SBjoern A. Zeeb 	{
239da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
240da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
241da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
242da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
243da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
244da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_resp_s_v01,
245da8fa4e3SBjoern A. Zeeb 					   size),
246da8fa4e3SBjoern A. Zeeb 	},
247da8fa4e3SBjoern A. Zeeb 	{
248da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
249da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
250da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_mem_type_enum_v01),
251da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
252da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
253da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mem_seg_resp_s_v01,
254da8fa4e3SBjoern A. Zeeb 					   type),
255da8fa4e3SBjoern A. Zeeb 	},
256da8fa4e3SBjoern A. Zeeb 	{}
257da8fa4e3SBjoern A. Zeeb };
258da8fa4e3SBjoern A. Zeeb 
259*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_rf_chip_info_s_v01_ei[] = {
260da8fa4e3SBjoern A. Zeeb 	{
261da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
262da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
263da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
264da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
265da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
266da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rf_chip_info_s_v01,
267da8fa4e3SBjoern A. Zeeb 					   chip_id),
268da8fa4e3SBjoern A. Zeeb 	},
269da8fa4e3SBjoern A. Zeeb 	{
270da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
271da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
272da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
273da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
274da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
275da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rf_chip_info_s_v01,
276da8fa4e3SBjoern A. Zeeb 					   chip_family),
277da8fa4e3SBjoern A. Zeeb 	},
278da8fa4e3SBjoern A. Zeeb 	{}
279da8fa4e3SBjoern A. Zeeb };
280da8fa4e3SBjoern A. Zeeb 
281*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_rf_board_info_s_v01_ei[] = {
282da8fa4e3SBjoern A. Zeeb 	{
283da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
284da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
285da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
286da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
287da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
288da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rf_board_info_s_v01,
289da8fa4e3SBjoern A. Zeeb 					   board_id),
290da8fa4e3SBjoern A. Zeeb 	},
291da8fa4e3SBjoern A. Zeeb 	{}
292da8fa4e3SBjoern A. Zeeb };
293da8fa4e3SBjoern A. Zeeb 
294*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_soc_info_s_v01_ei[] = {
295da8fa4e3SBjoern A. Zeeb 	{
296da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
297da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
298da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
299da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
300da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
301da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_soc_info_s_v01,
302da8fa4e3SBjoern A. Zeeb 					   soc_id),
303da8fa4e3SBjoern A. Zeeb 	},
304da8fa4e3SBjoern A. Zeeb 	{}
305da8fa4e3SBjoern A. Zeeb };
306da8fa4e3SBjoern A. Zeeb 
307*07724ba6SBjoern A. Zeeb static const struct qmi_elem_info wlfw_fw_version_info_s_v01_ei[] = {
308da8fa4e3SBjoern A. Zeeb 	{
309da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
310da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
311da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
312da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
313da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
314da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_fw_version_info_s_v01,
315da8fa4e3SBjoern A. Zeeb 					   fw_version),
316da8fa4e3SBjoern A. Zeeb 	},
317da8fa4e3SBjoern A. Zeeb 	{
318da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRING,
319da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_TIMESTAMP_LEN_V01 + 1,
320da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(char),
321da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
322da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0,
323da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_fw_version_info_s_v01,
324da8fa4e3SBjoern A. Zeeb 					   fw_build_timestamp),
325da8fa4e3SBjoern A. Zeeb 	},
326da8fa4e3SBjoern A. Zeeb 	{}
327da8fa4e3SBjoern A. Zeeb };
328da8fa4e3SBjoern A. Zeeb 
329*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_ind_register_req_msg_v01_ei[] = {
330da8fa4e3SBjoern A. Zeeb 	{
331da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
332da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
333da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
334da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
335da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
336da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
337da8fa4e3SBjoern A. Zeeb 					   fw_ready_enable_valid),
338da8fa4e3SBjoern A. Zeeb 	},
339da8fa4e3SBjoern A. Zeeb 	{
340da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
341da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
342da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
343da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
344da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
345da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
346da8fa4e3SBjoern A. Zeeb 					   fw_ready_enable),
347da8fa4e3SBjoern A. Zeeb 	},
348da8fa4e3SBjoern A. Zeeb 	{
349da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
350da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
351da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
352da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
353da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
354da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
355da8fa4e3SBjoern A. Zeeb 					   initiate_cal_download_enable_valid),
356da8fa4e3SBjoern A. Zeeb 	},
357da8fa4e3SBjoern A. Zeeb 	{
358da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
359da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
360da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
361da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
362da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
363da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
364da8fa4e3SBjoern A. Zeeb 					   initiate_cal_download_enable),
365da8fa4e3SBjoern A. Zeeb 	},
366da8fa4e3SBjoern A. Zeeb 	{
367da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
368da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
369da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
370da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
371da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
372da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
373da8fa4e3SBjoern A. Zeeb 					   initiate_cal_update_enable_valid),
374da8fa4e3SBjoern A. Zeeb 	},
375da8fa4e3SBjoern A. Zeeb 	{
376da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
377da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
378da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
379da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
380da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
381da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
382da8fa4e3SBjoern A. Zeeb 					   initiate_cal_update_enable),
383da8fa4e3SBjoern A. Zeeb 	},
384da8fa4e3SBjoern A. Zeeb 	{
385da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
386da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
387da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
388da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
389da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
390da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
391da8fa4e3SBjoern A. Zeeb 					   msa_ready_enable_valid),
392da8fa4e3SBjoern A. Zeeb 	},
393da8fa4e3SBjoern A. Zeeb 	{
394da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
395da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
396da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
397da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
398da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
399da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
400da8fa4e3SBjoern A. Zeeb 					   msa_ready_enable),
401da8fa4e3SBjoern A. Zeeb 	},
402da8fa4e3SBjoern A. Zeeb 	{
403da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
404da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
405da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
406da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
407da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
408da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
409da8fa4e3SBjoern A. Zeeb 					   pin_connect_result_enable_valid),
410da8fa4e3SBjoern A. Zeeb 	},
411da8fa4e3SBjoern A. Zeeb 	{
412da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
413da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
414da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
415da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
416da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
417da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
418da8fa4e3SBjoern A. Zeeb 					   pin_connect_result_enable),
419da8fa4e3SBjoern A. Zeeb 	},
420da8fa4e3SBjoern A. Zeeb 	{
421da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
422da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
423da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
424da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
425da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
426da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
427da8fa4e3SBjoern A. Zeeb 					   client_id_valid),
428da8fa4e3SBjoern A. Zeeb 	},
429da8fa4e3SBjoern A. Zeeb 	{
430da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
431da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
432da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
433da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
434da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
435da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
436da8fa4e3SBjoern A. Zeeb 					   client_id),
437da8fa4e3SBjoern A. Zeeb 	},
438da8fa4e3SBjoern A. Zeeb 	{
439da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
440da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
441da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
442da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
443da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x16,
444da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
445da8fa4e3SBjoern A. Zeeb 					   request_mem_enable_valid),
446da8fa4e3SBjoern A. Zeeb 	},
447da8fa4e3SBjoern A. Zeeb 	{
448da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
449da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
450da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
451da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
452da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x16,
453da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
454da8fa4e3SBjoern A. Zeeb 					   request_mem_enable),
455da8fa4e3SBjoern A. Zeeb 	},
456da8fa4e3SBjoern A. Zeeb 	{
457da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
458da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
459da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
460da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
461da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x17,
462da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
463da8fa4e3SBjoern A. Zeeb 					   mem_ready_enable_valid),
464da8fa4e3SBjoern A. Zeeb 	},
465da8fa4e3SBjoern A. Zeeb 	{
466da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
467da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
468da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
469da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
470da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x17,
471da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
472da8fa4e3SBjoern A. Zeeb 					   mem_ready_enable),
473da8fa4e3SBjoern A. Zeeb 	},
474da8fa4e3SBjoern A. Zeeb 	{
475da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
476da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
477da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
478da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
479da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x18,
480da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
481da8fa4e3SBjoern A. Zeeb 					   fw_init_done_enable_valid),
482da8fa4e3SBjoern A. Zeeb 	},
483da8fa4e3SBjoern A. Zeeb 	{
484da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
485da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
486da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
487da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
488da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x18,
489da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
490da8fa4e3SBjoern A. Zeeb 					   fw_init_done_enable),
491da8fa4e3SBjoern A. Zeeb 	},
492da8fa4e3SBjoern A. Zeeb 	{
493da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
494da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
495da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
496da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
497da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x19,
498da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
499da8fa4e3SBjoern A. Zeeb 					   rejuvenate_enable_valid),
500da8fa4e3SBjoern A. Zeeb 	},
501da8fa4e3SBjoern A. Zeeb 	{
502da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
503da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
504da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
505da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
506da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x19,
507da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
508da8fa4e3SBjoern A. Zeeb 					   rejuvenate_enable),
509da8fa4e3SBjoern A. Zeeb 	},
510da8fa4e3SBjoern A. Zeeb 	{
511da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
512da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
513da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
514da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
515da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1A,
516da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
517da8fa4e3SBjoern A. Zeeb 					   xo_cal_enable_valid),
518da8fa4e3SBjoern A. Zeeb 	},
519da8fa4e3SBjoern A. Zeeb 	{
520da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
521da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
522da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
523da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
524da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1A,
525da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_req_msg_v01,
526da8fa4e3SBjoern A. Zeeb 					   xo_cal_enable),
527da8fa4e3SBjoern A. Zeeb 	},
528da8fa4e3SBjoern A. Zeeb 	{}
529da8fa4e3SBjoern A. Zeeb };
530da8fa4e3SBjoern A. Zeeb 
531*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_ind_register_resp_msg_v01_ei[] = {
532da8fa4e3SBjoern A. Zeeb 	{
533da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
534da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
535da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
536da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
537da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
538da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_resp_msg_v01,
539da8fa4e3SBjoern A. Zeeb 					   resp),
540da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
541da8fa4e3SBjoern A. Zeeb 	},
542da8fa4e3SBjoern A. Zeeb 	{
543da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
544da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
545da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
546da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
547da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
548da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_resp_msg_v01,
549da8fa4e3SBjoern A. Zeeb 					   fw_status_valid),
550da8fa4e3SBjoern A. Zeeb 	},
551da8fa4e3SBjoern A. Zeeb 	{
552da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
553da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
554da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
555da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
556da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
557da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ind_register_resp_msg_v01,
558da8fa4e3SBjoern A. Zeeb 					   fw_status),
559da8fa4e3SBjoern A. Zeeb 	},
560da8fa4e3SBjoern A. Zeeb 	{}
561da8fa4e3SBjoern A. Zeeb };
562da8fa4e3SBjoern A. Zeeb 
563*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_fw_ready_ind_msg_v01_ei[] = {
564da8fa4e3SBjoern A. Zeeb 	{}
565da8fa4e3SBjoern A. Zeeb };
566da8fa4e3SBjoern A. Zeeb 
567*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_msa_ready_ind_msg_v01_ei[] = {
568da8fa4e3SBjoern A. Zeeb 	{}
569da8fa4e3SBjoern A. Zeeb };
570da8fa4e3SBjoern A. Zeeb 
571*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_pin_connect_result_ind_msg_v01_ei[] = {
572da8fa4e3SBjoern A. Zeeb 	{
573da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
574da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
575da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
576da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
577da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
578da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
579da8fa4e3SBjoern A. Zeeb 					   pwr_pin_result_valid),
580da8fa4e3SBjoern A. Zeeb 	},
581da8fa4e3SBjoern A. Zeeb 	{
582da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
583da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
584da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
585da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
586da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
587da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
588da8fa4e3SBjoern A. Zeeb 					   pwr_pin_result),
589da8fa4e3SBjoern A. Zeeb 	},
590da8fa4e3SBjoern A. Zeeb 	{
591da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
592da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
593da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
594da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
595da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
596da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
597da8fa4e3SBjoern A. Zeeb 					   phy_io_pin_result_valid),
598da8fa4e3SBjoern A. Zeeb 	},
599da8fa4e3SBjoern A. Zeeb 	{
600da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
601da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
602da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
603da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
604da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
605da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
606da8fa4e3SBjoern A. Zeeb 					   phy_io_pin_result),
607da8fa4e3SBjoern A. Zeeb 	},
608da8fa4e3SBjoern A. Zeeb 	{
609da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
610da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
611da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
612da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
613da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
614da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
615da8fa4e3SBjoern A. Zeeb 					   rf_pin_result_valid),
616da8fa4e3SBjoern A. Zeeb 	},
617da8fa4e3SBjoern A. Zeeb 	{
618da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
619da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
620da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
621da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
622da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
623da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_pin_connect_result_ind_msg_v01,
624da8fa4e3SBjoern A. Zeeb 					   rf_pin_result),
625da8fa4e3SBjoern A. Zeeb 	},
626da8fa4e3SBjoern A. Zeeb 	{}
627da8fa4e3SBjoern A. Zeeb };
628da8fa4e3SBjoern A. Zeeb 
629*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[] = {
630da8fa4e3SBjoern A. Zeeb 	{
631da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
632da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
633da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_driver_mode_enum_v01),
634da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
635da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
636da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_mode_req_msg_v01,
637da8fa4e3SBjoern A. Zeeb 					   mode),
638da8fa4e3SBjoern A. Zeeb 	},
639da8fa4e3SBjoern A. Zeeb 	{
640da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
641da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
642da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
643da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
644da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
645da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_mode_req_msg_v01,
646da8fa4e3SBjoern A. Zeeb 					   hw_debug_valid),
647da8fa4e3SBjoern A. Zeeb 	},
648da8fa4e3SBjoern A. Zeeb 	{
649da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
650da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
651da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
652da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
653da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
654da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_mode_req_msg_v01,
655da8fa4e3SBjoern A. Zeeb 					   hw_debug),
656da8fa4e3SBjoern A. Zeeb 	},
657da8fa4e3SBjoern A. Zeeb 	{}
658da8fa4e3SBjoern A. Zeeb };
659da8fa4e3SBjoern A. Zeeb 
660*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_wlan_mode_resp_msg_v01_ei[] = {
661da8fa4e3SBjoern A. Zeeb 	{
662da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
663da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
664da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
665da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
666da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
667da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_mode_resp_msg_v01,
668da8fa4e3SBjoern A. Zeeb 					   resp),
669da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
670da8fa4e3SBjoern A. Zeeb 	},
671da8fa4e3SBjoern A. Zeeb 	{}
672da8fa4e3SBjoern A. Zeeb };
673da8fa4e3SBjoern A. Zeeb 
674*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_wlan_cfg_req_msg_v01_ei[] = {
675da8fa4e3SBjoern A. Zeeb 	{
676da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
677da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
678da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
679da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
680da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
681da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
682da8fa4e3SBjoern A. Zeeb 					   host_version_valid),
683da8fa4e3SBjoern A. Zeeb 	},
684da8fa4e3SBjoern A. Zeeb 	{
685da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRING,
686da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_STR_LEN_V01 + 1,
687da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(char),
688da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
689da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
690da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
691da8fa4e3SBjoern A. Zeeb 					   host_version),
692da8fa4e3SBjoern A. Zeeb 	},
693da8fa4e3SBjoern A. Zeeb 	{
694da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
695da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
696da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
697da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
698da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
699da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
700da8fa4e3SBjoern A. Zeeb 					   tgt_cfg_valid),
701da8fa4e3SBjoern A. Zeeb 	},
702da8fa4e3SBjoern A. Zeeb 	{
703da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
704da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
705da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
706da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
707da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
708da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
709da8fa4e3SBjoern A. Zeeb 					   tgt_cfg_len),
710da8fa4e3SBjoern A. Zeeb 	},
711da8fa4e3SBjoern A. Zeeb 	{
712da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
713da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_CE_V01,
714da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_ce_tgt_pipe_cfg_s_v01),
715da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
716da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
717da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
718da8fa4e3SBjoern A. Zeeb 					   tgt_cfg),
719da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_ce_tgt_pipe_cfg_s_v01_ei,
720da8fa4e3SBjoern A. Zeeb 	},
721da8fa4e3SBjoern A. Zeeb 	{
722da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
723da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
724da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
725da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
726da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
727da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
728da8fa4e3SBjoern A. Zeeb 					   svc_cfg_valid),
729da8fa4e3SBjoern A. Zeeb 	},
730da8fa4e3SBjoern A. Zeeb 	{
731da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
732da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
733da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
734da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
735da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
736da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
737da8fa4e3SBjoern A. Zeeb 					   svc_cfg_len),
738da8fa4e3SBjoern A. Zeeb 	},
739da8fa4e3SBjoern A. Zeeb 	{
740da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
741da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_SVC_V01,
742da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_ce_svc_pipe_cfg_s_v01),
743da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
744da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
745da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
746da8fa4e3SBjoern A. Zeeb 					   svc_cfg),
747da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_ce_svc_pipe_cfg_s_v01_ei,
748da8fa4e3SBjoern A. Zeeb 	},
749da8fa4e3SBjoern A. Zeeb 	{
750da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
751da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
752da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
753da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
754da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
755da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
756da8fa4e3SBjoern A. Zeeb 					   shadow_reg_valid),
757da8fa4e3SBjoern A. Zeeb 	},
758da8fa4e3SBjoern A. Zeeb 	{
759da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
760da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
761da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
762da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
763da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
764da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
765da8fa4e3SBjoern A. Zeeb 					   shadow_reg_len),
766da8fa4e3SBjoern A. Zeeb 	},
767da8fa4e3SBjoern A. Zeeb 	{
768da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
769da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_SHADOW_REG_V01,
770da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_shadow_reg_cfg_s_v01),
771da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
772da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
773da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
774da8fa4e3SBjoern A. Zeeb 					   shadow_reg),
775da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_shadow_reg_cfg_s_v01_ei,
776da8fa4e3SBjoern A. Zeeb 	},
777da8fa4e3SBjoern A. Zeeb 	{
778da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
779da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
780da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
781da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
782da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
783da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
784da8fa4e3SBjoern A. Zeeb 					   shadow_reg_v2_valid),
785da8fa4e3SBjoern A. Zeeb 	},
786da8fa4e3SBjoern A. Zeeb 	{
787da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
788da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
789da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
790da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
791da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
792da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
793da8fa4e3SBjoern A. Zeeb 					   shadow_reg_v2_len),
794da8fa4e3SBjoern A. Zeeb 	},
795da8fa4e3SBjoern A. Zeeb 	{
796da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
797da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_SHADOW_REG_V2,
798da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_shadow_reg_v2_cfg_s_v01),
799da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
800da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
801da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_req_msg_v01,
802da8fa4e3SBjoern A. Zeeb 					   shadow_reg_v2),
803da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_shadow_reg_v2_cfg_s_v01_ei,
804da8fa4e3SBjoern A. Zeeb 	},
805da8fa4e3SBjoern A. Zeeb 	{}
806da8fa4e3SBjoern A. Zeeb };
807da8fa4e3SBjoern A. Zeeb 
808*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_wlan_cfg_resp_msg_v01_ei[] = {
809da8fa4e3SBjoern A. Zeeb 	{
810da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
811da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
812da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
813da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
814da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
815da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_wlan_cfg_resp_msg_v01,
816da8fa4e3SBjoern A. Zeeb 					   resp),
817da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
818da8fa4e3SBjoern A. Zeeb 	},
819da8fa4e3SBjoern A. Zeeb 	{}
820da8fa4e3SBjoern A. Zeeb };
821da8fa4e3SBjoern A. Zeeb 
822*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cap_req_msg_v01_ei[] = {
823da8fa4e3SBjoern A. Zeeb 	{}
824da8fa4e3SBjoern A. Zeeb };
825da8fa4e3SBjoern A. Zeeb 
826*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[] = {
827da8fa4e3SBjoern A. Zeeb 	{
828da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
829da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
830da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
831da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
832da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
833da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
834da8fa4e3SBjoern A. Zeeb 					   resp),
835da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
836da8fa4e3SBjoern A. Zeeb 	},
837da8fa4e3SBjoern A. Zeeb 	{
838da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
839da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
840da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
841da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
842da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
843da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
844da8fa4e3SBjoern A. Zeeb 					   chip_info_valid),
845da8fa4e3SBjoern A. Zeeb 	},
846da8fa4e3SBjoern A. Zeeb 	{
847da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
848da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
849da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_rf_chip_info_s_v01),
850da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
851da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
852da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
853da8fa4e3SBjoern A. Zeeb 					   chip_info),
854da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_rf_chip_info_s_v01_ei,
855da8fa4e3SBjoern A. Zeeb 	},
856da8fa4e3SBjoern A. Zeeb 	{
857da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
858da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
859da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
860da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
861da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
862da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
863da8fa4e3SBjoern A. Zeeb 					   board_info_valid),
864da8fa4e3SBjoern A. Zeeb 	},
865da8fa4e3SBjoern A. Zeeb 	{
866da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
867da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
868da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_rf_board_info_s_v01),
869da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
870da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
871da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
872da8fa4e3SBjoern A. Zeeb 					   board_info),
873da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_rf_board_info_s_v01_ei,
874da8fa4e3SBjoern A. Zeeb 	},
875da8fa4e3SBjoern A. Zeeb 	{
876da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
877da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
878da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
879da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
880da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
881da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
882da8fa4e3SBjoern A. Zeeb 					   soc_info_valid),
883da8fa4e3SBjoern A. Zeeb 	},
884da8fa4e3SBjoern A. Zeeb 	{
885da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
886da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
887da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_soc_info_s_v01),
888da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
889da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
890da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
891da8fa4e3SBjoern A. Zeeb 					   soc_info),
892da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_soc_info_s_v01_ei,
893da8fa4e3SBjoern A. Zeeb 	},
894da8fa4e3SBjoern A. Zeeb 	{
895da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
896da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
897da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
898da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
899da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
900da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
901da8fa4e3SBjoern A. Zeeb 					   fw_version_info_valid),
902da8fa4e3SBjoern A. Zeeb 	},
903da8fa4e3SBjoern A. Zeeb 	{
904da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
905da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
906da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_fw_version_info_s_v01),
907da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
908da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
909da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
910da8fa4e3SBjoern A. Zeeb 					   fw_version_info),
911da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_fw_version_info_s_v01_ei,
912da8fa4e3SBjoern A. Zeeb 	},
913da8fa4e3SBjoern A. Zeeb 	{
914da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
915da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
916da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
917da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
918da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
919da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
920da8fa4e3SBjoern A. Zeeb 					   fw_build_id_valid),
921da8fa4e3SBjoern A. Zeeb 	},
922da8fa4e3SBjoern A. Zeeb 	{
923da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRING,
924da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_BUILD_ID_LEN_V01 + 1,
925da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(char),
926da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
927da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
928da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
929da8fa4e3SBjoern A. Zeeb 					   fw_build_id),
930da8fa4e3SBjoern A. Zeeb 	},
931da8fa4e3SBjoern A. Zeeb 	{
932da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
933da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
934da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
935da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
936da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
937da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
938da8fa4e3SBjoern A. Zeeb 					   num_macs_valid),
939da8fa4e3SBjoern A. Zeeb 	},
940da8fa4e3SBjoern A. Zeeb 	{
941da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
942da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
943da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
944da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
945da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
946da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cap_resp_msg_v01,
947da8fa4e3SBjoern A. Zeeb 					   num_macs),
948da8fa4e3SBjoern A. Zeeb 	},
949da8fa4e3SBjoern A. Zeeb 	{}
950da8fa4e3SBjoern A. Zeeb };
951da8fa4e3SBjoern A. Zeeb 
952*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_bdf_download_req_msg_v01_ei[] = {
953da8fa4e3SBjoern A. Zeeb 	{
954da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
955da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
956da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
957da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
958da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
959da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
960da8fa4e3SBjoern A. Zeeb 					   valid),
961da8fa4e3SBjoern A. Zeeb 	},
962da8fa4e3SBjoern A. Zeeb 	{
963da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
964da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
965da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
966da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
967da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
968da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
969da8fa4e3SBjoern A. Zeeb 					   file_id_valid),
970da8fa4e3SBjoern A. Zeeb 	},
971da8fa4e3SBjoern A. Zeeb 	{
972da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
973da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
974da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
975da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
976da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
977da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
978da8fa4e3SBjoern A. Zeeb 					   file_id),
979da8fa4e3SBjoern A. Zeeb 	},
980da8fa4e3SBjoern A. Zeeb 	{
981da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
982da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
983da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
984da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
985da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
986da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
987da8fa4e3SBjoern A. Zeeb 					   total_size_valid),
988da8fa4e3SBjoern A. Zeeb 	},
989da8fa4e3SBjoern A. Zeeb 	{
990da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
991da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
992da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
993da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
994da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
995da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
996da8fa4e3SBjoern A. Zeeb 					   total_size),
997da8fa4e3SBjoern A. Zeeb 	},
998da8fa4e3SBjoern A. Zeeb 	{
999da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1000da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1001da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1002da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1003da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1004da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1005da8fa4e3SBjoern A. Zeeb 					   seg_id_valid),
1006da8fa4e3SBjoern A. Zeeb 	},
1007da8fa4e3SBjoern A. Zeeb 	{
1008da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1009da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1010da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1011da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1012da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1013da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1014da8fa4e3SBjoern A. Zeeb 					   seg_id),
1015da8fa4e3SBjoern A. Zeeb 	},
1016da8fa4e3SBjoern A. Zeeb 	{
1017da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1018da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1019da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1020da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1021da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1022da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1023da8fa4e3SBjoern A. Zeeb 					   data_valid),
1024da8fa4e3SBjoern A. Zeeb 	},
1025da8fa4e3SBjoern A. Zeeb 	{
1026da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1027da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1028da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
1029da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1030da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1031da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1032da8fa4e3SBjoern A. Zeeb 					   data_len),
1033da8fa4e3SBjoern A. Zeeb 	},
1034da8fa4e3SBjoern A. Zeeb 	{
1035da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1036da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_DATA_SIZE_V01,
1037da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1038da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1039da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1040da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1041da8fa4e3SBjoern A. Zeeb 					   data),
1042da8fa4e3SBjoern A. Zeeb 	},
1043da8fa4e3SBjoern A. Zeeb 	{
1044da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1045da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1046da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1047da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1048da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1049da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1050da8fa4e3SBjoern A. Zeeb 					   end_valid),
1051da8fa4e3SBjoern A. Zeeb 	},
1052da8fa4e3SBjoern A. Zeeb 	{
1053da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1054da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1055da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1056da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1057da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1058da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1059da8fa4e3SBjoern A. Zeeb 					   end),
1060da8fa4e3SBjoern A. Zeeb 	},
1061da8fa4e3SBjoern A. Zeeb 	{
1062da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1063da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1064da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1065da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1066da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
1067da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1068da8fa4e3SBjoern A. Zeeb 					   bdf_type_valid),
1069da8fa4e3SBjoern A. Zeeb 	},
1070da8fa4e3SBjoern A. Zeeb 	{
1071da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1072da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1073da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1074da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1075da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
1076da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_req_msg_v01,
1077da8fa4e3SBjoern A. Zeeb 					   bdf_type),
1078da8fa4e3SBjoern A. Zeeb 	},
1079da8fa4e3SBjoern A. Zeeb 	{}
1080da8fa4e3SBjoern A. Zeeb };
1081da8fa4e3SBjoern A. Zeeb 
1082*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_bdf_download_resp_msg_v01_ei[] = {
1083da8fa4e3SBjoern A. Zeeb 	{
1084da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1085da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1086da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1087da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1088da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1089da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_bdf_download_resp_msg_v01,
1090da8fa4e3SBjoern A. Zeeb 					   resp),
1091da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1092da8fa4e3SBjoern A. Zeeb 	},
1093da8fa4e3SBjoern A. Zeeb 	{}
1094da8fa4e3SBjoern A. Zeeb };
1095da8fa4e3SBjoern A. Zeeb 
1096*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_report_req_msg_v01_ei[] = {
1097da8fa4e3SBjoern A. Zeeb 	{
1098da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1099da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1100da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1101da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1102da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1103da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_report_req_msg_v01,
1104da8fa4e3SBjoern A. Zeeb 					   meta_data_len),
1105da8fa4e3SBjoern A. Zeeb 	},
1106da8fa4e3SBjoern A. Zeeb 	{
1107da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1108da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_CAL_V01,
1109da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1110da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1111da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1112da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_report_req_msg_v01,
1113da8fa4e3SBjoern A. Zeeb 					   meta_data),
1114da8fa4e3SBjoern A. Zeeb 	},
1115da8fa4e3SBjoern A. Zeeb 	{
1116da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1117da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1118da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1119da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1120da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1121da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_report_req_msg_v01,
1122da8fa4e3SBjoern A. Zeeb 					   xo_cal_data_valid),
1123da8fa4e3SBjoern A. Zeeb 	},
1124da8fa4e3SBjoern A. Zeeb 	{
1125da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1126da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1127da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1128da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1129da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1130da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_report_req_msg_v01,
1131da8fa4e3SBjoern A. Zeeb 					   xo_cal_data),
1132da8fa4e3SBjoern A. Zeeb 	},
1133da8fa4e3SBjoern A. Zeeb 	{}
1134da8fa4e3SBjoern A. Zeeb };
1135da8fa4e3SBjoern A. Zeeb 
1136*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_report_resp_msg_v01_ei[] = {
1137da8fa4e3SBjoern A. Zeeb 	{
1138da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1139da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1140da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1141da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1142da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1143da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_report_resp_msg_v01,
1144da8fa4e3SBjoern A. Zeeb 					   resp),
1145da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1146da8fa4e3SBjoern A. Zeeb 	},
1147da8fa4e3SBjoern A. Zeeb 	{}
1148da8fa4e3SBjoern A. Zeeb };
1149da8fa4e3SBjoern A. Zeeb 
1150*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_initiate_cal_download_ind_msg_v01_ei[] = {
1151da8fa4e3SBjoern A. Zeeb 	{
1152da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1153da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1154da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1155da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1156da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1157da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_initiate_cal_download_ind_msg_v01,
1158da8fa4e3SBjoern A. Zeeb 					   cal_id),
1159da8fa4e3SBjoern A. Zeeb 	},
1160da8fa4e3SBjoern A. Zeeb 	{}
1161da8fa4e3SBjoern A. Zeeb };
1162da8fa4e3SBjoern A. Zeeb 
1163*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_download_req_msg_v01_ei[] = {
1164da8fa4e3SBjoern A. Zeeb 	{
1165da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1166da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1167da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1168da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1169da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1170da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1171da8fa4e3SBjoern A. Zeeb 					   valid),
1172da8fa4e3SBjoern A. Zeeb 	},
1173da8fa4e3SBjoern A. Zeeb 	{
1174da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1175da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1176da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1177da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1178da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1179da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1180da8fa4e3SBjoern A. Zeeb 					   file_id_valid),
1181da8fa4e3SBjoern A. Zeeb 	},
1182da8fa4e3SBjoern A. Zeeb 	{
1183da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1184da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1185da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1186da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1187da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1188da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1189da8fa4e3SBjoern A. Zeeb 					   file_id),
1190da8fa4e3SBjoern A. Zeeb 	},
1191da8fa4e3SBjoern A. Zeeb 	{
1192da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1193da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1194da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1195da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1196da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1197da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1198da8fa4e3SBjoern A. Zeeb 					   total_size_valid),
1199da8fa4e3SBjoern A. Zeeb 	},
1200da8fa4e3SBjoern A. Zeeb 	{
1201da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1202da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1203da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1204da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1205da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1206da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1207da8fa4e3SBjoern A. Zeeb 					   total_size),
1208da8fa4e3SBjoern A. Zeeb 	},
1209da8fa4e3SBjoern A. Zeeb 	{
1210da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1211da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1212da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1213da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1214da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1215da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1216da8fa4e3SBjoern A. Zeeb 					   seg_id_valid),
1217da8fa4e3SBjoern A. Zeeb 	},
1218da8fa4e3SBjoern A. Zeeb 	{
1219da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1220da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1221da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1222da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1223da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1224da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1225da8fa4e3SBjoern A. Zeeb 					   seg_id),
1226da8fa4e3SBjoern A. Zeeb 	},
1227da8fa4e3SBjoern A. Zeeb 	{
1228da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1229da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1230da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1231da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1232da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1233da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1234da8fa4e3SBjoern A. Zeeb 					   data_valid),
1235da8fa4e3SBjoern A. Zeeb 	},
1236da8fa4e3SBjoern A. Zeeb 	{
1237da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1238da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1239da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
1240da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1241da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1242da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1243da8fa4e3SBjoern A. Zeeb 					   data_len),
1244da8fa4e3SBjoern A. Zeeb 	},
1245da8fa4e3SBjoern A. Zeeb 	{
1246da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1247da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_DATA_SIZE_V01,
1248da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1249da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1250da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1251da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1252da8fa4e3SBjoern A. Zeeb 					   data),
1253da8fa4e3SBjoern A. Zeeb 	},
1254da8fa4e3SBjoern A. Zeeb 	{
1255da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1256da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1257da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1258da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1259da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1260da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1261da8fa4e3SBjoern A. Zeeb 					   end_valid),
1262da8fa4e3SBjoern A. Zeeb 	},
1263da8fa4e3SBjoern A. Zeeb 	{
1264da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1265da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1266da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1267da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1268da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1269da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_req_msg_v01,
1270da8fa4e3SBjoern A. Zeeb 					   end),
1271da8fa4e3SBjoern A. Zeeb 	},
1272da8fa4e3SBjoern A. Zeeb 	{}
1273da8fa4e3SBjoern A. Zeeb };
1274da8fa4e3SBjoern A. Zeeb 
1275*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_download_resp_msg_v01_ei[] = {
1276da8fa4e3SBjoern A. Zeeb 	{
1277da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1278da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1279da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1280da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1281da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1282da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_download_resp_msg_v01,
1283da8fa4e3SBjoern A. Zeeb 					   resp),
1284da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1285da8fa4e3SBjoern A. Zeeb 	},
1286da8fa4e3SBjoern A. Zeeb 	{}
1287da8fa4e3SBjoern A. Zeeb };
1288da8fa4e3SBjoern A. Zeeb 
1289*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_initiate_cal_update_ind_msg_v01_ei[] = {
1290da8fa4e3SBjoern A. Zeeb 	{
1291da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1292da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1293da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1294da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1295da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1296da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_initiate_cal_update_ind_msg_v01,
1297da8fa4e3SBjoern A. Zeeb 					   cal_id),
1298da8fa4e3SBjoern A. Zeeb 	},
1299da8fa4e3SBjoern A. Zeeb 	{
1300da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1301da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1302da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1303da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1304da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1305da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_initiate_cal_update_ind_msg_v01,
1306da8fa4e3SBjoern A. Zeeb 					   total_size),
1307da8fa4e3SBjoern A. Zeeb 	},
1308da8fa4e3SBjoern A. Zeeb 	{}
1309da8fa4e3SBjoern A. Zeeb };
1310da8fa4e3SBjoern A. Zeeb 
1311*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_update_req_msg_v01_ei[] = {
1312da8fa4e3SBjoern A. Zeeb 	{
1313da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1314da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1315da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1316da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1317da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1318da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_req_msg_v01,
1319da8fa4e3SBjoern A. Zeeb 					   cal_id),
1320da8fa4e3SBjoern A. Zeeb 	},
1321da8fa4e3SBjoern A. Zeeb 	{
1322da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1323da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1324da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1325da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1326da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1327da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_req_msg_v01,
1328da8fa4e3SBjoern A. Zeeb 					   seg_id),
1329da8fa4e3SBjoern A. Zeeb 	},
1330da8fa4e3SBjoern A. Zeeb 	{}
1331da8fa4e3SBjoern A. Zeeb };
1332da8fa4e3SBjoern A. Zeeb 
1333*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_cal_update_resp_msg_v01_ei[] = {
1334da8fa4e3SBjoern A. Zeeb 	{
1335da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1336da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1337da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1338da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1339da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1340da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1341da8fa4e3SBjoern A. Zeeb 					   resp),
1342da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1343da8fa4e3SBjoern A. Zeeb 	},
1344da8fa4e3SBjoern A. Zeeb 	{
1345da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1346da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1347da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1348da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1349da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1350da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1351da8fa4e3SBjoern A. Zeeb 					   file_id_valid),
1352da8fa4e3SBjoern A. Zeeb 	},
1353da8fa4e3SBjoern A. Zeeb 	{
1354da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_SIGNED_4_BYTE_ENUM,
1355da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1356da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(enum wlfw_cal_temp_id_enum_v01),
1357da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1358da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1359da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1360da8fa4e3SBjoern A. Zeeb 					   file_id),
1361da8fa4e3SBjoern A. Zeeb 	},
1362da8fa4e3SBjoern A. Zeeb 	{
1363da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1364da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1365da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1366da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1367da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1368da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1369da8fa4e3SBjoern A. Zeeb 					   total_size_valid),
1370da8fa4e3SBjoern A. Zeeb 	},
1371da8fa4e3SBjoern A. Zeeb 	{
1372da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1373da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1374da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1375da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1376da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1377da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1378da8fa4e3SBjoern A. Zeeb 					   total_size),
1379da8fa4e3SBjoern A. Zeeb 	},
1380da8fa4e3SBjoern A. Zeeb 	{
1381da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1382da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1383da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1384da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1385da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1386da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1387da8fa4e3SBjoern A. Zeeb 					   seg_id_valid),
1388da8fa4e3SBjoern A. Zeeb 	},
1389da8fa4e3SBjoern A. Zeeb 	{
1390da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1391da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1392da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1393da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1394da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1395da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1396da8fa4e3SBjoern A. Zeeb 					   seg_id),
1397da8fa4e3SBjoern A. Zeeb 	},
1398da8fa4e3SBjoern A. Zeeb 	{
1399da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1400da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1401da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1402da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1403da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1404da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1405da8fa4e3SBjoern A. Zeeb 					   data_valid),
1406da8fa4e3SBjoern A. Zeeb 	},
1407da8fa4e3SBjoern A. Zeeb 	{
1408da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1409da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1410da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
1411da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1412da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1413da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1414da8fa4e3SBjoern A. Zeeb 					   data_len),
1415da8fa4e3SBjoern A. Zeeb 	},
1416da8fa4e3SBjoern A. Zeeb 	{
1417da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1418da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_DATA_SIZE_V01,
1419da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1420da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1421da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1422da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1423da8fa4e3SBjoern A. Zeeb 					   data),
1424da8fa4e3SBjoern A. Zeeb 	},
1425da8fa4e3SBjoern A. Zeeb 	{
1426da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1427da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1428da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1429da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1430da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1431da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1432da8fa4e3SBjoern A. Zeeb 					   end_valid),
1433da8fa4e3SBjoern A. Zeeb 	},
1434da8fa4e3SBjoern A. Zeeb 	{
1435da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1436da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1437da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1438da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1439da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1440da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_cal_update_resp_msg_v01,
1441da8fa4e3SBjoern A. Zeeb 					   end),
1442da8fa4e3SBjoern A. Zeeb 	},
1443da8fa4e3SBjoern A. Zeeb 	{}
1444da8fa4e3SBjoern A. Zeeb };
1445da8fa4e3SBjoern A. Zeeb 
1446*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_msa_info_req_msg_v01_ei[] = {
1447da8fa4e3SBjoern A. Zeeb 	{
1448da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
1449da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1450da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
1451da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1452da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1453da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_info_req_msg_v01,
1454da8fa4e3SBjoern A. Zeeb 					   msa_addr),
1455da8fa4e3SBjoern A. Zeeb 	},
1456da8fa4e3SBjoern A. Zeeb 	{
1457da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1458da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1459da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1460da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1461da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1462da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_info_req_msg_v01,
1463da8fa4e3SBjoern A. Zeeb 					   size),
1464da8fa4e3SBjoern A. Zeeb 	},
1465da8fa4e3SBjoern A. Zeeb 	{}
1466da8fa4e3SBjoern A. Zeeb };
1467da8fa4e3SBjoern A. Zeeb 
1468*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_msa_info_resp_msg_v01_ei[] = {
1469da8fa4e3SBjoern A. Zeeb 	{
1470da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1471da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1472da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1473da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1474da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1475da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_info_resp_msg_v01,
1476da8fa4e3SBjoern A. Zeeb 					   resp),
1477da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1478da8fa4e3SBjoern A. Zeeb 	},
1479da8fa4e3SBjoern A. Zeeb 	{
1480da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1481da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1482da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1483da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1484da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x03,
1485da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_info_resp_msg_v01,
1486da8fa4e3SBjoern A. Zeeb 					   mem_region_info_len),
1487da8fa4e3SBjoern A. Zeeb 	},
1488da8fa4e3SBjoern A. Zeeb 	{
1489da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1490da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_MEM_REG_V01,
1491da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_memory_region_info_s_v01),
1492da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1493da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x03,
1494da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_info_resp_msg_v01,
1495da8fa4e3SBjoern A. Zeeb 					   mem_region_info),
1496da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_memory_region_info_s_v01_ei,
1497da8fa4e3SBjoern A. Zeeb 	},
1498da8fa4e3SBjoern A. Zeeb 	{}
1499da8fa4e3SBjoern A. Zeeb };
1500da8fa4e3SBjoern A. Zeeb 
1501*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_msa_ready_req_msg_v01_ei[] = {
1502da8fa4e3SBjoern A. Zeeb 	{}
1503da8fa4e3SBjoern A. Zeeb };
1504da8fa4e3SBjoern A. Zeeb 
1505*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_msa_ready_resp_msg_v01_ei[] = {
1506da8fa4e3SBjoern A. Zeeb 	{
1507da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1508da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1509da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1510da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1511da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1512da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_msa_ready_resp_msg_v01,
1513da8fa4e3SBjoern A. Zeeb 					   resp),
1514da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1515da8fa4e3SBjoern A. Zeeb 	},
1516da8fa4e3SBjoern A. Zeeb 	{}
1517da8fa4e3SBjoern A. Zeeb };
1518da8fa4e3SBjoern A. Zeeb 
1519*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_ini_req_msg_v01_ei[] = {
1520da8fa4e3SBjoern A. Zeeb 	{
1521da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1522da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1523da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1524da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1525da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1526da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ini_req_msg_v01,
1527da8fa4e3SBjoern A. Zeeb 					   enablefwlog_valid),
1528da8fa4e3SBjoern A. Zeeb 	},
1529da8fa4e3SBjoern A. Zeeb 	{
1530da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1531da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1532da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1533da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1534da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1535da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ini_req_msg_v01,
1536da8fa4e3SBjoern A. Zeeb 					   enablefwlog),
1537da8fa4e3SBjoern A. Zeeb 	},
1538da8fa4e3SBjoern A. Zeeb 	{}
1539da8fa4e3SBjoern A. Zeeb };
1540da8fa4e3SBjoern A. Zeeb 
1541*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_ini_resp_msg_v01_ei[] = {
1542da8fa4e3SBjoern A. Zeeb 	{
1543da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1544da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1545da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1546da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1547da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1548da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_ini_resp_msg_v01,
1549da8fa4e3SBjoern A. Zeeb 					   resp),
1550da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1551da8fa4e3SBjoern A. Zeeb 	},
1552da8fa4e3SBjoern A. Zeeb 	{}
1553da8fa4e3SBjoern A. Zeeb };
1554da8fa4e3SBjoern A. Zeeb 
1555*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_athdiag_read_req_msg_v01_ei[] = {
1556da8fa4e3SBjoern A. Zeeb 	{
1557da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1558da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1559da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1560da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1561da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1562da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1563da8fa4e3SBjoern A. Zeeb 					   offset),
1564da8fa4e3SBjoern A. Zeeb 	},
1565da8fa4e3SBjoern A. Zeeb 	{
1566da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1567da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1568da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1569da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1570da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1571da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1572da8fa4e3SBjoern A. Zeeb 					   mem_type),
1573da8fa4e3SBjoern A. Zeeb 	},
1574da8fa4e3SBjoern A. Zeeb 	{
1575da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1576da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1577da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1578da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1579da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x03,
1580da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_req_msg_v01,
1581da8fa4e3SBjoern A. Zeeb 					   data_len),
1582da8fa4e3SBjoern A. Zeeb 	},
1583da8fa4e3SBjoern A. Zeeb 	{}
1584da8fa4e3SBjoern A. Zeeb };
1585da8fa4e3SBjoern A. Zeeb 
1586*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_athdiag_read_resp_msg_v01_ei[] = {
1587da8fa4e3SBjoern A. Zeeb 	{
1588da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1589da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1590da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1591da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1592da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1593da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1594da8fa4e3SBjoern A. Zeeb 					   resp),
1595da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1596da8fa4e3SBjoern A. Zeeb 	},
1597da8fa4e3SBjoern A. Zeeb 	{
1598da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1599da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1600da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1601da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1602da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1603da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1604da8fa4e3SBjoern A. Zeeb 					   data_valid),
1605da8fa4e3SBjoern A. Zeeb 	},
1606da8fa4e3SBjoern A. Zeeb 	{
1607da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1608da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1609da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
1610da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1611da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1612da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1613da8fa4e3SBjoern A. Zeeb 					   data_len),
1614da8fa4e3SBjoern A. Zeeb 	},
1615da8fa4e3SBjoern A. Zeeb 	{
1616da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1617da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01,
1618da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1619da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1620da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1621da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_read_resp_msg_v01,
1622da8fa4e3SBjoern A. Zeeb 					   data),
1623da8fa4e3SBjoern A. Zeeb 	},
1624da8fa4e3SBjoern A. Zeeb 	{}
1625da8fa4e3SBjoern A. Zeeb };
1626da8fa4e3SBjoern A. Zeeb 
1627*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_athdiag_write_req_msg_v01_ei[] = {
1628da8fa4e3SBjoern A. Zeeb 	{
1629da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1630da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1631da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1632da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1633da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1634da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1635da8fa4e3SBjoern A. Zeeb 					   offset),
1636da8fa4e3SBjoern A. Zeeb 	},
1637da8fa4e3SBjoern A. Zeeb 	{
1638da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1639da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1640da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1641da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1642da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1643da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1644da8fa4e3SBjoern A. Zeeb 					   mem_type),
1645da8fa4e3SBjoern A. Zeeb 	},
1646da8fa4e3SBjoern A. Zeeb 	{
1647da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1648da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1649da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
1650da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1651da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x03,
1652da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1653da8fa4e3SBjoern A. Zeeb 					   data_len),
1654da8fa4e3SBjoern A. Zeeb 	},
1655da8fa4e3SBjoern A. Zeeb 	{
1656da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1657da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_ATHDIAG_DATA_SIZE_V01,
1658da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1659da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
1660da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x03,
1661da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_write_req_msg_v01,
1662da8fa4e3SBjoern A. Zeeb 					   data),
1663da8fa4e3SBjoern A. Zeeb 	},
1664da8fa4e3SBjoern A. Zeeb 	{}
1665da8fa4e3SBjoern A. Zeeb };
1666da8fa4e3SBjoern A. Zeeb 
1667*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[] = {
1668da8fa4e3SBjoern A. Zeeb 	{
1669da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1670da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1671da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1672da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1673da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1674da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_athdiag_write_resp_msg_v01,
1675da8fa4e3SBjoern A. Zeeb 					   resp),
1676da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1677da8fa4e3SBjoern A. Zeeb 	},
1678da8fa4e3SBjoern A. Zeeb 	{}
1679da8fa4e3SBjoern A. Zeeb };
1680da8fa4e3SBjoern A. Zeeb 
1681*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[] = {
1682da8fa4e3SBjoern A. Zeeb 	{
1683da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
1684da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1685da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
1686da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1687da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
1688da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_vbatt_req_msg_v01,
1689da8fa4e3SBjoern A. Zeeb 					   voltage_uv),
1690da8fa4e3SBjoern A. Zeeb 	},
1691da8fa4e3SBjoern A. Zeeb 	{}
1692da8fa4e3SBjoern A. Zeeb };
1693da8fa4e3SBjoern A. Zeeb 
1694*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_vbatt_resp_msg_v01_ei[] = {
1695da8fa4e3SBjoern A. Zeeb 	{
1696da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1697da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1698da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1699da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1700da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1701da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_vbatt_resp_msg_v01,
1702da8fa4e3SBjoern A. Zeeb 					   resp),
1703da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1704da8fa4e3SBjoern A. Zeeb 	},
1705da8fa4e3SBjoern A. Zeeb 	{}
1706da8fa4e3SBjoern A. Zeeb };
1707da8fa4e3SBjoern A. Zeeb 
1708*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_mac_addr_req_msg_v01_ei[] = {
1709da8fa4e3SBjoern A. Zeeb 	{
1710da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1711da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1712da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1713da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1714da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1715da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mac_addr_req_msg_v01,
1716da8fa4e3SBjoern A. Zeeb 					   mac_addr_valid),
1717da8fa4e3SBjoern A. Zeeb 	},
1718da8fa4e3SBjoern A. Zeeb 	{
1719da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1720da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAC_ADDR_SIZE_V01,
1721da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1722da8fa4e3SBjoern A. Zeeb 		.array_type       = STATIC_ARRAY,
1723da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1724da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mac_addr_req_msg_v01,
1725da8fa4e3SBjoern A. Zeeb 					   mac_addr),
1726da8fa4e3SBjoern A. Zeeb 	},
1727da8fa4e3SBjoern A. Zeeb 	{}
1728da8fa4e3SBjoern A. Zeeb };
1729da8fa4e3SBjoern A. Zeeb 
1730*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_mac_addr_resp_msg_v01_ei[] = {
1731da8fa4e3SBjoern A. Zeeb 	{
1732da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
1733da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1734da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
1735da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1736da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
1737da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_mac_addr_resp_msg_v01,
1738da8fa4e3SBjoern A. Zeeb 					   resp),
1739da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
1740da8fa4e3SBjoern A. Zeeb 	},
1741da8fa4e3SBjoern A. Zeeb 	{}
1742da8fa4e3SBjoern A. Zeeb };
1743da8fa4e3SBjoern A. Zeeb 
1744*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[] = {
1745da8fa4e3SBjoern A. Zeeb 	{
1746da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1747da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1748da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1749da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1750da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1751da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1752da8fa4e3SBjoern A. Zeeb 					   daemon_support_valid),
1753da8fa4e3SBjoern A. Zeeb 	},
1754da8fa4e3SBjoern A. Zeeb 	{
1755da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1756da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1757da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1758da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1759da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1760da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1761da8fa4e3SBjoern A. Zeeb 					   daemon_support),
1762da8fa4e3SBjoern A. Zeeb 	},
1763da8fa4e3SBjoern A. Zeeb 	{
1764da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1765da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1766da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1767da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1768da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1769da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1770da8fa4e3SBjoern A. Zeeb 					   wake_msi_valid),
1771da8fa4e3SBjoern A. Zeeb 	},
1772da8fa4e3SBjoern A. Zeeb 	{
1773da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1774da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1775da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1776da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1777da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
1778da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1779da8fa4e3SBjoern A. Zeeb 					   wake_msi),
1780da8fa4e3SBjoern A. Zeeb 	},
1781da8fa4e3SBjoern A. Zeeb 	{
1782da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1783da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1784da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1785da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1786da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1787da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1788da8fa4e3SBjoern A. Zeeb 					   gpios_valid),
1789da8fa4e3SBjoern A. Zeeb 	},
1790da8fa4e3SBjoern A. Zeeb 	{
1791da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
1792da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1793da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1794da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1795da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1796da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1797da8fa4e3SBjoern A. Zeeb 					   gpios_len),
1798da8fa4e3SBjoern A. Zeeb 	},
1799da8fa4e3SBjoern A. Zeeb 	{
1800da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1801da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_GPIO_V01,
1802da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1803da8fa4e3SBjoern A. Zeeb 		.array_type     = VAR_LEN_ARRAY,
1804da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
1805da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1806da8fa4e3SBjoern A. Zeeb 					   gpios),
1807da8fa4e3SBjoern A. Zeeb 	},
1808da8fa4e3SBjoern A. Zeeb 	{
1809da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1810da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1811da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1812da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1813da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1814da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1815da8fa4e3SBjoern A. Zeeb 					   nm_modem_valid),
1816da8fa4e3SBjoern A. Zeeb 	},
1817da8fa4e3SBjoern A. Zeeb 	{
1818da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1819da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1820da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1821da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1822da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
1823da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1824da8fa4e3SBjoern A. Zeeb 					   nm_modem),
1825da8fa4e3SBjoern A. Zeeb 	},
1826da8fa4e3SBjoern A. Zeeb 	{
1827da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1828da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1829da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1830da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1831da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1832da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1833da8fa4e3SBjoern A. Zeeb 					   bdf_support_valid),
1834da8fa4e3SBjoern A. Zeeb 	},
1835da8fa4e3SBjoern A. Zeeb 	{
1836da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1837da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1838da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1839da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1840da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x14,
1841da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1842da8fa4e3SBjoern A. Zeeb 					   bdf_support),
1843da8fa4e3SBjoern A. Zeeb 	},
1844da8fa4e3SBjoern A. Zeeb 	{
1845da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1846da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1847da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1848da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1849da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
1850da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1851da8fa4e3SBjoern A. Zeeb 					   bdf_cache_support_valid),
1852da8fa4e3SBjoern A. Zeeb 	},
1853da8fa4e3SBjoern A. Zeeb 	{
1854da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1855da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1856da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1857da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1858da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x15,
1859da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1860da8fa4e3SBjoern A. Zeeb 					   bdf_cache_support),
1861da8fa4e3SBjoern A. Zeeb 	},
1862da8fa4e3SBjoern A. Zeeb 	{
1863da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1864da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1865da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1866da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1867da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x16,
1868da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1869da8fa4e3SBjoern A. Zeeb 					   m3_support_valid),
1870da8fa4e3SBjoern A. Zeeb 	},
1871da8fa4e3SBjoern A. Zeeb 	{
1872da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1873da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1874da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1875da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1876da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x16,
1877da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1878da8fa4e3SBjoern A. Zeeb 					   m3_support),
1879da8fa4e3SBjoern A. Zeeb 	},
1880da8fa4e3SBjoern A. Zeeb 	{
1881da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1882da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1883da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1884da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1885da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x17,
1886da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1887da8fa4e3SBjoern A. Zeeb 					   m3_cache_support_valid),
1888da8fa4e3SBjoern A. Zeeb 	},
1889da8fa4e3SBjoern A. Zeeb 	{
1890da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1891da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1892da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1893da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1894da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x17,
1895da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1896da8fa4e3SBjoern A. Zeeb 					   m3_cache_support),
1897da8fa4e3SBjoern A. Zeeb 	},
1898da8fa4e3SBjoern A. Zeeb 	{
1899da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1900da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1901da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1902da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1903da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x18,
1904da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1905da8fa4e3SBjoern A. Zeeb 					   cal_filesys_support_valid),
1906da8fa4e3SBjoern A. Zeeb 	},
1907da8fa4e3SBjoern A. Zeeb 	{
1908da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1909da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1910da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1911da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1912da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x18,
1913da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1914da8fa4e3SBjoern A. Zeeb 					   cal_filesys_support),
1915da8fa4e3SBjoern A. Zeeb 	},
1916da8fa4e3SBjoern A. Zeeb 	{
1917da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1918da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1919da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1920da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1921da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x19,
1922da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1923da8fa4e3SBjoern A. Zeeb 					   cal_cache_support_valid),
1924da8fa4e3SBjoern A. Zeeb 	},
1925da8fa4e3SBjoern A. Zeeb 	{
1926da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1927da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1928da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1929da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1930da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x19,
1931da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1932da8fa4e3SBjoern A. Zeeb 					   cal_cache_support),
1933da8fa4e3SBjoern A. Zeeb 	},
1934da8fa4e3SBjoern A. Zeeb 	{
1935da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1936da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1937da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1938da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1939da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1A,
1940da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1941da8fa4e3SBjoern A. Zeeb 					   cal_done_valid),
1942da8fa4e3SBjoern A. Zeeb 	},
1943da8fa4e3SBjoern A. Zeeb 	{
1944da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1945da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1946da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1947da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1948da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1A,
1949da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1950da8fa4e3SBjoern A. Zeeb 					   cal_done),
1951da8fa4e3SBjoern A. Zeeb 	},
1952da8fa4e3SBjoern A. Zeeb 	{
1953da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1954da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1955da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1956da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1957da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1B,
1958da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1959da8fa4e3SBjoern A. Zeeb 					   mem_bucket_valid),
1960da8fa4e3SBjoern A. Zeeb 	},
1961da8fa4e3SBjoern A. Zeeb 	{
1962da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
1963da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1964da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
1965da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1966da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1B,
1967da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1968da8fa4e3SBjoern A. Zeeb 					   mem_bucket),
1969da8fa4e3SBjoern A. Zeeb 	},
1970da8fa4e3SBjoern A. Zeeb 	{
1971da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1972da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1973da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1974da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1975da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1C,
1976da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1977da8fa4e3SBjoern A. Zeeb 					   mem_cfg_mode_valid),
1978da8fa4e3SBjoern A. Zeeb 	},
1979da8fa4e3SBjoern A. Zeeb 	{
1980da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
1981da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1982da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1983da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1984da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x1C,
1985da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1986da8fa4e3SBjoern A. Zeeb 					   mem_cfg_mode),
1987da8fa4e3SBjoern A. Zeeb 	},
1988da8fa4e3SBjoern A. Zeeb 	{}
1989da8fa4e3SBjoern A. Zeeb };
1990da8fa4e3SBjoern A. Zeeb 
1991*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_host_cap_8bit_req_msg_v01_ei[] = {
1992da8fa4e3SBjoern A. Zeeb 	{
1993da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
1994da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
1995da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
1996da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
1997da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
1998da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
1999da8fa4e3SBjoern A. Zeeb 					   daemon_support_valid),
2000da8fa4e3SBjoern A. Zeeb 	},
2001da8fa4e3SBjoern A. Zeeb 	{
2002da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
2003da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2004da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2005da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2006da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2007da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_req_msg_v01,
2008da8fa4e3SBjoern A. Zeeb 					   daemon_support),
2009da8fa4e3SBjoern A. Zeeb 	},
2010da8fa4e3SBjoern A. Zeeb 	{}
2011da8fa4e3SBjoern A. Zeeb };
2012da8fa4e3SBjoern A. Zeeb 
2013*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[] = {
2014da8fa4e3SBjoern A. Zeeb 	{
2015da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2016da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2017da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
2018da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2019da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2020da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_host_cap_resp_msg_v01,
2021da8fa4e3SBjoern A. Zeeb 					   resp),
2022da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
2023da8fa4e3SBjoern A. Zeeb 	},
2024da8fa4e3SBjoern A. Zeeb 	{}
2025da8fa4e3SBjoern A. Zeeb };
2026da8fa4e3SBjoern A. Zeeb 
2027*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[] = {
2028da8fa4e3SBjoern A. Zeeb 	{
2029da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
2030da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2031da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2032da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2033da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2034da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_request_mem_ind_msg_v01,
2035da8fa4e3SBjoern A. Zeeb 					   mem_seg_len),
2036da8fa4e3SBjoern A. Zeeb 	},
2037da8fa4e3SBjoern A. Zeeb 	{
2038da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2039da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_MEM_SEG_V01,
2040da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_mem_seg_s_v01),
2041da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
2042da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2043da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_request_mem_ind_msg_v01,
2044da8fa4e3SBjoern A. Zeeb 					   mem_seg),
2045da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_mem_seg_s_v01_ei,
2046da8fa4e3SBjoern A. Zeeb 	},
2047da8fa4e3SBjoern A. Zeeb 	{}
2048da8fa4e3SBjoern A. Zeeb };
2049da8fa4e3SBjoern A. Zeeb 
2050*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[] = {
2051da8fa4e3SBjoern A. Zeeb 	{
2052da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_DATA_LEN,
2053da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2054da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2055da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2056da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2057da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_respond_mem_req_msg_v01,
2058da8fa4e3SBjoern A. Zeeb 					   mem_seg_len),
2059da8fa4e3SBjoern A. Zeeb 	},
2060da8fa4e3SBjoern A. Zeeb 	{
2061da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2062da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_MAX_NUM_MEM_SEG_V01,
2063da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct wlfw_mem_seg_resp_s_v01),
2064da8fa4e3SBjoern A. Zeeb 		.array_type       = VAR_LEN_ARRAY,
2065da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2066da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_respond_mem_req_msg_v01,
2067da8fa4e3SBjoern A. Zeeb 					   mem_seg),
2068da8fa4e3SBjoern A. Zeeb 		.ei_array      = wlfw_mem_seg_resp_s_v01_ei,
2069da8fa4e3SBjoern A. Zeeb 	},
2070da8fa4e3SBjoern A. Zeeb 	{}
2071da8fa4e3SBjoern A. Zeeb };
2072da8fa4e3SBjoern A. Zeeb 
2073*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[] = {
2074da8fa4e3SBjoern A. Zeeb 	{
2075da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2076da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2077da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
2078da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2079da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2080da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_respond_mem_resp_msg_v01,
2081da8fa4e3SBjoern A. Zeeb 					   resp),
2082da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
2083da8fa4e3SBjoern A. Zeeb 	},
2084da8fa4e3SBjoern A. Zeeb 	{}
2085da8fa4e3SBjoern A. Zeeb };
2086da8fa4e3SBjoern A. Zeeb 
2087*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_mem_ready_ind_msg_v01_ei[] = {
2088da8fa4e3SBjoern A. Zeeb 	{}
2089da8fa4e3SBjoern A. Zeeb };
2090da8fa4e3SBjoern A. Zeeb 
2091*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[] = {
2092da8fa4e3SBjoern A. Zeeb 	{}
2093da8fa4e3SBjoern A. Zeeb };
2094da8fa4e3SBjoern A. Zeeb 
2095*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[] = {
2096da8fa4e3SBjoern A. Zeeb 	{
2097da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2098da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2099da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2100da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2101da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2102da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2103da8fa4e3SBjoern A. Zeeb 					   cause_for_rejuvenation_valid),
2104da8fa4e3SBjoern A. Zeeb 	},
2105da8fa4e3SBjoern A. Zeeb 	{
2106da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
2107da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2108da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2109da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2110da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2111da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2112da8fa4e3SBjoern A. Zeeb 					   cause_for_rejuvenation),
2113da8fa4e3SBjoern A. Zeeb 	},
2114da8fa4e3SBjoern A. Zeeb 	{
2115da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2116da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2117da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2118da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2119da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
2120da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2121da8fa4e3SBjoern A. Zeeb 					   requesting_sub_system_valid),
2122da8fa4e3SBjoern A. Zeeb 	},
2123da8fa4e3SBjoern A. Zeeb 	{
2124da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
2125da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2126da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2127da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2128da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
2129da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2130da8fa4e3SBjoern A. Zeeb 					   requesting_sub_system),
2131da8fa4e3SBjoern A. Zeeb 	},
2132da8fa4e3SBjoern A. Zeeb 	{
2133da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2134da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2135da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2136da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2137da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
2138da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2139da8fa4e3SBjoern A. Zeeb 					   line_number_valid),
2140da8fa4e3SBjoern A. Zeeb 	},
2141da8fa4e3SBjoern A. Zeeb 	{
2142da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_2_BYTE,
2143da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2144da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u16),
2145da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2146da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x12,
2147da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2148da8fa4e3SBjoern A. Zeeb 					   line_number),
2149da8fa4e3SBjoern A. Zeeb 	},
2150da8fa4e3SBjoern A. Zeeb 	{
2151da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2152da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2153da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2154da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2155da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
2156da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2157da8fa4e3SBjoern A. Zeeb 					   function_name_valid),
2158da8fa4e3SBjoern A. Zeeb 	},
2159da8fa4e3SBjoern A. Zeeb 	{
2160da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRING,
2161da8fa4e3SBjoern A. Zeeb 		.elem_len       = QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1,
2162da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(char),
2163da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2164da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x13,
2165da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ind_msg_v01,
2166da8fa4e3SBjoern A. Zeeb 					   function_name),
2167da8fa4e3SBjoern A. Zeeb 	},
2168da8fa4e3SBjoern A. Zeeb 	{}
2169da8fa4e3SBjoern A. Zeeb };
2170da8fa4e3SBjoern A. Zeeb 
2171*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[] = {
2172da8fa4e3SBjoern A. Zeeb 	{}
2173da8fa4e3SBjoern A. Zeeb };
2174da8fa4e3SBjoern A. Zeeb 
2175*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[] = {
2176da8fa4e3SBjoern A. Zeeb 	{
2177da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2178da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2179da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
2180da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2181da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2182da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_rejuvenate_ack_resp_msg_v01,
2183da8fa4e3SBjoern A. Zeeb 					   resp),
2184da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
2185da8fa4e3SBjoern A. Zeeb 	},
2186da8fa4e3SBjoern A. Zeeb 	{}
2187da8fa4e3SBjoern A. Zeeb };
2188da8fa4e3SBjoern A. Zeeb 
2189*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[] = {
2190da8fa4e3SBjoern A. Zeeb 	{
2191da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2192da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2193da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2194da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2195da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2196da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_req_msg_v01,
2197da8fa4e3SBjoern A. Zeeb 					   mask_valid),
2198da8fa4e3SBjoern A. Zeeb 	},
2199da8fa4e3SBjoern A. Zeeb 	{
2200da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
2201da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2202da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
2203da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2204da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2205da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_req_msg_v01,
2206da8fa4e3SBjoern A. Zeeb 					   mask),
2207da8fa4e3SBjoern A. Zeeb 	},
2208da8fa4e3SBjoern A. Zeeb 	{}
2209da8fa4e3SBjoern A. Zeeb };
2210da8fa4e3SBjoern A. Zeeb 
2211*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[] = {
2212da8fa4e3SBjoern A. Zeeb 	{
2213da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2214da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2215da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
2216da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2217da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2218da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2219da8fa4e3SBjoern A. Zeeb 					   resp),
2220da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
2221da8fa4e3SBjoern A. Zeeb 	},
2222da8fa4e3SBjoern A. Zeeb 	{
2223da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2224da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2225da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2226da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2227da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2228da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2229da8fa4e3SBjoern A. Zeeb 					   prev_mask_valid),
2230da8fa4e3SBjoern A. Zeeb 	},
2231da8fa4e3SBjoern A. Zeeb 	{
2232da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
2233da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2234da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
2235da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2236da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x10,
2237da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2238da8fa4e3SBjoern A. Zeeb 					   prev_mask),
2239da8fa4e3SBjoern A. Zeeb 	},
2240da8fa4e3SBjoern A. Zeeb 	{
2241da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_OPT_FLAG,
2242da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2243da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2244da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2245da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
2246da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2247da8fa4e3SBjoern A. Zeeb 					   curr_mask_valid),
2248da8fa4e3SBjoern A. Zeeb 	},
2249da8fa4e3SBjoern A. Zeeb 	{
2250da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
2251da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2252da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
2253da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2254da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x11,
2255da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_dynamic_feature_mask_resp_msg_v01,
2256da8fa4e3SBjoern A. Zeeb 					   curr_mask),
2257da8fa4e3SBjoern A. Zeeb 	},
2258da8fa4e3SBjoern A. Zeeb 	{}
2259da8fa4e3SBjoern A. Zeeb };
2260da8fa4e3SBjoern A. Zeeb 
2261*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[] = {
2262da8fa4e3SBjoern A. Zeeb 	{
2263da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_8_BYTE,
2264da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2265da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u64),
2266da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2267da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2268da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_m3_info_req_msg_v01,
2269da8fa4e3SBjoern A. Zeeb 					   addr),
2270da8fa4e3SBjoern A. Zeeb 	},
2271da8fa4e3SBjoern A. Zeeb 	{
2272da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_4_BYTE,
2273da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2274da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u32),
2275da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2276da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2277da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_m3_info_req_msg_v01,
2278da8fa4e3SBjoern A. Zeeb 					   size),
2279da8fa4e3SBjoern A. Zeeb 	},
2280da8fa4e3SBjoern A. Zeeb 	{}
2281da8fa4e3SBjoern A. Zeeb };
2282da8fa4e3SBjoern A. Zeeb 
2283*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[] = {
2284da8fa4e3SBjoern A. Zeeb 	{
2285da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_STRUCT,
2286da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2287da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(struct qmi_response_type_v01),
2288da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2289da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x02,
2290da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_m3_info_resp_msg_v01,
2291da8fa4e3SBjoern A. Zeeb 					   resp),
2292da8fa4e3SBjoern A. Zeeb 		.ei_array      = qmi_response_type_v01_ei,
2293da8fa4e3SBjoern A. Zeeb 	},
2294da8fa4e3SBjoern A. Zeeb 	{}
2295da8fa4e3SBjoern A. Zeeb };
2296da8fa4e3SBjoern A. Zeeb 
2297*07724ba6SBjoern A. Zeeb const struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[] = {
2298da8fa4e3SBjoern A. Zeeb 	{
2299da8fa4e3SBjoern A. Zeeb 		.data_type      = QMI_UNSIGNED_1_BYTE,
2300da8fa4e3SBjoern A. Zeeb 		.elem_len       = 1,
2301da8fa4e3SBjoern A. Zeeb 		.elem_size      = sizeof(u8),
2302da8fa4e3SBjoern A. Zeeb 		.array_type     = NO_ARRAY,
2303da8fa4e3SBjoern A. Zeeb 		.tlv_type       = 0x01,
2304da8fa4e3SBjoern A. Zeeb 		.offset         = offsetof(struct wlfw_xo_cal_ind_msg_v01,
2305da8fa4e3SBjoern A. Zeeb 					   xo_cal_data),
2306da8fa4e3SBjoern A. Zeeb 	},
2307da8fa4e3SBjoern A. Zeeb 	{}
2308da8fa4e3SBjoern A. Zeeb };
2309