/*
 * Copyright (c) 2005-2011 Atheros Communications Inc.
 * Copyright (c) 2011-2014 Qualcomm Atheros, Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
#ifndef _WMI_TLV_H
#define _WMI_TLV_H

#define WMI_TLV_CMD(grp_id) (((grp_id) << 12) | 0x1)
#define WMI_TLV_EV(grp_id) (((grp_id) << 12) | 0x1)
#define WMI_TLV_CMD_UNSUPPORTED 0
#define WMI_TLV_PDEV_PARAM_UNSUPPORTED 0
#define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0

enum wmi_tlv_grp_id {
	WMI_TLV_GRP_START = 0x3,
	WMI_TLV_GRP_SCAN = WMI_TLV_GRP_START,
	WMI_TLV_GRP_PDEV,
	WMI_TLV_GRP_VDEV,
	WMI_TLV_GRP_PEER,
	WMI_TLV_GRP_MGMT,
	WMI_TLV_GRP_BA_NEG,
	WMI_TLV_GRP_STA_PS,
	WMI_TLV_GRP_DFS,
	WMI_TLV_GRP_ROAM,
	WMI_TLV_GRP_OFL_SCAN,
	WMI_TLV_GRP_P2P,
	WMI_TLV_GRP_AP_PS,
	WMI_TLV_GRP_RATECTL,
	WMI_TLV_GRP_PROFILE,
	WMI_TLV_GRP_SUSPEND,
	WMI_TLV_GRP_BCN_FILTER,
	WMI_TLV_GRP_WOW,
	WMI_TLV_GRP_RTT,
	WMI_TLV_GRP_SPECTRAL,
	WMI_TLV_GRP_STATS,
	WMI_TLV_GRP_ARP_NS_OFL,
	WMI_TLV_GRP_NLO_OFL,
	WMI_TLV_GRP_GTK_OFL,
	WMI_TLV_GRP_CSA_OFL,
	WMI_TLV_GRP_CHATTER,
	WMI_TLV_GRP_TID_ADDBA,
	WMI_TLV_GRP_MISC,
	WMI_TLV_GRP_GPIO,
	WMI_TLV_GRP_FWTEST,
	WMI_TLV_GRP_TDLS,
	WMI_TLV_GRP_RESMGR,
	WMI_TLV_GRP_STA_SMPS,
	WMI_TLV_GRP_WLAN_HB,
	WMI_TLV_GRP_RMC,
	WMI_TLV_GRP_MHF_OFL,
	WMI_TLV_GRP_LOCATION_SCAN,
	WMI_TLV_GRP_OEM,
	WMI_TLV_GRP_NAN,
	WMI_TLV_GRP_COEX,
	WMI_TLV_GRP_OBSS_OFL,
	WMI_TLV_GRP_LPI,
	WMI_TLV_GRP_EXTSCAN,
	WMI_TLV_GRP_DHCP_OFL,
	WMI_TLV_GRP_IPA,
	WMI_TLV_GRP_MDNS_OFL,
	WMI_TLV_GRP_SAP_OFL,
};

enum wmi_tlv_cmd_id {
	WMI_TLV_INIT_CMDID = 0x1,
	WMI_TLV_START_SCAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SCAN),
	WMI_TLV_STOP_SCAN_CMDID,
	WMI_TLV_SCAN_CHAN_LIST_CMDID,
	WMI_TLV_SCAN_SCH_PRIO_TBL_CMDID,
	WMI_TLV_SCAN_UPDATE_REQUEST_CMDID,
	WMI_TLV_SCAN_PROB_REQ_OUI_CMDID,
	WMI_TLV_PDEV_SET_REGDOMAIN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PDEV),
	WMI_TLV_PDEV_SET_CHANNEL_CMDID,
	WMI_TLV_PDEV_SET_PARAM_CMDID,
	WMI_TLV_PDEV_PKTLOG_ENABLE_CMDID,
	WMI_TLV_PDEV_PKTLOG_DISABLE_CMDID,
	WMI_TLV_PDEV_SET_WMM_PARAMS_CMDID,
	WMI_TLV_PDEV_SET_HT_CAP_IE_CMDID,
	WMI_TLV_PDEV_SET_VHT_CAP_IE_CMDID,
	WMI_TLV_PDEV_SET_DSCP_TID_MAP_CMDID,
	WMI_TLV_PDEV_SET_QUIET_MODE_CMDID,
	WMI_TLV_PDEV_GREEN_AP_PS_ENABLE_CMDID,
	WMI_TLV_PDEV_GET_TPC_CONFIG_CMDID,
	WMI_TLV_PDEV_SET_BASE_MACADDR_CMDID,
	WMI_TLV_PDEV_DUMP_CMDID,
	WMI_TLV_PDEV_SET_LED_CONFIG_CMDID,
	WMI_TLV_PDEV_GET_TEMPERATURE_CMDID,
	WMI_TLV_PDEV_SET_LED_FLASHING_CMDID,
	WMI_TLV_VDEV_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_VDEV),
	WMI_TLV_VDEV_DELETE_CMDID,
	WMI_TLV_VDEV_START_REQUEST_CMDID,
	WMI_TLV_VDEV_RESTART_REQUEST_CMDID,
	WMI_TLV_VDEV_UP_CMDID,
	WMI_TLV_VDEV_STOP_CMDID,
	WMI_TLV_VDEV_DOWN_CMDID,
	WMI_TLV_VDEV_SET_PARAM_CMDID,
	WMI_TLV_VDEV_INSTALL_KEY_CMDID,
	WMI_TLV_VDEV_WNM_SLEEPMODE_CMDID,
	WMI_TLV_VDEV_WMM_ADDTS_CMDID,
	WMI_TLV_VDEV_WMM_DELTS_CMDID,
	WMI_TLV_VDEV_SET_WMM_PARAMS_CMDID,
	WMI_TLV_VDEV_SET_GTX_PARAMS_CMDID,
	WMI_TLV_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID,
	WMI_TLV_VDEV_PLMREQ_START_CMDID,
	WMI_TLV_VDEV_PLMREQ_STOP_CMDID,
	WMI_TLV_PEER_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PEER),
	WMI_TLV_PEER_DELETE_CMDID,
	WMI_TLV_PEER_FLUSH_TIDS_CMDID,
	WMI_TLV_PEER_SET_PARAM_CMDID,
	WMI_TLV_PEER_ASSOC_CMDID,
	WMI_TLV_PEER_ADD_WDS_ENTRY_CMDID,
	WMI_TLV_PEER_REMOVE_WDS_ENTRY_CMDID,
	WMI_TLV_PEER_MCAST_GROUP_CMDID,
	WMI_TLV_PEER_INFO_REQ_CMDID,
	WMI_TLV_PEER_GET_ESTIMATED_LINKSPEED_CMDID,
	WMI_TLV_BCN_TX_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MGMT),
	WMI_TLV_PDEV_SEND_BCN_CMDID,
	WMI_TLV_BCN_TMPL_CMDID,
	WMI_TLV_BCN_FILTER_RX_CMDID,
	WMI_TLV_PRB_REQ_FILTER_RX_CMDID,
	WMI_TLV_MGMT_TX_CMDID,
	WMI_TLV_PRB_TMPL_CMDID,
	WMI_TLV_ADDBA_CLEAR_RESP_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BA_NEG),
	WMI_TLV_ADDBA_SEND_CMDID,
	WMI_TLV_ADDBA_STATUS_CMDID,
	WMI_TLV_DELBA_SEND_CMDID,
	WMI_TLV_ADDBA_SET_RESP_CMDID,
	WMI_TLV_SEND_SINGLEAMSDU_CMDID,
	WMI_TLV_STA_POWERSAVE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_PS),
	WMI_TLV_STA_POWERSAVE_PARAM_CMDID,
	WMI_TLV_STA_MIMO_PS_MODE_CMDID,
	WMI_TLV_PDEV_DFS_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_DFS),
	WMI_TLV_PDEV_DFS_DISABLE_CMDID,
	WMI_TLV_DFS_PHYERR_FILTER_ENA_CMDID,
	WMI_TLV_DFS_PHYERR_FILTER_DIS_CMDID,
	WMI_TLV_ROAM_SCAN_MODE = WMI_TLV_CMD(WMI_TLV_GRP_ROAM),
	WMI_TLV_ROAM_SCAN_RSSI_THRESHOLD,
	WMI_TLV_ROAM_SCAN_PERIOD,
	WMI_TLV_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
	WMI_TLV_ROAM_AP_PROFILE,
	WMI_TLV_ROAM_CHAN_LIST,
	WMI_TLV_ROAM_SCAN_CMD,
	WMI_TLV_ROAM_SYNCH_COMPLETE,
	WMI_TLV_ROAM_SET_RIC_REQUEST_CMDID,
	WMI_TLV_ROAM_INVOKE_CMDID,
	WMI_TLV_OFL_SCAN_ADD_AP_PROFILE = WMI_TLV_CMD(WMI_TLV_GRP_OFL_SCAN),
	WMI_TLV_OFL_SCAN_REMOVE_AP_PROFILE,
	WMI_TLV_OFL_SCAN_PERIOD,
	WMI_TLV_P2P_DEV_SET_DEVICE_INFO = WMI_TLV_CMD(WMI_TLV_GRP_P2P),
	WMI_TLV_P2P_DEV_SET_DISCOVERABILITY,
	WMI_TLV_P2P_GO_SET_BEACON_IE,
	WMI_TLV_P2P_GO_SET_PROBE_RESP_IE,
	WMI_TLV_P2P_SET_VENDOR_IE_DATA_CMDID,
	WMI_TLV_P2P_DISC_OFFLOAD_CONFIG_CMDID,
	WMI_TLV_P2P_DISC_OFFLOAD_APPIE_CMDID,
	WMI_TLV_P2P_DISC_OFFLOAD_PATTERN_CMDID,
	WMI_TLV_P2P_SET_OPPPS_PARAM_CMDID,
	WMI_TLV_AP_PS_PEER_PARAM_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_AP_PS),
	WMI_TLV_AP_PS_PEER_UAPSD_COEX_CMDID,
	WMI_TLV_PEER_RATE_RETRY_SCHED_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RATECTL),
	WMI_TLV_WLAN_PROFILE_TRIGGER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PROFILE),
	WMI_TLV_WLAN_PROFILE_SET_HIST_INTVL_CMDID,
	WMI_TLV_WLAN_PROFILE_GET_PROFILE_DATA_CMDID,
	WMI_TLV_WLAN_PROFILE_ENABLE_PROFILE_ID_CMDID,
	WMI_TLV_WLAN_PROFILE_LIST_PROFILE_ID_CMDID,
	WMI_TLV_PDEV_SUSPEND_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SUSPEND),
	WMI_TLV_PDEV_RESUME_CMDID,
	WMI_TLV_ADD_BCN_FILTER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BCN_FILTER),
	WMI_TLV_RMV_BCN_FILTER_CMDID,
	WMI_TLV_WOW_ADD_WAKE_PATTERN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WOW),
	WMI_TLV_WOW_DEL_WAKE_PATTERN_CMDID,
	WMI_TLV_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID,
	WMI_TLV_WOW_ENABLE_CMDID,
	WMI_TLV_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID,
	WMI_TLV_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID,
	WMI_TLV_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID,
	WMI_TLV_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID,
	WMI_TLV_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID,
	WMI_TLV_D0_WOW_ENABLE_DISABLE_CMDID,
	WMI_TLV_EXTWOW_ENABLE_CMDID,
	WMI_TLV_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID,
	WMI_TLV_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID,
	WMI_TLV_RTT_MEASREQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RTT),
	WMI_TLV_RTT_TSF_CMDID,
	WMI_TLV_SPECTRAL_SCAN_CONF_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SPECTRAL),
	WMI_TLV_SPECTRAL_SCAN_ENABLE_CMDID,
	WMI_TLV_REQUEST_STATS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STATS),
	WMI_TLV_MCC_SCHED_TRAFFIC_STATS_CMDID,
	WMI_TLV_REQUEST_STATS_EXT_CMDID,
	WMI_TLV_REQUEST_LINK_STATS_CMDID,
	WMI_TLV_START_LINK_STATS_CMDID,
	WMI_TLV_CLEAR_LINK_STATS_CMDID,
	WMI_TLV_SET_ARP_NS_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_ARP_NS_OFL),
	WMI_TLV_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID,
	WMI_TLV_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID,
	WMI_TLV_NETWORK_LIST_OFFLOAD_CONFIG_CMDID =
			WMI_TLV_CMD(WMI_TLV_GRP_NLO_OFL),
	WMI_TLV_APFIND_CMDID,
	WMI_TLV_GTK_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GTK_OFL),
	WMI_TLV_CSA_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CSA_OFL),
	WMI_TLV_CSA_OFFLOAD_CHANSWITCH_CMDID,
	WMI_TLV_CHATTER_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CHATTER),
	WMI_TLV_CHATTER_ADD_COALESCING_FILTER_CMDID,
	WMI_TLV_CHATTER_DELETE_COALESCING_FILTER_CMDID,
	WMI_TLV_CHATTER_COALESCING_QUERY_CMDID,
	WMI_TLV_PEER_TID_ADDBA_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TID_ADDBA),
	WMI_TLV_PEER_TID_DELBA_CMDID,
	WMI_TLV_STA_DTIM_PS_METHOD_CMDID,
	WMI_TLV_STA_UAPSD_AUTO_TRIG_CMDID,
	WMI_TLV_STA_KEEPALIVE_CMDID,
	WMI_TLV_BA_REQ_SSN_CMDID,
	WMI_TLV_ECHO_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MISC),
	WMI_TLV_PDEV_UTF_CMDID,
	WMI_TLV_DBGLOG_CFG_CMDID,
	WMI_TLV_PDEV_QVIT_CMDID,
	WMI_TLV_PDEV_FTM_INTG_CMDID,
	WMI_TLV_VDEV_SET_KEEPALIVE_CMDID,
	WMI_TLV_VDEV_GET_KEEPALIVE_CMDID,
	WMI_TLV_FORCE_FW_HANG_CMDID,
	WMI_TLV_SET_MCASTBCAST_FILTER_CMDID,
	WMI_TLV_THERMAL_MGMT_CMDID,
	WMI_TLV_HOST_AUTO_SHUTDOWN_CFG_CMDID,
	WMI_TLV_TPC_CHAINMASK_CONFIG_CMDID,
	WMI_TLV_SET_ANTENNA_DIVERSITY_CMDID,
	WMI_TLV_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GPIO),
	WMI_TLV_GPIO_OUTPUT_CMDID,
	WMI_TLV_TXBF_CMDID,
	WMI_TLV_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID =
			WMI_TLV_CMD(WMI_TLV_GRP_FWTEST),
	WMI_TLV_FWTEST_P2P_SET_NOA_PARAM_CMDID,
	WMI_TLV_UNIT_TEST_CMDID,
	WMI_TLV_TDLS_SET_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TDLS),
	WMI_TLV_TDLS_PEER_UPDATE_CMDID,
	WMI_TLV_TDLS_SET_OFFCHAN_MODE_CMDID,
	WMI_TLV_RESMGR_ADAPTIVE_OCS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RESMGR),
	WMI_TLV_RESMGR_SET_CHAN_TIME_QUOTA_CMDID,
	WMI_TLV_RESMGR_SET_CHAN_LATENCY_CMDID,
	WMI_TLV_STA_SMPS_FORCE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_SMPS),
	WMI_TLV_STA_SMPS_PARAM_CMDID,
	WMI_TLV_HB_SET_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WLAN_HB),
	WMI_TLV_HB_SET_TCP_PARAMS_CMDID,
	WMI_TLV_HB_SET_TCP_PKT_FILTER_CMDID,
	WMI_TLV_HB_SET_UDP_PARAMS_CMDID,
	WMI_TLV_HB_SET_UDP_PKT_FILTER_CMDID,
	WMI_TLV_RMC_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RMC),
	WMI_TLV_RMC_SET_ACTION_PERIOD_CMDID,
	WMI_TLV_RMC_CONFIG_CMDID,
	WMI_TLV_MHF_OFFLOAD_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MHF_OFL),
	WMI_TLV_MHF_OFFLOAD_PLUMB_ROUTING_TBL_CMDID,
	WMI_TLV_BATCH_SCAN_ENABLE_CMDID =
			WMI_TLV_CMD(WMI_TLV_GRP_LOCATION_SCAN),
	WMI_TLV_BATCH_SCAN_DISABLE_CMDID,
	WMI_TLV_BATCH_SCAN_TRIGGER_RESULT_CMDID,
	WMI_TLV_OEM_REQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OEM),
	WMI_TLV_NAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_NAN),
	WMI_TLV_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_COEX),
	WMI_TLV_CHAN_AVOID_UPDATE_CMDID,
	WMI_TLV_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OBSS_OFL),
	WMI_TLV_OBSS_SCAN_DISABLE_CMDID,
	WMI_TLV_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_LPI),
	WMI_TLV_LPI_START_SCAN_CMDID,
	WMI_TLV_LPI_STOP_SCAN_CMDID,
	WMI_TLV_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_EXTSCAN),
	WMI_TLV_EXTSCAN_STOP_CMDID,
	WMI_TLV_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
	WMI_TLV_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
	WMI_TLV_EXTSCAN_GET_CACHED_RESULTS_CMDID,
	WMI_TLV_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMDID,
	WMI_TLV_EXTSCAN_SET_CAPABILITIES_CMDID,
	WMI_TLV_EXTSCAN_GET_CAPABILITIES_CMDID,
	WMI_TLV_SET_DHCP_SERVER_OFFLOAD_CMDID =
			WMI_TLV_CMD(WMI_TLV_GRP_DHCP_OFL),
	WMI_TLV_IPA_OFFLOAD_ENABLE_DISABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_IPA),
	WMI_TLV_MDNS_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MDNS_OFL),
	WMI_TLV_MDNS_SET_FQDN_CMDID,
	WMI_TLV_MDNS_SET_RESPONSE_CMDID,
	WMI_TLV_MDNS_GET_STATS_CMDID,
	WMI_TLV_SAP_OFL_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SAP_OFL),
};

enum wmi_tlv_event_id {
	WMI_TLV_SERVICE_READY_EVENTID = 0x1,
	WMI_TLV_READY_EVENTID,
	WMI_TLV_SCAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SCAN),
	WMI_TLV_PDEV_TPC_CONFIG_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PDEV),
	WMI_TLV_CHAN_INFO_EVENTID,
	WMI_TLV_PHYERR_EVENTID,
	WMI_TLV_PDEV_DUMP_EVENTID,
	WMI_TLV_TX_PAUSE_EVENTID,
	WMI_TLV_DFS_RADAR_EVENTID,
	WMI_TLV_PDEV_L1SS_TRACK_EVENTID,
	WMI_TLV_PDEV_TEMPERATURE_EVENTID,
	WMI_TLV_VDEV_START_RESP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_VDEV),
	WMI_TLV_VDEV_STOPPED_EVENTID,
	WMI_TLV_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
	WMI_TLV_VDEV_MCC_BCN_INTERVAL_CHANGE_REQ_EVENTID,
	WMI_TLV_PEER_STA_KICKOUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PEER),
	WMI_TLV_PEER_INFO_EVENTID,
	WMI_TLV_PEER_TX_FAIL_CNT_THR_EVENTID,
	WMI_TLV_PEER_ESTIMATED_LINKSPEED_EVENTID,
	WMI_TLV_PEER_STATE_EVENTID,
	WMI_TLV_MGMT_RX_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MGMT),
	WMI_TLV_HOST_SWBA_EVENTID,
	WMI_TLV_TBTTOFFSET_UPDATE_EVENTID,
	WMI_TLV_OFFLOAD_BCN_TX_STATUS_EVENTID,
	WMI_TLV_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID,
	WMI_TLV_TX_DELBA_COMPLETE_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_BA_NEG),
	WMI_TLV_TX_ADDBA_COMPLETE_EVENTID,
	WMI_TLV_BA_RSP_SSN_EVENTID,
	WMI_TLV_AGGR_STATE_TRIG_EVENTID,
	WMI_TLV_ROAM_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_ROAM),
	WMI_TLV_PROFILE_MATCH,
	WMI_TLV_ROAM_SYNCH_EVENTID,
	WMI_TLV_P2P_DISC_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_P2P),
	WMI_TLV_P2P_NOA_EVENTID,
	WMI_TLV_PDEV_RESUME_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SUSPEND),
	WMI_TLV_WOW_WAKEUP_HOST_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_WOW),
	WMI_TLV_D0_WOW_DISABLE_ACK_EVENTID,
	WMI_TLV_RTT_MEASUREMENT_REPORT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_RTT),
	WMI_TLV_TSF_MEASUREMENT_REPORT_EVENTID,
	WMI_TLV_RTT_ERROR_REPORT_EVENTID,
	WMI_TLV_STATS_EXT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_STATS),
	WMI_TLV_IFACE_LINK_STATS_EVENTID,
	WMI_TLV_PEER_LINK_STATS_EVENTID,
	WMI_TLV_RADIO_LINK_STATS_EVENTID,
	WMI_TLV_NLO_MATCH_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NLO_OFL),
	WMI_TLV_NLO_SCAN_COMPLETE_EVENTID,
	WMI_TLV_APFIND_EVENTID,
	WMI_TLV_GTK_OFFLOAD_STATUS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GTK_OFL),
	WMI_TLV_GTK_REKEY_FAIL_EVENTID,
	WMI_TLV_CSA_HANDLING_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CSA_OFL),
	WMI_TLV_CHATTER_PC_QUERY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CHATTER),
	WMI_TLV_ECHO_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MISC),
	WMI_TLV_PDEV_UTF_EVENTID,
	WMI_TLV_DEBUG_MESG_EVENTID,
	WMI_TLV_UPDATE_STATS_EVENTID,
	WMI_TLV_DEBUG_PRINT_EVENTID,
	WMI_TLV_DCS_INTERFERENCE_EVENTID,
	WMI_TLV_PDEV_QVIT_EVENTID,
	WMI_TLV_WLAN_PROFILE_DATA_EVENTID,
	WMI_TLV_PDEV_FTM_INTG_EVENTID,
	WMI_TLV_WLAN_FREQ_AVOID_EVENTID,
	WMI_TLV_VDEV_GET_KEEPALIVE_EVENTID,
	WMI_TLV_THERMAL_MGMT_EVENTID,
	WMI_TLV_DIAG_DATA_CONTAINER_EVENTID,
	WMI_TLV_HOST_AUTO_SHUTDOWN_EVENTID,
	WMI_TLV_UPDATE_WHAL_MIB_STATS_EVENTID,
	WMI_TLV_UPDATE_VDEV_RATE_STATS_EVENTID,
	WMI_TLV_DIAG_EVENTID,
	WMI_TLV_GPIO_INPUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GPIO),
	WMI_TLV_UPLOADH_EVENTID,
	WMI_TLV_CAPTUREH_EVENTID,
	WMI_TLV_RFKILL_STATE_CHANGE_EVENTID,
	WMI_TLV_TDLS_PEER_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_TDLS),
	WMI_TLV_BATCH_SCAN_ENABLED_EVENTID =
			WMI_TLV_EV(WMI_TLV_GRP_LOCATION_SCAN),
	WMI_TLV_BATCH_SCAN_RESULT_EVENTID,
	WMI_TLV_OEM_CAPABILITY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_OEM),
	WMI_TLV_OEM_MEASUREMENT_REPORT_EVENTID,
	WMI_TLV_OEM_ERROR_REPORT_EVENTID,
	WMI_TLV_NAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NAN),
	WMI_TLV_LPI_RESULT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_LPI),
	WMI_TLV_LPI_STATUS_EVENTID,
	WMI_TLV_LPI_HANDOFF_EVENTID,
	WMI_TLV_EXTSCAN_START_STOP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_EXTSCAN),
	WMI_TLV_EXTSCAN_OPERATION_EVENTID,
	WMI_TLV_EXTSCAN_TABLE_USAGE_EVENTID,
	WMI_TLV_EXTSCAN_CACHED_RESULTS_EVENTID,
	WMI_TLV_EXTSCAN_WLAN_CHANGE_RESULTS_EVENTID,
	WMI_TLV_EXTSCAN_HOTLIST_MATCH_EVENTID,
	WMI_TLV_EXTSCAN_CAPABILITIES_EVENTID,
	WMI_TLV_MDNS_STATS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MDNS_OFL),
	WMI_TLV_SAP_OFL_ADD_STA_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SAP_OFL),
	WMI_TLV_SAP_OFL_DEL_STA_EVENTID,
};

enum wmi_tlv_pdev_param {
	WMI_TLV_PDEV_PARAM_TX_CHAIN_MASK = 0x1,
	WMI_TLV_PDEV_PARAM_RX_CHAIN_MASK,
	WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT2G,
	WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT5G,
	WMI_TLV_PDEV_PARAM_TXPOWER_SCALE,
	WMI_TLV_PDEV_PARAM_BEACON_GEN_MODE,
	WMI_TLV_PDEV_PARAM_BEACON_TX_MODE,
	WMI_TLV_PDEV_PARAM_RESMGR_OFFCHAN_MODE,
	WMI_TLV_PDEV_PARAM_PROTECTION_MODE,
	WMI_TLV_PDEV_PARAM_DYNAMIC_BW,
	WMI_TLV_PDEV_PARAM_NON_AGG_SW_RETRY_TH,
	WMI_TLV_PDEV_PARAM_AGG_SW_RETRY_TH,
	WMI_TLV_PDEV_PARAM_STA_KICKOUT_TH,
	WMI_TLV_PDEV_PARAM_AC_AGGRSIZE_SCALING,
	WMI_TLV_PDEV_PARAM_LTR_ENABLE,
	WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BE,
	WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BK,
	WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VI,
	WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VO,
	WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_TIMEOUT,
	WMI_TLV_PDEV_PARAM_LTR_SLEEP_OVERRIDE,
	WMI_TLV_PDEV_PARAM_LTR_RX_OVERRIDE,
	WMI_TLV_PDEV_PARAM_LTR_TX_ACTIVITY_TIMEOUT,
	WMI_TLV_PDEV_PARAM_L1SS_ENABLE,
	WMI_TLV_PDEV_PARAM_DSLEEP_ENABLE,
	WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_FLUSH,
	WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_WATERMARK,
	WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_EN,
	WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_VALUE,
	WMI_TLV_PDEV_PARAM_PDEV_STATS_UPDATE_PERIOD,
	WMI_TLV_PDEV_PARAM_VDEV_STATS_UPDATE_PERIOD,
	WMI_TLV_PDEV_PARAM_PEER_STATS_UPDATE_PERIOD,
	WMI_TLV_PDEV_PARAM_BCNFLT_STATS_UPDATE_PERIOD,
	WMI_TLV_PDEV_PARAM_PMF_QOS,
	WMI_TLV_PDEV_PARAM_ARP_AC_OVERRIDE,
	WMI_TLV_PDEV_PARAM_DCS,
	WMI_TLV_PDEV_PARAM_ANI_ENABLE,
	WMI_TLV_PDEV_PARAM_ANI_POLL_PERIOD,
	WMI_TLV_PDEV_PARAM_ANI_LISTEN_PERIOD,
	WMI_TLV_PDEV_PARAM_ANI_OFDM_LEVEL,
	WMI_TLV_PDEV_PARAM_ANI_CCK_LEVEL,
	WMI_TLV_PDEV_PARAM_DYNTXCHAIN,
	WMI_TLV_PDEV_PARAM_PROXY_STA,
	WMI_TLV_PDEV_PARAM_IDLE_PS_CONFIG,
	WMI_TLV_PDEV_PARAM_POWER_GATING_SLEEP,
	WMI_TLV_PDEV_PARAM_RFKILL_ENABLE,
	WMI_TLV_PDEV_PARAM_BURST_DUR,
	WMI_TLV_PDEV_PARAM_BURST_ENABLE,
	WMI_TLV_PDEV_PARAM_HW_RFKILL_CONFIG,
	WMI_TLV_PDEV_PARAM_LOW_POWER_RF_ENABLE,
	WMI_TLV_PDEV_PARAM_L1SS_TRACK,
	WMI_TLV_PDEV_PARAM_HYST_EN,
	WMI_TLV_PDEV_PARAM_POWER_COLLAPSE_ENABLE,
	WMI_TLV_PDEV_PARAM_LED_SYS_STATE,
	WMI_TLV_PDEV_PARAM_LED_ENABLE,
	WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_LATENCY,
	WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_ENABLE,
	WMI_TLV_PDEV_PARAM_WHAL_MIB_STATS_UPDATE_ENABLE,
	WMI_TLV_PDEV_PARAM_VDEV_RATE_STATS_UPDATE_PERIOD,
	WMI_TLV_PDEV_PARAM_TXPOWER_REASON_NONE,
	WMI_TLV_PDEV_PARAM_TXPOWER_REASON_SAR,
	WMI_TLV_PDEV_PARAM_TXPOWER_REASON_MAX,
};

enum wmi_tlv_vdev_param {
	WMI_TLV_VDEV_PARAM_RTS_THRESHOLD = 0x1,
	WMI_TLV_VDEV_PARAM_FRAGMENTATION_THRESHOLD,
	WMI_TLV_VDEV_PARAM_BEACON_INTERVAL,
	WMI_TLV_VDEV_PARAM_LISTEN_INTERVAL,
	WMI_TLV_VDEV_PARAM_MULTICAST_RATE,
	WMI_TLV_VDEV_PARAM_MGMT_TX_RATE,
	WMI_TLV_VDEV_PARAM_SLOT_TIME,
	WMI_TLV_VDEV_PARAM_PREAMBLE,
	WMI_TLV_VDEV_PARAM_SWBA_TIME,
	WMI_TLV_VDEV_STATS_UPDATE_PERIOD,
	WMI_TLV_VDEV_PWRSAVE_AGEOUT_TIME,
	WMI_TLV_VDEV_HOST_SWBA_INTERVAL,
	WMI_TLV_VDEV_PARAM_DTIM_PERIOD,
	WMI_TLV_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT,
	WMI_TLV_VDEV_PARAM_WDS,
	WMI_TLV_VDEV_PARAM_ATIM_WINDOW,
	WMI_TLV_VDEV_PARAM_BMISS_COUNT_MAX,
	WMI_TLV_VDEV_PARAM_BMISS_FIRST_BCNT,
	WMI_TLV_VDEV_PARAM_BMISS_FINAL_BCNT,
	WMI_TLV_VDEV_PARAM_FEATURE_WMM,
	WMI_TLV_VDEV_PARAM_CHWIDTH,
	WMI_TLV_VDEV_PARAM_CHEXTOFFSET,
	WMI_TLV_VDEV_PARAM_DISABLE_HTPROTECTION,
	WMI_TLV_VDEV_PARAM_STA_QUICKKICKOUT,
	WMI_TLV_VDEV_PARAM_MGMT_RATE,
	WMI_TLV_VDEV_PARAM_PROTECTION_MODE,
	WMI_TLV_VDEV_PARAM_FIXED_RATE,
	WMI_TLV_VDEV_PARAM_SGI,
	WMI_TLV_VDEV_PARAM_LDPC,
	WMI_TLV_VDEV_PARAM_TX_STBC,
	WMI_TLV_VDEV_PARAM_RX_STBC,
	WMI_TLV_VDEV_PARAM_INTRA_BSS_FWD,
	WMI_TLV_VDEV_PARAM_DEF_KEYID,
	WMI_TLV_VDEV_PARAM_NSS,
	WMI_TLV_VDEV_PARAM_BCAST_DATA_RATE,
	WMI_TLV_VDEV_PARAM_MCAST_DATA_RATE,
	WMI_TLV_VDEV_PARAM_MCAST_INDICATE,
	WMI_TLV_VDEV_PARAM_DHCP_INDICATE,
	WMI_TLV_VDEV_PARAM_UNKNOWN_DEST_INDICATE,
	WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS,
	WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS,
	WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS,
	WMI_TLV_VDEV_PARAM_AP_ENABLE_NAWDS,
	WMI_TLV_VDEV_PARAM_ENABLE_RTSCTS,
	WMI_TLV_VDEV_PARAM_TXBF,
	WMI_TLV_VDEV_PARAM_PACKET_POWERSAVE,
	WMI_TLV_VDEV_PARAM_DROP_UNENCRY,
	WMI_TLV_VDEV_PARAM_TX_ENCAP_TYPE,
	WMI_TLV_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS,
	WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE,
	WMI_TLV_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM,
	WMI_TLV_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE,
	WMI_TLV_VDEV_PARAM_EARLY_RX_SLOP_STEP,
	WMI_TLV_VDEV_PARAM_EARLY_RX_INIT_SLOP,
	WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE,
	WMI_TLV_VDEV_PARAM_TX_PWRLIMIT,
	WMI_TLV_VDEV_PARAM_SNR_NUM_FOR_CAL,
	WMI_TLV_VDEV_PARAM_ROAM_FW_OFFLOAD,
	WMI_TLV_VDEV_PARAM_ENABLE_RMC,
	WMI_TLV_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS,
	WMI_TLV_VDEV_PARAM_MAX_RATE,
	WMI_TLV_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
	WMI_TLV_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR,
	WMI_TLV_VDEV_PARAM_EBT_RESYNC_TIMEOUT,
	WMI_TLV_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE,
	WMI_TLV_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED,
	WMI_TLV_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED,
	WMI_TLV_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED,
	WMI_TLV_VDEV_PARAM_INACTIVITY_CNT,
	WMI_TLV_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS,
	WMI_TLV_VDEV_PARAM_DTIM_POLICY,
	WMI_TLV_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS,
	WMI_TLV_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE,
};

enum wmi_tlv_peer_flags {
	WMI_TLV_PEER_AUTH = 0x00000001,
	WMI_TLV_PEER_QOS = 0x00000002,
	WMI_TLV_PEER_NEED_PTK_4_WAY = 0x00000004,
	WMI_TLV_PEER_NEED_GTK_2_WAY = 0x00000010,
	WMI_TLV_PEER_APSD = 0x00000800,
	WMI_TLV_PEER_HT = 0x00001000,
	WMI_TLV_PEER_40MHZ = 0x00002000,
	WMI_TLV_PEER_STBC = 0x00008000,
	WMI_TLV_PEER_LDPC = 0x00010000,
	WMI_TLV_PEER_DYN_MIMOPS = 0x00020000,
	WMI_TLV_PEER_STATIC_MIMOPS = 0x00040000,
	WMI_TLV_PEER_SPATIAL_MUX = 0x00200000,
	WMI_TLV_PEER_VHT = 0x02000000,
	WMI_TLV_PEER_80MHZ = 0x04000000,
	WMI_TLV_PEER_PMF = 0x08000000,
	WMI_TLV_PEER_160MHZ = 0x20000000,
};

enum wmi_tlv_tag {
	WMI_TLV_TAG_LAST_RESERVED = 15,

	WMI_TLV_TAG_FIRST_ARRAY_ENUM,
	WMI_TLV_TAG_ARRAY_UINT32 = WMI_TLV_TAG_FIRST_ARRAY_ENUM,
	WMI_TLV_TAG_ARRAY_BYTE,
	WMI_TLV_TAG_ARRAY_STRUCT,
	WMI_TLV_TAG_ARRAY_FIXED_STRUCT,
	WMI_TLV_TAG_LAST_ARRAY_ENUM = 31,

	WMI_TLV_TAG_STRUCT_SERVICE_READY_EVENT,
	WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES,
	WMI_TLV_TAG_STRUCT_WLAN_HOST_MEM_REQ,
	WMI_TLV_TAG_STRUCT_READY_EVENT,
	WMI_TLV_TAG_STRUCT_SCAN_EVENT,
	WMI_TLV_TAG_STRUCT_PDEV_TPC_CONFIG_EVENT,
	WMI_TLV_TAG_STRUCT_CHAN_INFO_EVENT,
	WMI_TLV_TAG_STRUCT_COMB_PHYERR_RX_HDR,
	WMI_TLV_TAG_STRUCT_VDEV_START_RESPONSE_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_STOPPED_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_COMPLETE_EVENT,
	WMI_TLV_TAG_STRUCT_PEER_STA_KICKOUT_EVENT,
	WMI_TLV_TAG_STRUCT_MGMT_RX_HDR,
	WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EVENT,
	WMI_TLV_TAG_STRUCT_TX_DELBA_COMPLETE_EVENT,
	WMI_TLV_TAG_STRUCT_TX_ADDBA_COMPLETE_EVENT,
	WMI_TLV_TAG_STRUCT_ROAM_EVENT,
	WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO,
	WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO_SECTION_BITMAP,
	WMI_TLV_TAG_STRUCT_RTT_EVENT_HEADER,
	WMI_TLV_TAG_STRUCT_RTT_ERROR_REPORT_EVENT,
	WMI_TLV_TAG_STRUCT_RTT_MEAS_EVENT,
	WMI_TLV_TAG_STRUCT_ECHO_EVENT,
	WMI_TLV_TAG_STRUCT_FTM_INTG_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_EVENT,
	WMI_TLV_TAG_STRUCT_GPIO_INPUT_EVENT,
	WMI_TLV_TAG_STRUCT_CSA_EVENT,
	WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_STATUS_EVENT,
	WMI_TLV_TAG_STRUCT_IGTK_INFO,
	WMI_TLV_TAG_STRUCT_DCS_INTERFERENCE_EVENT,
	WMI_TLV_TAG_STRUCT_ATH_DCS_CW_INT,
	WMI_TLV_TAG_STRUCT_ATH_DCS_WLAN_INT_STAT,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_CTX_T,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_T,
	WMI_TLV_TAG_STRUCT_PDEV_QVIT_EVENT,
	WMI_TLV_TAG_STRUCT_HOST_SWBA_EVENT,
	WMI_TLV_TAG_STRUCT_TIM_INFO,
	WMI_TLV_TAG_STRUCT_P2P_NOA_INFO,
	WMI_TLV_TAG_STRUCT_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGES_EVENT,
	WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGE_DESC,
	WMI_TLV_TAG_STRUCT_GTK_REKEY_FAIL_EVENT,
	WMI_TLV_TAG_STRUCT_INIT_CMD,
	WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG,
	WMI_TLV_TAG_STRUCT_WLAN_HOST_MEMORY_CHUNK,
	WMI_TLV_TAG_STRUCT_START_SCAN_CMD,
	WMI_TLV_TAG_STRUCT_STOP_SCAN_CMD,
	WMI_TLV_TAG_STRUCT_SCAN_CHAN_LIST_CMD,
	WMI_TLV_TAG_STRUCT_CHANNEL,
	WMI_TLV_TAG_STRUCT_PDEV_SET_REGDOMAIN_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_WMM_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_WMM_PARAMS,
	WMI_TLV_TAG_STRUCT_PDEV_SET_QUIET_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_CREATE_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_DELETE_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_START_REQUEST_CMD,
	WMI_TLV_TAG_STRUCT_P2P_NOA_DESCRIPTOR,
	WMI_TLV_TAG_STRUCT_P2P_GO_SET_BEACON_IE,
	WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_UP_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_STOP_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_DOWN_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SET_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_CMD,
	WMI_TLV_TAG_STRUCT_PEER_CREATE_CMD,
	WMI_TLV_TAG_STRUCT_PEER_DELETE_CMD,
	WMI_TLV_TAG_STRUCT_PEER_FLUSH_TIDS_CMD,
	WMI_TLV_TAG_STRUCT_PEER_SET_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_PEER_ASSOC_COMPLETE_CMD,
	WMI_TLV_TAG_STRUCT_VHT_RATE_SET,
	WMI_TLV_TAG_STRUCT_BCN_TMPL_CMD,
	WMI_TLV_TAG_STRUCT_PRB_TMPL_CMD,
	WMI_TLV_TAG_STRUCT_BCN_PRB_INFO,
	WMI_TLV_TAG_STRUCT_PEER_TID_ADDBA_CMD,
	WMI_TLV_TAG_STRUCT_PEER_TID_DELBA_CMD,
	WMI_TLV_TAG_STRUCT_STA_POWERSAVE_MODE_CMD,
	WMI_TLV_TAG_STRUCT_STA_POWERSAVE_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_STA_DTIM_PS_METHOD_CMD,
	WMI_TLV_TAG_STRUCT_ROAM_SCAN_MODE,
	WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_THRESHOLD,
	WMI_TLV_TAG_STRUCT_ROAM_SCAN_PERIOD,
	WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
	WMI_TLV_TAG_STRUCT_PDEV_SUSPEND_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_RESUME_CMD,
	WMI_TLV_TAG_STRUCT_ADD_BCN_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_RMV_BCN_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_WOW_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_FROM_SLEEP_CMD,
	WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_CMD,
	WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_PARAM,
	WMI_TLV_TAG_STRUCT_SET_ARP_NS_OFFLOAD_CMD,
	WMI_TLV_TAG_STRUCT_ARP_OFFLOAD_TUPLE,
	WMI_TLV_TAG_STRUCT_NS_OFFLOAD_TUPLE,
	WMI_TLV_TAG_STRUCT_FTM_INTG_CMD,
	WMI_TLV_TAG_STRUCT_STA_KEEPALIVE_CMD,
	WMI_TLV_TAG_STRUCT_STA_KEEPALVE_ARP_RESPONSE,
	WMI_TLV_TAG_STRUCT_P2P_SET_VENDOR_IE_DATA_CMD,
	WMI_TLV_TAG_STRUCT_AP_PS_PEER_CMD,
	WMI_TLV_TAG_STRUCT_PEER_RATE_RETRY_SCHED_CMD,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_TRIGGER_CMD,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_SET_HIST_INTVL_CMD,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_GET_PROF_DATA_CMD,
	WMI_TLV_TAG_STRUCT_WLAN_PROFILE_ENABLE_PROFILE_ID_CMD,
	WMI_TLV_TAG_STRUCT_WOW_DEL_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_WOW_ADD_DEL_EVT_CMD,
	WMI_TLV_TAG_STRUCT_RTT_MEASREQ_HEAD,
	WMI_TLV_TAG_STRUCT_RTT_MEASREQ_BODY,
	WMI_TLV_TAG_STRUCT_RTT_TSF_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_CONFIGURE_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD,
	WMI_TLV_TAG_STRUCT_NLO_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_NLO_CONFIGURED_PARAMETERS,
	WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_CHANSWITCH_CMD,
	WMI_TLV_TAG_STRUCT_CHATTER_SET_MODE_CMD,
	WMI_TLV_TAG_STRUCT_ECHO_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SET_KEEPALIVE_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_CMD,
	WMI_TLV_TAG_STRUCT_FORCE_FW_HANG_CMD,
	WMI_TLV_TAG_STRUCT_GPIO_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_GPIO_OUTPUT_CMD,
	WMI_TLV_TAG_STRUCT_PEER_ADD_WDS_ENTRY_CMD,
	WMI_TLV_TAG_STRUCT_PEER_REMOVE_WDS_ENTRY_CMD,
	WMI_TLV_TAG_STRUCT_BCN_TX_HDR,
	WMI_TLV_TAG_STRUCT_BCN_SEND_FROM_HOST_CMD,
	WMI_TLV_TAG_STRUCT_MGMT_TX_HDR,
	WMI_TLV_TAG_STRUCT_ADDBA_CLEAR_RESP_CMD,
	WMI_TLV_TAG_STRUCT_ADDBA_SEND_CMD,
	WMI_TLV_TAG_STRUCT_DELBA_SEND_CMD,
	WMI_TLV_TAG_STRUCT_ADDBA_SETRESPONSE_CMD,
	WMI_TLV_TAG_STRUCT_SEND_SINGLEAMSDU_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_DISABLE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_HT_IE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_VHT_IE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_DSCP_TID_MAP_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_GREEN_AP_PS_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_SET_BASE_MACADDR_CMD,
	WMI_TLV_TAG_STRUCT_PEER_MCAST_GROUP_CMD,
	WMI_TLV_TAG_STRUCT_ROAM_AP_PROFILE,
	WMI_TLV_TAG_STRUCT_AP_PROFILE,
	WMI_TLV_TAG_STRUCT_SCAN_SCH_PRIORITY_TABLE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_DFS_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_DFS_DISABLE_CMD,
	WMI_TLV_TAG_STRUCT_WOW_ADD_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_WOW_BITMAP_PATTERN_T,
	WMI_TLV_TAG_STRUCT_WOW_IPV4_SYNC_PATTERN_T,
	WMI_TLV_TAG_STRUCT_WOW_IPV6_SYNC_PATTERN_T,
	WMI_TLV_TAG_STRUCT_WOW_MAGIC_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_SCAN_UPDATE_REQUEST_CMD,
	WMI_TLV_TAG_STRUCT_CHATTER_PKT_COALESCING_FILTER,
	WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_ADD_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_DELETE_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_QUERY_CMD,
	WMI_TLV_TAG_STRUCT_TXBF_CMD,
	WMI_TLV_TAG_STRUCT_DEBUG_LOG_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_NLO_EVENT,
	WMI_TLV_TAG_STRUCT_CHATTER_QUERY_REPLY_EVENT,
	WMI_TLV_TAG_STRUCT_UPLOAD_H_HDR,
	WMI_TLV_TAG_STRUCT_CAPTURE_H_EVENT_HDR,
	WMI_TLV_TAG_STRUCT_VDEV_WNM_SLEEPMODE_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_WMM_ADDTS_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_WMM_DELTS_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SET_WMM_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_TDLS_SET_STATE_CMD,
	WMI_TLV_TAG_STRUCT_TDLS_PEER_UPDATE_CMD,
	WMI_TLV_TAG_STRUCT_TDLS_PEER_EVENT,
	WMI_TLV_TAG_STRUCT_TDLS_PEER_CAPABILITIES,
	WMI_TLV_TAG_STRUCT_VDEV_MCC_SET_TBTT_MODE_CMD,
	WMI_TLV_TAG_STRUCT_ROAM_CHAN_LIST,
	WMI_TLV_TAG_STRUCT_VDEV_MCC_BCN_INTVL_CHANGE_EVENT,
	WMI_TLV_TAG_STRUCT_RESMGR_ADAPTIVE_OCS_CMD,
	WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_TIME_QUOTA_CMD,
	WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_LATENCY_CMD,
	WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD,
	WMI_TLV_TAG_STRUCT_BA_RSP_SSN_EVENT,
	WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_CMD,
	WMI_TLV_TAG_STRUCT_SET_MCASTBCAST_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_P2P_SET_OPPPS_CMD,
	WMI_TLV_TAG_STRUCT_P2P_SET_NOA_CMD,
	WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD_SUB_STRUCT_PARAM,
	WMI_TLV_TAG_STRUCT_BA_REQ_SSN_EVENT_SUB_STRUCT_PARAM,
	WMI_TLV_TAG_STRUCT_STA_SMPS_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_SET_GTX_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_MCC_SCHED_TRAFFIC_STATS_CMD,
	WMI_TLV_TAG_STRUCT_MCC_SCHED_STA_TRAFFIC_STATS,
	WMI_TLV_TAG_STRUCT_OFFLOAD_BCN_TX_STATUS_EVENT,
	WMI_TLV_TAG_STRUCT_P2P_NOA_EVENT,
	WMI_TLV_TAG_STRUCT_HB_SET_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_HB_SET_TCP_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_HB_SET_TCP_PKT_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_HB_SET_UDP_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_HB_SET_UDP_PKT_FILTER_CMD,
	WMI_TLV_TAG_STRUCT_HB_IND_EVENT,
	WMI_TLV_TAG_STRUCT_TX_PAUSE_EVENT,
	WMI_TLV_TAG_STRUCT_RFKILL_EVENT,
	WMI_TLV_TAG_STRUCT_DFS_RADAR_EVENT,
	WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_ENA_CMD,
	WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_DIS_CMD,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_SCAN_LIST,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_NETWORK_INFO,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_DISABLE_CMD,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_TRIGGER_RESULT_CMD,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLED_EVENT,
	WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_START_CMD,
	WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_STOP_CMD,
	WMI_TLV_TAG_STRUCT_THERMAL_MGMT_CMD,
	WMI_TLV_TAG_STRUCT_THERMAL_MGMT_EVENT,
	WMI_TLV_TAG_STRUCT_PEER_INFO_REQ_CMD,
	WMI_TLV_TAG_STRUCT_PEER_INFO_EVENT,
	WMI_TLV_TAG_STRUCT_PEER_INFO,
	WMI_TLV_TAG_STRUCT_PEER_TX_FAIL_CNT_THR_EVENT,
	WMI_TLV_TAG_STRUCT_RMC_SET_MODE_CMD,
	WMI_TLV_TAG_STRUCT_RMC_SET_ACTION_PERIOD_CMD,
	WMI_TLV_TAG_STRUCT_RMC_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_SET_MODE_CMD,
	WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_PLUMB_ROUTING_TABLE_CMD,
	WMI_TLV_TAG_STRUCT_ADD_PROACTIVE_ARP_RSP_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_NAN_CMD_PARAM,
	WMI_TLV_TAG_STRUCT_NAN_EVENT_HDR,
	WMI_TLV_TAG_STRUCT_PDEV_L1SS_TRACK_EVENT,
	WMI_TLV_TAG_STRUCT_DIAG_DATA_CONTAINER_EVENT,
	WMI_TLV_TAG_STRUCT_MODEM_POWER_STATE_CMD_PARAM,
	WMI_TLV_TAG_STRUCT_PEER_GET_ESTIMATED_LINKSPEED_CMD,
	WMI_TLV_TAG_STRUCT_PEER_ESTIMATED_LINKSPEED_EVENT,
	WMI_TLV_TAG_STRUCT_AGGR_STATE_TRIG_EVENT,
	WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_ROUTING_TABLE_ENTRY,
	WMI_TLV_TAG_STRUCT_ROAM_SCAN_CMD,
	WMI_TLV_TAG_STRUCT_REQ_STATS_EXT_CMD,
	WMI_TLV_TAG_STRUCT_STATS_EXT_EVENT,
	WMI_TLV_TAG_STRUCT_OBSS_SCAN_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_OBSS_SCAN_DISABLE_CMD,
	WMI_TLV_TAG_STRUCT_OFFLOAD_PRB_RSP_TX_STATUS_EVENT,
	WMI_TLV_TAG_STRUCT_PDEV_SET_LED_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_CFG_CMD,
	WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_EVENT,
	WMI_TLV_TAG_STRUCT_UPDATE_WHAL_MIB_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_CHAN_AVOID_UPDATE_CMD_PARAM,
	WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_PKT_PATTERN_T,
	WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_TMR_PATTERN_T,
	WMI_TLV_TAG_STRUCT_WOW_IOAC_ADD_KEEPALIVE_CMD,
	WMI_TLV_TAG_STRUCT_WOW_IOAC_DEL_KEEPALIVE_CMD,
	WMI_TLV_TAG_STRUCT_WOW_IOAC_KEEPALIVE_T,
	WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_ADD_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_DEL_PATTERN_CMD,
	WMI_TLV_TAG_STRUCT_START_LINK_STATS_CMD,
	WMI_TLV_TAG_STRUCT_CLEAR_LINK_STATS_CMD,
	WMI_TLV_TAG_STRUCT_REQUEST_LINK_STATS_CMD,
	WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_PEER_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_CHANNEL_STATS,
	WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS,
	WMI_TLV_TAG_STRUCT_RATE_STATS,
	WMI_TLV_TAG_STRUCT_PEER_LINK_STATS,
	WMI_TLV_TAG_STRUCT_WMM_AC_STATS,
	WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS,
	WMI_TLV_TAG_STRUCT_LPI_MGMT_SNOOPING_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_LPI_START_SCAN_CMD,
	WMI_TLV_TAG_STRUCT_LPI_STOP_SCAN_CMD,
	WMI_TLV_TAG_STRUCT_LPI_RESULT_EVENT,
	WMI_TLV_TAG_STRUCT_PEER_STATE_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CHANNEL_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_START_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_STOP_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_BSSID_PARAM_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CACHED_RESULTS_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_SET_CAPABILITIES_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CAPABILITIES_CMD,
	WMI_TLV_TAG_STRUCT_EXTSCAN_OPERATION_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_START_STOP_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_TABLE_USAGE_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_DESCRIPTOR_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_RSSI_INFO_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_CACHED_RESULTS_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULTS_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULT_BSSID_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MATCH_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_CAPABILITIES_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_CACHE_CAPABILITIES_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_MONITOR_CAPABILITIES_EVENT,
	WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MONITOR_CAPABILITIES_EVENT,
	WMI_TLV_TAG_STRUCT_D0_WOW_ENABLE_DISABLE_CMD,
	WMI_TLV_TAG_STRUCT_D0_WOW_DISABLE_ACK_EVENT,
	WMI_TLV_TAG_STRUCT_UNIT_TEST_CMD,
	WMI_TLV_TAG_STRUCT_ROAM_OFFLOAD_TLV_PARAM,
	WMI_TLV_TAG_STRUCT_ROAM_11I_OFFLOAD_TLV_PARAM,
	WMI_TLV_TAG_STRUCT_ROAM_11R_OFFLOAD_TLV_PARAM,
	WMI_TLV_TAG_STRUCT_ROAM_ESE_OFFLOAD_TLV_PARAM,
	WMI_TLV_TAG_STRUCT_ROAM_SYNCH_EVENT,
	WMI_TLV_TAG_STRUCT_ROAM_SYNCH_COMPLETE,
	WMI_TLV_TAG_STRUCT_EXTWOW_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE1_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE2_PARAMS_CMD,
	WMI_TLV_TAG_STRUCT_LPI_STATUS_EVENT,
	WMI_TLV_TAG_STRUCT_LPI_HANDOFF_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_RATE_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_VDEV_RATE_HT_INFO,
	WMI_TLV_TAG_STRUCT_RIC_REQUEST,
	WMI_TLV_TAG_STRUCT_PDEV_GET_TEMPERATURE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_TEMPERATURE_EVENT,
	WMI_TLV_TAG_STRUCT_SET_DHCP_SERVER_OFFLOAD_CMD,
	WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG_CMD,
	WMI_TLV_TAG_STRUCT_RIC_TSPEC,
	WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG,
	WMI_TLV_TAG_STRUCT_IPA_OFFLOAD_CMD,
	WMI_TLV_TAG_STRUCT_SCAN_PROB_REQ_OUI_CMD,
	WMI_TLV_TAG_STRUCT_KEY_MATERIAL,
	WMI_TLV_TAG_STRUCT_TDLS_SET_OFFCHAN_MODE_CMD,
	WMI_TLV_TAG_STRUCT_SET_LED_FLASHING_CMD,
	WMI_TLV_TAG_STRUCT_MDNS_OFFLOAD_CMD,
	WMI_TLV_TAG_STRUCT_MDNS_SET_FQDN_CMD,
	WMI_TLV_TAG_STRUCT_MDNS_SET_RESP_CMD,
	WMI_TLV_TAG_STRUCT_MDNS_GET_STATS_CMD,
	WMI_TLV_TAG_STRUCT_MDNS_STATS_EVENT,
	WMI_TLV_TAG_STRUCT_ROAM_INVOKE_CMD,
	WMI_TLV_TAG_STRUCT_PDEV_RESUME_EVENT,
	WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_DIVERSITY_CMD,
	WMI_TLV_TAG_STRUCT_SAP_OFL_ENABLE_CMD,
	WMI_TLV_TAG_STRUCT_SAP_OFL_ADD_STA_EVENT,
	WMI_TLV_TAG_STRUCT_SAP_OFL_DEL_STA_EVENT,
	WMI_TLV_TAG_STRUCT_APFIND_CMD_PARAM,
	WMI_TLV_TAG_STRUCT_APFIND_EVENT_HDR,

	WMI_TLV_TAG_MAX
};

enum wmi_tlv_service {
	WMI_TLV_SERVICE_BEACON_OFFLOAD = 0,
	WMI_TLV_SERVICE_SCAN_OFFLOAD,
	WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
	WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
	WMI_TLV_SERVICE_STA_PWRSAVE,
	WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
	WMI_TLV_SERVICE_AP_UAPSD,
	WMI_TLV_SERVICE_AP_DFS,
	WMI_TLV_SERVICE_11AC,
	WMI_TLV_SERVICE_BLOCKACK,
	WMI_TLV_SERVICE_PHYERR,
	WMI_TLV_SERVICE_BCN_FILTER,
	WMI_TLV_SERVICE_RTT,
	WMI_TLV_SERVICE_WOW,
	WMI_TLV_SERVICE_RATECTRL_CACHE,
	WMI_TLV_SERVICE_IRAM_TIDS,
	WMI_TLV_SERVICE_ARPNS_OFFLOAD,
	WMI_TLV_SERVICE_NLO,
	WMI_TLV_SERVICE_GTK_OFFLOAD,
	WMI_TLV_SERVICE_SCAN_SCH,
	WMI_TLV_SERVICE_CSA_OFFLOAD,
	WMI_TLV_SERVICE_CHATTER,
	WMI_TLV_SERVICE_COEX_FREQAVOID,
	WMI_TLV_SERVICE_PACKET_POWER_SAVE,
	WMI_TLV_SERVICE_FORCE_FW_HANG,
	WMI_TLV_SERVICE_GPIO,
	WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
	WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
	WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
	WMI_TLV_SERVICE_STA_KEEP_ALIVE,
	WMI_TLV_SERVICE_TX_ENCAP,
	WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
	WMI_TLV_SERVICE_EARLY_RX,
	WMI_TLV_SERVICE_STA_SMPS,
	WMI_TLV_SERVICE_FWTEST,
	WMI_TLV_SERVICE_STA_WMMAC,
	WMI_TLV_SERVICE_TDLS,
	WMI_TLV_SERVICE_BURST,
	WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
	WMI_TLV_SERVICE_ADAPTIVE_OCS,
	WMI_TLV_SERVICE_BA_SSN_SUPPORT,
	WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
	WMI_TLV_SERVICE_WLAN_HB,
	WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
	WMI_TLV_SERVICE_BATCH_SCAN,
	WMI_TLV_SERVICE_QPOWER,
	WMI_TLV_SERVICE_PLMREQ,
	WMI_TLV_SERVICE_THERMAL_MGMT,
	WMI_TLV_SERVICE_RMC,
	WMI_TLV_SERVICE_MHF_OFFLOAD,
	WMI_TLV_SERVICE_COEX_SAR,
	WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
	WMI_TLV_SERVICE_NAN,
	WMI_TLV_SERVICE_L1SS_STAT,
	WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
	WMI_TLV_SERVICE_OBSS_SCAN,
	WMI_TLV_SERVICE_TDLS_OFFCHAN,
	WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
	WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
	WMI_TLV_SERVICE_IBSS_PWRSAVE,
	WMI_TLV_SERVICE_LPASS,
	WMI_TLV_SERVICE_EXTSCAN,
	WMI_TLV_SERVICE_D0WOW,
	WMI_TLV_SERVICE_HSOFFLOAD,
	WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
	WMI_TLV_SERVICE_RX_FULL_REORDER,
	WMI_TLV_SERVICE_DHCP_OFFLOAD,
	WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
	WMI_TLV_SERVICE_MDNS_OFFLOAD,
	WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
};

#define WMI_SERVICE_IS_ENABLED(wmi_svc_bmap, svc_id, len) \
	((svc_id) < (len) && \
	 __le32_to_cpu((wmi_svc_bmap)[(svc_id) / (sizeof(u32))]) & \
	 BIT((svc_id) % (sizeof(u32))))

#define SVCMAP(x, y, len) \
	do { \
		if (WMI_SERVICE_IS_ENABLED((in), (x), (len))) \
			__set_bit(y, out); \
	} while (0)

static inline void
wmi_tlv_svc_map(const __le32 *in, unsigned long *out, size_t len)
{
	SVCMAP(WMI_TLV_SERVICE_BEACON_OFFLOAD,
	       WMI_SERVICE_BEACON_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_SCAN_OFFLOAD,
	       WMI_SERVICE_SCAN_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
	       WMI_SERVICE_ROAM_SCAN_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
	       WMI_SERVICE_BCN_MISS_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_STA_PWRSAVE,
	       WMI_SERVICE_STA_PWRSAVE, len);
	SVCMAP(WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
	       WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
	SVCMAP(WMI_TLV_SERVICE_AP_UAPSD,
	       WMI_SERVICE_AP_UAPSD, len);
	SVCMAP(WMI_TLV_SERVICE_AP_DFS,
	       WMI_SERVICE_AP_DFS, len);
	SVCMAP(WMI_TLV_SERVICE_11AC,
	       WMI_SERVICE_11AC, len);
	SVCMAP(WMI_TLV_SERVICE_BLOCKACK,
	       WMI_SERVICE_BLOCKACK, len);
	SVCMAP(WMI_TLV_SERVICE_PHYERR,
	       WMI_SERVICE_PHYERR, len);
	SVCMAP(WMI_TLV_SERVICE_BCN_FILTER,
	       WMI_SERVICE_BCN_FILTER, len);
	SVCMAP(WMI_TLV_SERVICE_RTT,
	       WMI_SERVICE_RTT, len);
	SVCMAP(WMI_TLV_SERVICE_WOW,
	       WMI_SERVICE_WOW, len);
	SVCMAP(WMI_TLV_SERVICE_RATECTRL_CACHE,
	       WMI_SERVICE_RATECTRL_CACHE, len);
	SVCMAP(WMI_TLV_SERVICE_IRAM_TIDS,
	       WMI_SERVICE_IRAM_TIDS, len);
	SVCMAP(WMI_TLV_SERVICE_ARPNS_OFFLOAD,
	       WMI_SERVICE_ARPNS_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_NLO,
	       WMI_SERVICE_NLO, len);
	SVCMAP(WMI_TLV_SERVICE_GTK_OFFLOAD,
	       WMI_SERVICE_GTK_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_SCAN_SCH,
	       WMI_SERVICE_SCAN_SCH, len);
	SVCMAP(WMI_TLV_SERVICE_CSA_OFFLOAD,
	       WMI_SERVICE_CSA_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_CHATTER,
	       WMI_SERVICE_CHATTER, len);
	SVCMAP(WMI_TLV_SERVICE_COEX_FREQAVOID,
	       WMI_SERVICE_COEX_FREQAVOID, len);
	SVCMAP(WMI_TLV_SERVICE_PACKET_POWER_SAVE,
	       WMI_SERVICE_PACKET_POWER_SAVE, len);
	SVCMAP(WMI_TLV_SERVICE_FORCE_FW_HANG,
	       WMI_SERVICE_FORCE_FW_HANG, len);
	SVCMAP(WMI_TLV_SERVICE_GPIO,
	       WMI_SERVICE_GPIO, len);
	SVCMAP(WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
	       WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, len);
	SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
	       WMI_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG, len);
	SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
	       WMI_SERVICE_STA_UAPSD_VAR_AUTO_TRIG, len);
	SVCMAP(WMI_TLV_SERVICE_STA_KEEP_ALIVE,
	       WMI_SERVICE_STA_KEEP_ALIVE, len);
	SVCMAP(WMI_TLV_SERVICE_TX_ENCAP,
	       WMI_SERVICE_TX_ENCAP, len);
	SVCMAP(WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
	       WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, len);
	SVCMAP(WMI_TLV_SERVICE_EARLY_RX,
	       WMI_SERVICE_EARLY_RX, len);
	SVCMAP(WMI_TLV_SERVICE_STA_SMPS,
	       WMI_SERVICE_STA_SMPS, len);
	SVCMAP(WMI_TLV_SERVICE_FWTEST,
	       WMI_SERVICE_FWTEST, len);
	SVCMAP(WMI_TLV_SERVICE_STA_WMMAC,
	       WMI_SERVICE_STA_WMMAC, len);
	SVCMAP(WMI_TLV_SERVICE_TDLS,
	       WMI_SERVICE_TDLS, len);
	SVCMAP(WMI_TLV_SERVICE_BURST,
	       WMI_SERVICE_BURST, len);
	SVCMAP(WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
	       WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE, len);
	SVCMAP(WMI_TLV_SERVICE_ADAPTIVE_OCS,
	       WMI_SERVICE_ADAPTIVE_OCS, len);
	SVCMAP(WMI_TLV_SERVICE_BA_SSN_SUPPORT,
	       WMI_SERVICE_BA_SSN_SUPPORT, len);
	SVCMAP(WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
	       WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE, len);
	SVCMAP(WMI_TLV_SERVICE_WLAN_HB,
	       WMI_SERVICE_WLAN_HB, len);
	SVCMAP(WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
	       WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, len);
	SVCMAP(WMI_TLV_SERVICE_BATCH_SCAN,
	       WMI_SERVICE_BATCH_SCAN, len);
	SVCMAP(WMI_TLV_SERVICE_QPOWER,
	       WMI_SERVICE_QPOWER, len);
	SVCMAP(WMI_TLV_SERVICE_PLMREQ,
	       WMI_SERVICE_PLMREQ, len);
	SVCMAP(WMI_TLV_SERVICE_THERMAL_MGMT,
	       WMI_SERVICE_THERMAL_MGMT, len);
	SVCMAP(WMI_TLV_SERVICE_RMC,
	       WMI_SERVICE_RMC, len);
	SVCMAP(WMI_TLV_SERVICE_MHF_OFFLOAD,
	       WMI_SERVICE_MHF_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_COEX_SAR,
	       WMI_SERVICE_COEX_SAR, len);
	SVCMAP(WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
	       WMI_SERVICE_BCN_TXRATE_OVERRIDE, len);
	SVCMAP(WMI_TLV_SERVICE_NAN,
	       WMI_SERVICE_NAN, len);
	SVCMAP(WMI_TLV_SERVICE_L1SS_STAT,
	       WMI_SERVICE_L1SS_STAT, len);
	SVCMAP(WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
	       WMI_SERVICE_ESTIMATE_LINKSPEED, len);
	SVCMAP(WMI_TLV_SERVICE_OBSS_SCAN,
	       WMI_SERVICE_OBSS_SCAN, len);
	SVCMAP(WMI_TLV_SERVICE_TDLS_OFFCHAN,
	       WMI_SERVICE_TDLS_OFFCHAN, len);
	SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
	       WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, len);
	SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
	       WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, len);
	SVCMAP(WMI_TLV_SERVICE_IBSS_PWRSAVE,
	       WMI_SERVICE_IBSS_PWRSAVE, len);
	SVCMAP(WMI_TLV_SERVICE_LPASS,
	       WMI_SERVICE_LPASS, len);
	SVCMAP(WMI_TLV_SERVICE_EXTSCAN,
	       WMI_SERVICE_EXTSCAN, len);
	SVCMAP(WMI_TLV_SERVICE_D0WOW,
	       WMI_SERVICE_D0WOW, len);
	SVCMAP(WMI_TLV_SERVICE_HSOFFLOAD,
	       WMI_SERVICE_HSOFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
	       WMI_SERVICE_ROAM_HO_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_RX_FULL_REORDER,
	       WMI_SERVICE_RX_FULL_REORDER, len);
	SVCMAP(WMI_TLV_SERVICE_DHCP_OFFLOAD,
	       WMI_SERVICE_DHCP_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
	       WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, len);
	SVCMAP(WMI_TLV_SERVICE_MDNS_OFFLOAD,
	       WMI_SERVICE_MDNS_OFFLOAD, len);
	SVCMAP(WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
	       WMI_SERVICE_SAP_AUTH_OFFLOAD, len);
}

#undef SVCMAP

struct wmi_tlv {
	__le16 len;
	__le16 tag;
	u8 value[0];
} __packed;

#define WMI_TLV_MGMT_RX_NUM_RSSI 4

struct wmi_tlv_mgmt_rx_ev {
	__le32 channel;
	__le32 snr;
	__le32 rate;
	__le32 phy_mode;
	__le32 buf_len;
	__le32 status;
	__le32 rssi[WMI_TLV_MGMT_RX_NUM_RSSI];
} __packed;

struct wmi_tlv_abi_version {
	__le32 abi_ver0;
	__le32 abi_ver1;
	__le32 abi_ver_ns0;
	__le32 abi_ver_ns1;
	__le32 abi_ver_ns2;
	__le32 abi_ver_ns3;
} __packed;

enum wmi_tlv_hw_bd_id {
	WMI_TLV_HW_BD_LEGACY = 0,
	WMI_TLV_HW_BD_QCA6174 = 1,
	WMI_TLV_HW_BD_QCA2582 = 2,
};

struct wmi_tlv_hw_bd_info {
	u8 rev;
	u8 project_id;
	u8 custom_id;
	u8 reference_design_id;
} __packed;

struct wmi_tlv_svc_rdy_ev {
	__le32 fw_build_vers;
	struct wmi_tlv_abi_version abi;
	__le32 phy_capability;
	__le32 max_frag_entry;
	__le32 num_rf_chains;
	__le32 ht_cap_info;
	__le32 vht_cap_info;
	__le32 vht_supp_mcs;
	__le32 hw_min_tx_power;
	__le32 hw_max_tx_power;
	__le32 sys_cap_info;
	__le32 min_pkt_size_enable;
	__le32 max_bcn_ie_size;
	__le32 num_mem_reqs;
	__le32 max_num_scan_chans;
	__le32 hw_bd_id; /* 0 means hw_bd_info is invalid */
	struct wmi_tlv_hw_bd_info hw_bd_info[5];
} __packed;

struct wmi_tlv_rdy_ev {
	struct wmi_tlv_abi_version abi;
	struct wmi_mac_addr mac_addr;
	__le32 status;
} __packed;

struct wmi_tlv_resource_config {
	__le32 num_vdevs;
	__le32 num_peers;
	__le32 num_offload_peers;
	__le32 num_offload_reorder_bufs;
	__le32 num_peer_keys;
	__le32 num_tids;
	__le32 ast_skid_limit;
	__le32 tx_chain_mask;
	__le32 rx_chain_mask;
	__le32 rx_timeout_pri[4];
	__le32 rx_decap_mode;
	__le32 scan_max_pending_reqs;
	__le32 bmiss_offload_max_vdev;
	__le32 roam_offload_max_vdev;
	__le32 roam_offload_max_ap_profiles;
	__le32 num_mcast_groups;
	__le32 num_mcast_table_elems;
	__le32 mcast2ucast_mode;
	__le32 tx_dbg_log_size;
	__le32 num_wds_entries;
	__le32 dma_burst_size;
	__le32 mac_aggr_delim;
	__le32 rx_skip_defrag_timeout_dup_detection_check;
	__le32 vow_config;
	__le32 gtk_offload_max_vdev;
	__le32 num_msdu_desc;
	__le32 max_frag_entries;
	__le32 num_tdls_vdevs;
	__le32 num_tdls_conn_table_entries;
	__le32 beacon_tx_offload_max_vdev;
	__le32 num_multicast_filter_entries;
	__le32 num_wow_filters;
	__le32 num_keep_alive_pattern;
	__le32 keep_alive_pattern_size;
	__le32 max_tdls_concurrent_sleep_sta;
	__le32 max_tdls_concurrent_buffer_sta;
} __packed;

struct wmi_tlv_init_cmd {
	struct wmi_tlv_abi_version abi;
	__le32 num_host_mem_chunks;
} __packed;

struct wmi_tlv_pdev_set_param_cmd {
	__le32 pdev_id; /* not used yet */
	__le32 param_id;
	__le32 param_value;
} __packed;

struct wmi_tlv_pdev_set_rd_cmd {
	__le32 pdev_id; /* not used yet */
	__le32 regd;
	__le32 regd_2ghz;
	__le32 regd_5ghz;
	__le32 conform_limit_2ghz;
	__le32 conform_limit_5ghz;
} __packed;

struct wmi_tlv_scan_chan_list_cmd {
	__le32 num_scan_chans;
} __packed;

struct wmi_tlv_start_scan_cmd {
	struct wmi_start_scan_common common;
	__le32 burst_duration_ms;
	__le32 num_channels;
	__le32 num_bssids;
	__le32 num_ssids;
	__le32 ie_len;
	__le32 num_probes;
} __packed;

struct wmi_tlv_vdev_start_cmd {
	__le32 vdev_id;
	__le32 requestor_id;
	__le32 bcn_intval;
	__le32 dtim_period;
	__le32 flags;
	struct wmi_ssid ssid;
	__le32 bcn_tx_rate;
	__le32 bcn_tx_power;
	__le32 num_noa_descr;
	__le32 disable_hw_ack;
} __packed;

enum {
	WMI_TLV_PEER_TYPE_DEFAULT = 0, /* generic / non-BSS / self-peer */
	WMI_TLV_PEER_TYPE_BSS = 1,
	WMI_TLV_PEER_TYPE_TDLS = 2,
	WMI_TLV_PEER_TYPE_HOST_MAX = 127,
	WMI_TLV_PEER_TYPE_ROAMOFFLOAD_TMP = 128,
};

struct wmi_tlv_peer_create_cmd {
	__le32 vdev_id;
	struct wmi_mac_addr peer_addr;
	__le32 peer_type;
} __packed;

struct wmi_tlv_peer_assoc_cmd {
	struct wmi_mac_addr mac_addr;
	__le32 vdev_id;
	__le32 new_assoc;
	__le32 assoc_id;
	__le32 flags;
	__le32 caps;
	__le32 listen_intval;
	__le32 ht_caps;
	__le32 max_mpdu;
	__le32 mpdu_density;
	__le32 rate_caps;
	__le32 nss;
	__le32 vht_caps;
	__le32 phy_mode;
	__le32 ht_info[2];
	__le32 num_legacy_rates;
	__le32 num_ht_rates;
} __packed;

struct wmi_tlv_pdev_suspend {
	__le32 pdev_id; /* not used yet */
	__le32 opt;
} __packed;

struct wmi_tlv_pdev_set_wmm_cmd {
	__le32 pdev_id; /* not used yet */
	__le32 dg_type; /* no idea.. */
} __packed;

struct wmi_tlv_vdev_wmm_params {
	__le32 dummy;
	struct wmi_wmm_params params;
} __packed;

struct wmi_tlv_vdev_set_wmm_cmd {
	__le32 vdev_id;
	struct wmi_tlv_vdev_wmm_params vdev_wmm_params[4];
} __packed;

struct wmi_tlv_phyerr_ev {
	__le32 num_phyerrs;
	__le32 tsf_l32;
	__le32 tsf_u32;
	__le32 buf_len;
} __packed;

enum wmi_tlv_dbglog_param {
	WMI_TLV_DBGLOG_PARAM_LOG_LEVEL = 1,
	WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE,
	WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE,
	WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE_BITMAP,
	WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE_BITMAP,
};

enum wmi_tlv_dbglog_log_level {
	WMI_TLV_DBGLOG_LOG_LEVEL_VERBOSE = 0,
	WMI_TLV_DBGLOG_LOG_LEVEL_INFO,
	WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_1,
	WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_2,
	WMI_TLV_DBGLOG_LOG_LEVEL_WARN,
	WMI_TLV_DBGLOG_LOG_LEVEL_ERR,
};

#define WMI_TLV_DBGLOG_BITMAP_MAX_IDS 512
#define WMI_TLV_DBGLOG_BITMAP_MAX_WORDS (WMI_TLV_DBGLOG_BITMAP_MAX_IDS / \
					 sizeof(__le32))
#define WMI_TLV_DBGLOG_ALL_MODULES 0xffff
#define WMI_TLV_DBGLOG_LOG_LEVEL_VALUE(module_id, log_level) \
		(((module_id << 16) & 0xffff0000) | \
		 ((log_level <<  0) & 0x000000ff))

struct wmi_tlv_dbglog_cmd {
	__le32 param;
	__le32 value;
} __packed;

struct wmi_tlv_resume_cmd {
	__le32 reserved;
} __packed;

struct wmi_tlv_req_stats_cmd {
	__le32 stats_id; /* wmi_stats_id */
	__le32 vdev_id;
	struct wmi_mac_addr peer_macaddr;
} __packed;

struct wmi_tlv_vdev_stats {
	__le32 vdev_id;
	__le32 beacon_snr;
	__le32 data_snr;
	__le32 num_tx_frames[4]; /* per-AC */
	__le32 num_rx_frames;
	__le32 num_tx_frames_retries[4];
	__le32 num_tx_frames_failures[4];
	__le32 num_rts_fail;
	__le32 num_rts_success;
	__le32 num_rx_err;
	__le32 num_rx_discard;
	__le32 num_tx_not_acked;
	__le32 tx_rate_history[10];
	__le32 beacon_rssi_history[10];
} __packed;

struct wmi_tlv_pktlog_enable {
	__le32 reserved;
	__le32 filter;
} __packed;

struct wmi_tlv_pktlog_disable {
	__le32 reserved;
} __packed;

enum wmi_tlv_bcn_tx_status {
	WMI_TLV_BCN_TX_STATUS_OK,
	WMI_TLV_BCN_TX_STATUS_XRETRY,
	WMI_TLV_BCN_TX_STATUS_DROP,
	WMI_TLV_BCN_TX_STATUS_FILTERED,
};

struct wmi_tlv_bcn_tx_status_ev {
	__le32 vdev_id;
	__le32 tx_status;
} __packed;

struct wmi_tlv_bcn_prb_info {
	__le32 caps;
	__le32 erp;
	u8 ies[0];
} __packed;

struct wmi_tlv_bcn_tmpl_cmd {
	__le32 vdev_id;
	__le32 tim_ie_offset;
	__le32 buf_len;
} __packed;

struct wmi_tlv_prb_tmpl_cmd {
	__le32 vdev_id;
	__le32 buf_len;
} __packed;

struct wmi_tlv_p2p_go_bcn_ie {
	__le32 vdev_id;
	__le32 ie_len;
} __packed;

enum wmi_tlv_diag_item_type {
	WMI_TLV_DIAG_ITEM_TYPE_FW_EVENT,
	WMI_TLV_DIAG_ITEM_TYPE_FW_LOG,
	WMI_TLV_DIAG_ITEM_TYPE_FW_DEBUG_MSG,
};

struct wmi_tlv_diag_item {
	u8 type;
	u8 reserved;
	__le16 len;
	__le32 timestamp;
	__le32 code;
	u8 payload[0];
} __packed;

struct wmi_tlv_diag_data_ev {
	__le32 num_items;
} __packed;

struct wmi_tlv_sta_keepalive_cmd {
	__le32 vdev_id;
	__le32 enabled;
	__le32 method; /* WMI_STA_KEEPALIVE_METHOD_ */
	__le32 interval; /* in seconds */
} __packed;

struct wmi_tlv_stats_ev {
	__le32 stats_id; /* WMI_STAT_ */
	__le32 num_pdev_stats;
	__le32 num_vdev_stats;
	__le32 num_peer_stats;
	__le32 num_bcnflt_stats;
	__le32 num_chan_stats;
} __packed;

struct wmi_tlv_p2p_noa_ev {
	__le32 vdev_id;
} __packed;

struct wmi_tlv_roam_ev {
	__le32 vdev_id;
	__le32 reason;
	__le32 rssi;
} __packed;

struct wmi_tlv_wow_add_del_event_cmd {
	__le32 vdev_id;
	__le32 is_add;
	__le32 event_bitmap;
} __packed;

struct wmi_tlv_wow_enable_cmd {
	__le32 enable;
} __packed;

struct wmi_tlv_wow_host_wakeup_ind {
	__le32 reserved;
} __packed;

struct wmi_tlv_wow_event_info {
	__le32 vdev_id;
	__le32 flag;
	__le32 wake_reason;
	__le32 data_len;
} __packed;

enum wmi_tlv_pattern_type {
	WOW_PATTERN_MIN = 0,
	WOW_BITMAP_PATTERN = WOW_PATTERN_MIN,
	WOW_IPV4_SYNC_PATTERN,
	WOW_IPV6_SYNC_PATTERN,
	WOW_WILD_CARD_PATTERN,
	WOW_TIMER_PATTERN,
	WOW_MAGIC_PATTERN,
	WOW_IPV6_RA_PATTERN,
	WOW_IOAC_PKT_PATTERN,
	WOW_IOAC_TMR_PATTERN,
	WOW_PATTERN_MAX
};

#define WOW_DEFAULT_BITMAP_PATTERN_SIZE		148
#define WOW_DEFAULT_BITMASK_SIZE		148

struct wmi_tlv_wow_bitmap_pattern {
	u8 patternbuf[WOW_DEFAULT_BITMAP_PATTERN_SIZE];
	u8 bitmaskbuf[WOW_DEFAULT_BITMASK_SIZE];
	__le32 pattern_offset;
	__le32 pattern_len;
	__le32 bitmask_len;
	__le32 pattern_id;
} __packed;

struct wmi_tlv_wow_add_pattern_cmd {
	__le32 vdev_id;
	__le32 pattern_id;
	__le32 pattern_type;
} __packed;

struct wmi_tlv_wow_del_pattern_cmd {
	__le32 vdev_id;
	__le32 pattern_id;
	__le32 pattern_type;
} __packed;

/* TDLS Options */
enum wmi_tlv_tdls_options {
	WMI_TLV_TDLS_OFFCHAN_EN = BIT(0),
	WMI_TLV_TDLS_BUFFER_STA_EN = BIT(1),
	WMI_TLV_TDLS_SLEEP_STA_EN = BIT(2),
};

struct wmi_tdls_set_state_cmd {
	__le32 vdev_id;
	__le32 state;
	__le32 notification_interval_ms;
	__le32 tx_discovery_threshold;
	__le32 tx_teardown_threshold;
	__le32 rssi_teardown_threshold;
	__le32 rssi_delta;
	__le32 tdls_options;
	__le32 tdls_peer_traffic_ind_window;
	__le32 tdls_peer_traffic_response_timeout_ms;
	__le32 tdls_puapsd_mask;
	__le32 tdls_puapsd_inactivity_time_ms;
	__le32 tdls_puapsd_rx_frame_threshold;
} __packed;

struct wmi_tdls_peer_update_cmd {
	__le32 vdev_id;
	struct wmi_mac_addr peer_macaddr;
	__le32 peer_state;
} __packed;

enum {
	WMI_TLV_TDLS_PEER_QOS_AC_VO = BIT(0),
	WMI_TLV_TDLS_PEER_QOS_AC_VI = BIT(1),
	WMI_TLV_TDLS_PEER_QOS_AC_BK = BIT(2),
	WMI_TLV_TDLS_PEER_QOS_AC_BE = BIT(3),
};

#define WMI_TLV_TDLS_PEER_SP_MASK	0x60
#define WMI_TLV_TDLS_PEER_SP_LSB	5

struct wmi_tdls_peer_capab {
	__le32 peer_qos;
	__le32 buff_sta_support;
	__le32 off_chan_support;
	__le32 peer_curr_operclass;
	__le32 self_curr_operclass;
	__le32 peer_chan_len;
	__le32 peer_operclass_len;
	u8 peer_operclass[WMI_TDLS_MAX_SUPP_OPER_CLASSES];
	__le32 is_peer_responder;
	__le32 pref_offchan_num;
	__le32 pref_offchan_bw;
} __packed;

struct wmi_tlv_adaptive_qcs {
	__le32 enable;
} __packed;

/**
 * wmi_tlv_tx_pause_id - firmware tx queue pause reason types
 *
 * @WMI_TLV_TX_PAUSE_ID_MCC: used for by multi-channel firmware scheduler.
 *		Only vdev_map is valid.
 * @WMI_TLV_TX_PAUSE_ID_AP_PEER_PS: peer in AP mode is asleep.
 *		Only peer_id is valid.
 * @WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD: Only peer_id and tid_map are valid.
 * @WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA: Only vdev_map is valid.
 * @WMI_TLV_TX_PAUSE_ID_P2P_GO_PS: Only vdev_map is valid.
 * @WMI_TLV_TX_PAUSE_ID_STA_ADD_BA: Only peer_id and tid_map are valid.
 * @WMI_TLV_TX_PAUSE_ID_AP_PS: When all peers are asleep in AP mode. Only
 *		vdev_map is valid.
 * @WMI_TLV_TX_PAUSE_ID_IBSS_PS: When all peers are asleep in IBSS mode. Only
 *		vdev_map is valid.
 * @WMI_TLV_TX_PAUSE_ID_HOST: Host itself requested tx pause.
 */
enum wmi_tlv_tx_pause_id {
	WMI_TLV_TX_PAUSE_ID_MCC = 1,
	WMI_TLV_TX_PAUSE_ID_AP_PEER_PS = 2,
	WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD = 3,
	WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA = 4,
	WMI_TLV_TX_PAUSE_ID_P2P_GO_PS = 5,
	WMI_TLV_TX_PAUSE_ID_STA_ADD_BA = 6,
	WMI_TLV_TX_PAUSE_ID_AP_PS = 7,
	WMI_TLV_TX_PAUSE_ID_IBSS_PS = 8,
	WMI_TLV_TX_PAUSE_ID_HOST = 21,
};

enum wmi_tlv_tx_pause_action {
	WMI_TLV_TX_PAUSE_ACTION_STOP,
	WMI_TLV_TX_PAUSE_ACTION_WAKE,
};

struct wmi_tlv_tx_pause_ev {
	__le32 pause_id;
	__le32 action;
	__le32 vdev_map;
	__le32 peer_id;
	__le32 tid_map;
} __packed;

void ath10k_wmi_tlv_attach(struct ath10k *ar);

#endif
