1 | /* SPDX-License-Identifier: BSD-3-Clause-Clear */ |
2 | /* |
3 | * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. |
4 | * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. |
5 | */ |
6 | |
7 | /* "API" level of the ath11k testmode interface. Bump it after every |
8 | * incompatible interface change. |
9 | */ |
10 | #define ATH11K_TESTMODE_VERSION_MAJOR 1 |
11 | |
12 | /* Bump this after every _compatible_ interface change, for example |
13 | * addition of a new command or an attribute. |
14 | */ |
15 | #define ATH11K_TESTMODE_VERSION_MINOR 1 |
16 | |
17 | #define ATH11K_TM_DATA_MAX_LEN 5000 |
18 | #define ATH11K_FTM_EVENT_MAX_BUF_LENGTH 2048 |
19 | |
20 | enum ath11k_tm_attr { |
21 | __ATH11K_TM_ATTR_INVALID = 0, |
22 | ATH11K_TM_ATTR_CMD = 1, |
23 | ATH11K_TM_ATTR_DATA = 2, |
24 | ATH11K_TM_ATTR_WMI_CMDID = 3, |
25 | ATH11K_TM_ATTR_VERSION_MAJOR = 4, |
26 | ATH11K_TM_ATTR_VERSION_MINOR = 5, |
27 | ATH11K_TM_ATTR_WMI_OP_VERSION = 6, |
28 | |
29 | /* keep last */ |
30 | __ATH11K_TM_ATTR_AFTER_LAST, |
31 | ATH11K_TM_ATTR_MAX = __ATH11K_TM_ATTR_AFTER_LAST - 1, |
32 | }; |
33 | |
34 | /* All ath11k testmode interface commands specified in |
35 | * ATH11K_TM_ATTR_CMD |
36 | */ |
37 | enum ath11k_tm_cmd { |
38 | /* Returns the supported ath11k testmode interface version in |
39 | * ATH11K_TM_ATTR_VERSION. Always guaranteed to work. User space |
40 | * uses this to verify it's using the correct version of the |
41 | * testmode interface |
42 | */ |
43 | ATH11K_TM_CMD_GET_VERSION = 0, |
44 | |
45 | /* The command used to transmit a WMI command to the firmware and |
46 | * the event to receive WMI events from the firmware. Without |
47 | * struct wmi_cmd_hdr header, only the WMI payload. Command id is |
48 | * provided with ATH11K_TM_ATTR_WMI_CMDID and payload in |
49 | * ATH11K_TM_ATTR_DATA. |
50 | */ |
51 | ATH11K_TM_CMD_WMI = 1, |
52 | |
53 | /* Boots the UTF firmware, the netdev interface must be down at the |
54 | * time. |
55 | */ |
56 | ATH11K_TM_CMD_TESTMODE_START = 2, |
57 | |
58 | /* The command used to transmit a FTM WMI command to the firmware |
59 | * and the event to receive WMI events from the firmware. The data |
60 | * received only contain the payload, need to add the tlv header |
61 | * and send the cmd to firmware with command id WMI_PDEV_UTF_CMDID. |
62 | * The data payload size could be large and the driver needs to |
63 | * send segmented data to firmware. |
64 | */ |
65 | ATH11K_TM_CMD_WMI_FTM = 3, |
66 | }; |
67 | |