1*f0553ca9SKalle Valo /* SPDX-License-Identifier: ISC */ 243d2a30fSKalle Valo /* 38b1083d6SKalle Valo * Copyright (c) 2014,2017 Qualcomm Atheros, Inc. 443d2a30fSKalle Valo */ 543d2a30fSKalle Valo 643d2a30fSKalle Valo /* "API" level of the ath10k testmode interface. Bump it after every 743d2a30fSKalle Valo * incompatible interface change. 843d2a30fSKalle Valo */ 943d2a30fSKalle Valo #define ATH10K_TESTMODE_VERSION_MAJOR 1 1043d2a30fSKalle Valo 1143d2a30fSKalle Valo /* Bump this after every _compatible_ interface change, for example 1243d2a30fSKalle Valo * addition of a new command or an attribute. 1343d2a30fSKalle Valo */ 1443d2a30fSKalle Valo #define ATH10K_TESTMODE_VERSION_MINOR 0 1543d2a30fSKalle Valo 1643d2a30fSKalle Valo #define ATH10K_TM_DATA_MAX_LEN 5000 1743d2a30fSKalle Valo 1843d2a30fSKalle Valo enum ath10k_tm_attr { 1943d2a30fSKalle Valo __ATH10K_TM_ATTR_INVALID = 0, 2043d2a30fSKalle Valo ATH10K_TM_ATTR_CMD = 1, 2143d2a30fSKalle Valo ATH10K_TM_ATTR_DATA = 2, 2243d2a30fSKalle Valo ATH10K_TM_ATTR_WMI_CMDID = 3, 2343d2a30fSKalle Valo ATH10K_TM_ATTR_VERSION_MAJOR = 4, 2443d2a30fSKalle Valo ATH10K_TM_ATTR_VERSION_MINOR = 5, 254dcb7808SRyan Hsu ATH10K_TM_ATTR_WMI_OP_VERSION = 6, 2643d2a30fSKalle Valo 2743d2a30fSKalle Valo /* keep last */ 2843d2a30fSKalle Valo __ATH10K_TM_ATTR_AFTER_LAST, 2943d2a30fSKalle Valo ATH10K_TM_ATTR_MAX = __ATH10K_TM_ATTR_AFTER_LAST - 1, 3043d2a30fSKalle Valo }; 3143d2a30fSKalle Valo 3243d2a30fSKalle Valo /* All ath10k testmode interface commands specified in 3343d2a30fSKalle Valo * ATH10K_TM_ATTR_CMD 3443d2a30fSKalle Valo */ 3543d2a30fSKalle Valo enum ath10k_tm_cmd { 3643d2a30fSKalle Valo /* Returns the supported ath10k testmode interface version in 3743d2a30fSKalle Valo * ATH10K_TM_ATTR_VERSION. Always guaranteed to work. User space 3843d2a30fSKalle Valo * uses this to verify it's using the correct version of the 3943d2a30fSKalle Valo * testmode interface 4043d2a30fSKalle Valo */ 4143d2a30fSKalle Valo ATH10K_TM_CMD_GET_VERSION = 0, 4243d2a30fSKalle Valo 4343d2a30fSKalle Valo /* Boots the UTF firmware, the netdev interface must be down at the 4443d2a30fSKalle Valo * time. 4543d2a30fSKalle Valo */ 4643d2a30fSKalle Valo ATH10K_TM_CMD_UTF_START = 1, 4743d2a30fSKalle Valo 4843d2a30fSKalle Valo /* Shuts down the UTF firmware and puts the driver back into OFF 4943d2a30fSKalle Valo * state. 5043d2a30fSKalle Valo */ 5143d2a30fSKalle Valo ATH10K_TM_CMD_UTF_STOP = 2, 5243d2a30fSKalle Valo 5343d2a30fSKalle Valo /* The command used to transmit a WMI command to the firmware and 5443d2a30fSKalle Valo * the event to receive WMI events from the firmware. Without 5543d2a30fSKalle Valo * struct wmi_cmd_hdr header, only the WMI payload. Command id is 5643d2a30fSKalle Valo * provided with ATH10K_TM_ATTR_WMI_CMDID and payload in 5743d2a30fSKalle Valo * ATH10K_TM_ATTR_DATA. 5843d2a30fSKalle Valo */ 5943d2a30fSKalle Valo ATH10K_TM_CMD_WMI = 3, 6043d2a30fSKalle Valo }; 61