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