wmi.h (355a47ae7ebcf9d605aa809b259d380422e81b8d) wmi.h (9b586118730e1b86dc3c8d8523effc712c5a2bfc)
1/*
2 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc.
4 * Copyright (c) 2006-2012 Wilocity
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

--- 21 unchanged lines hidden (view full) ---

30#ifndef __WILOCITY_WMI_H__
31#define __WILOCITY_WMI_H__
32
33#define WMI_DEFAULT_ASSOC_STA (1)
34#define WMI_MAC_LEN (6)
35#define WMI_PROX_RANGE_NUM (3)
36#define WMI_MAX_LOSS_DMG_BEACONS (20)
37#define MAX_NUM_OF_SECTORS (128)
1/*
2 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc.
4 * Copyright (c) 2006-2012 Wilocity
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

--- 21 unchanged lines hidden (view full) ---

30#ifndef __WILOCITY_WMI_H__
31#define __WILOCITY_WMI_H__
32
33#define WMI_DEFAULT_ASSOC_STA (1)
34#define WMI_MAC_LEN (6)
35#define WMI_PROX_RANGE_NUM (3)
36#define WMI_MAX_LOSS_DMG_BEACONS (20)
37#define MAX_NUM_OF_SECTORS (128)
38#define WMI_INVALID_TEMPERATURE (0xFFFFFFFF)
38#define WMI_SCHED_MAX_ALLOCS_PER_CMD (4)
39#define WMI_RF_DTYPE_LENGTH (3)
40#define WMI_RF_ETYPE_LENGTH (3)
41#define WMI_RF_RX2TX_LENGTH (3)
42#define WMI_RF_ETYPE_VAL_PER_RANGE (5)
43/* DTYPE configuration array size
44 * must always be kept equal to (WMI_RF_DTYPE_LENGTH+1)
45 */

--- 13 unchanged lines hidden (view full) ---

59#define WMI_QOS_VRING_SLOT_MIN_MS (2)
60#define WMI_QOS_VRING_SLOT_MAX_MS (10)
61/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS /
62 * WMI_QOS_VRING_SLOT_MIN_MS)
63 */
64#define WMI_QOS_MAX_WEIGHT 50
65#define WMI_QOS_SET_VIF_PRIORITY (0xFF)
66#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY)
39#define WMI_SCHED_MAX_ALLOCS_PER_CMD (4)
40#define WMI_RF_DTYPE_LENGTH (3)
41#define WMI_RF_ETYPE_LENGTH (3)
42#define WMI_RF_RX2TX_LENGTH (3)
43#define WMI_RF_ETYPE_VAL_PER_RANGE (5)
44/* DTYPE configuration array size
45 * must always be kept equal to (WMI_RF_DTYPE_LENGTH+1)
46 */

--- 13 unchanged lines hidden (view full) ---

60#define WMI_QOS_VRING_SLOT_MIN_MS (2)
61#define WMI_QOS_VRING_SLOT_MAX_MS (10)
62/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS /
63 * WMI_QOS_VRING_SLOT_MIN_MS)
64 */
65#define WMI_QOS_MAX_WEIGHT 50
66#define WMI_QOS_SET_VIF_PRIORITY (0xFF)
67#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY)
68#define WMI_MAX_XIF_PORTS_NUM (8)
67
68/* Mailbox interface
69 * used for commands and events
70 */
71enum wmi_mid {
72 MID_DEFAULT = 0x00,
73 FIRST_DBG_MID_ID = 0x10,
74 LAST_DBG_MID_ID = 0xFE,

--- 25 unchanged lines hidden (view full) ---

100 WMI_FW_CAPABILITY_MULTI_VIFS = 20,
101 WMI_FW_CAPABILITY_FT_ROAMING = 21,
102 WMI_FW_CAPABILITY_BACK_WIN_SIZE_64 = 22,
103 WMI_FW_CAPABILITY_AMSDU = 23,
104 WMI_FW_CAPABILITY_RAW_MODE = 24,
105 WMI_FW_CAPABILITY_TX_REQ_EXT = 25,
106 WMI_FW_CAPABILITY_CHANNEL_4 = 26,
107 WMI_FW_CAPABILITY_IPA = 27,
69
70/* Mailbox interface
71 * used for commands and events
72 */
73enum wmi_mid {
74 MID_DEFAULT = 0x00,
75 FIRST_DBG_MID_ID = 0x10,
76 LAST_DBG_MID_ID = 0xFE,

--- 25 unchanged lines hidden (view full) ---

102 WMI_FW_CAPABILITY_MULTI_VIFS = 20,
103 WMI_FW_CAPABILITY_FT_ROAMING = 21,
104 WMI_FW_CAPABILITY_BACK_WIN_SIZE_64 = 22,
105 WMI_FW_CAPABILITY_AMSDU = 23,
106 WMI_FW_CAPABILITY_RAW_MODE = 24,
107 WMI_FW_CAPABILITY_TX_REQ_EXT = 25,
108 WMI_FW_CAPABILITY_CHANNEL_4 = 26,
109 WMI_FW_CAPABILITY_IPA = 27,
110 WMI_FW_CAPABILITY_TEMPERATURE_ALL_RF = 30,
108 WMI_FW_CAPABILITY_MAX,
109};
110
111/* WMI_CMD_HDR */
112struct wmi_cmd_hdr {
113 u8 mid;
114 u8 reserved;
115 __le16 command_id;

--- 175 unchanged lines hidden (view full) ---

291 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08,
292 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B,
293 WMI_LINK_STATS_CMDID = 0xA0C,
294 WMI_SET_GRANT_MCS_CMDID = 0xA0E,
295 WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F,
296 WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10,
297 WMI_SET_VRING_PRIORITY_CMDID = 0xA11,
298 WMI_RBUFCAP_CFG_CMDID = 0xA12,
111 WMI_FW_CAPABILITY_MAX,
112};
113
114/* WMI_CMD_HDR */
115struct wmi_cmd_hdr {
116 u8 mid;
117 u8 reserved;
118 __le16 command_id;

--- 175 unchanged lines hidden (view full) ---

294 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08,
295 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B,
296 WMI_LINK_STATS_CMDID = 0xA0C,
297 WMI_SET_GRANT_MCS_CMDID = 0xA0E,
298 WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F,
299 WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10,
300 WMI_SET_VRING_PRIORITY_CMDID = 0xA11,
301 WMI_RBUFCAP_CFG_CMDID = 0xA12,
302 WMI_TEMP_SENSE_ALL_CMDID = 0xA13,
299 WMI_SET_MAC_ADDRESS_CMDID = 0xF003,
300 WMI_ABORT_SCAN_CMDID = 0xF007,
301 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041,
302 /* deprecated */
303 WMI_GET_PMK_CMDID = 0xF048,
304 WMI_SET_PASSPHRASE_CMDID = 0xF049,
305 /* deprecated */
306 WMI_SEND_ASSOC_RES_CMDID = 0xF04A,

--- 1099 unchanged lines hidden (view full) ---

1406 * operation
1407 */
1408 u8 verify;
1409 u8 reserved1[3];
1410 /* actual size=num_bytes */
1411 u8 data_bytes[0];
1412} __packed;
1413
303 WMI_SET_MAC_ADDRESS_CMDID = 0xF003,
304 WMI_ABORT_SCAN_CMDID = 0xF007,
305 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041,
306 /* deprecated */
307 WMI_GET_PMK_CMDID = 0xF048,
308 WMI_SET_PASSPHRASE_CMDID = 0xF049,
309 /* deprecated */
310 WMI_SEND_ASSOC_RES_CMDID = 0xF04A,

--- 1099 unchanged lines hidden (view full) ---

1410 * operation
1411 */
1412 u8 verify;
1413 u8 reserved1[3];
1414 /* actual size=num_bytes */
1415 u8 data_bytes[0];
1416} __packed;
1417
1414/* WMI_TEMP_SENSE_CMDID
1415 *
1416 * Measure MAC and radio temperatures
1417 *
1418 * Possible modes for temperature measurement
1419 */
1418/* Possible modes for temperature measurement */
1420enum wmi_temperature_measure_mode {
1421 TEMPERATURE_USE_OLD_VALUE = 0x01,
1422 TEMPERATURE_MEASURE_NOW = 0x02,
1423};
1424
1425/* WMI_TEMP_SENSE_CMDID */
1426struct wmi_temp_sense_cmd {
1427 __le32 measure_baseband_en;

--- 509 unchanged lines hidden (view full) ---

1937 u8 reserved[3];
1938} __packed;
1939
1940/* WMI_SET_AP_SLOT_SIZE_CMDID */
1941struct wmi_set_ap_slot_size_cmd {
1942 __le32 slot_size;
1943} __packed;
1944
1419enum wmi_temperature_measure_mode {
1420 TEMPERATURE_USE_OLD_VALUE = 0x01,
1421 TEMPERATURE_MEASURE_NOW = 0x02,
1422};
1423
1424/* WMI_TEMP_SENSE_CMDID */
1425struct wmi_temp_sense_cmd {
1426 __le32 measure_baseband_en;

--- 509 unchanged lines hidden (view full) ---

1936 u8 reserved[3];
1937} __packed;
1938
1939/* WMI_SET_AP_SLOT_SIZE_CMDID */
1940struct wmi_set_ap_slot_size_cmd {
1941 __le32 slot_size;
1942} __packed;
1943
1944/* WMI_TEMP_SENSE_ALL_CMDID */
1945struct wmi_temp_sense_all_cmd {
1946 u8 measure_baseband_en;
1947 u8 measure_rf_en;
1948 u8 measure_mode;
1949 u8 reserved;
1950} __packed;
1951
1945/* WMI Events
1946 * List of Events (target to host)
1947 */
1948enum wmi_event_id {
1949 WMI_READY_EVENTID = 0x1001,
1950 WMI_CONNECT_EVENTID = 0x1002,
1951 WMI_DISCONNECT_EVENTID = 0x1003,
1952 WMI_START_SCHED_SCAN_EVENTID = 0x1005,

--- 143 unchanged lines hidden (view full) ---

2096 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B,
2097 WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C,
2098 WMI_LINK_STATS_EVENTID = 0x1A0D,
2099 WMI_SET_GRANT_MCS_EVENTID = 0x1A0E,
2100 WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F,
2101 WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10,
2102 WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11,
2103 WMI_RBUFCAP_CFG_EVENTID = 0x1A12,
1952/* WMI Events
1953 * List of Events (target to host)
1954 */
1955enum wmi_event_id {
1956 WMI_READY_EVENTID = 0x1001,
1957 WMI_CONNECT_EVENTID = 0x1002,
1958 WMI_DISCONNECT_EVENTID = 0x1003,
1959 WMI_START_SCHED_SCAN_EVENTID = 0x1005,

--- 143 unchanged lines hidden (view full) ---

2103 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B,
2104 WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C,
2105 WMI_LINK_STATS_EVENTID = 0x1A0D,
2106 WMI_SET_GRANT_MCS_EVENTID = 0x1A0E,
2107 WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F,
2108 WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10,
2109 WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11,
2110 WMI_RBUFCAP_CFG_EVENTID = 0x1A12,
2111 WMI_TEMP_SENSE_ALL_DONE_EVENTID = 0x1A13,
2104 WMI_SET_CHANNEL_EVENTID = 0x9000,
2105 WMI_ASSOC_REQ_EVENTID = 0x9001,
2106 WMI_EAPOL_RX_EVENTID = 0x9002,
2107 WMI_MAC_ADDR_RESP_EVENTID = 0x9003,
2108 WMI_FW_VER_EVENTID = 0x9004,
2109 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005,
2110 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006,
2111 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF,

--- 667 unchanged lines hidden (view full) ---

2779} __packed;
2780
2781/* WMI_TEMP_SENSE_DONE_EVENTID
2782 *
2783 * Measure MAC and radio temperatures
2784 */
2785struct wmi_temp_sense_done_event {
2786 /* Temperature times 1000 (actual temperature will be achieved by
2112 WMI_SET_CHANNEL_EVENTID = 0x9000,
2113 WMI_ASSOC_REQ_EVENTID = 0x9001,
2114 WMI_EAPOL_RX_EVENTID = 0x9002,
2115 WMI_MAC_ADDR_RESP_EVENTID = 0x9003,
2116 WMI_FW_VER_EVENTID = 0x9004,
2117 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005,
2118 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006,
2119 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF,

--- 667 unchanged lines hidden (view full) ---

2787} __packed;
2788
2789/* WMI_TEMP_SENSE_DONE_EVENTID
2790 *
2791 * Measure MAC and radio temperatures
2792 */
2793struct wmi_temp_sense_done_event {
2794 /* Temperature times 1000 (actual temperature will be achieved by
2787 * dividing the value by 1000)
2795 * dividing the value by 1000). When temperature cannot be read from
2796 * device return WMI_INVALID_TEMPERATURE
2788 */
2789 __le32 baseband_t1000;
2790 /* Temperature times 1000 (actual temperature will be achieved by
2797 */
2798 __le32 baseband_t1000;
2799 /* Temperature times 1000 (actual temperature will be achieved by
2791 * dividing the value by 1000)
2800 * dividing the value by 1000). When temperature cannot be read from
2801 * device return WMI_INVALID_TEMPERATURE
2792 */
2793 __le32 rf_t1000;
2794} __packed;
2795
2796#define WMI_SCAN_DWELL_TIME_MS (100)
2797#define WMI_SURVEY_TIMEOUT_MS (10000)
2798
2799enum wmi_hidden_ssid {

--- 1335 unchanged lines hidden (view full) ---

4135
4136/* WMI_RBUFCAP_CFG_EVENTID */
4137struct wmi_rbufcap_cfg_event {
4138 /* enum wmi_fw_status */
4139 u8 status;
4140 u8 reserved[3];
4141} __packed;
4142
2802 */
2803 __le32 rf_t1000;
2804} __packed;
2805
2806#define WMI_SCAN_DWELL_TIME_MS (100)
2807#define WMI_SURVEY_TIMEOUT_MS (10000)
2808
2809enum wmi_hidden_ssid {

--- 1335 unchanged lines hidden (view full) ---

4145
4146/* WMI_RBUFCAP_CFG_EVENTID */
4147struct wmi_rbufcap_cfg_event {
4148 /* enum wmi_fw_status */
4149 u8 status;
4150 u8 reserved[3];
4151} __packed;
4152
4153/* WMI_TEMP_SENSE_ALL_DONE_EVENTID
4154 * Measure MAC and all radio temperatures
4155 */
4156struct wmi_temp_sense_all_done_event {
4157 /* enum wmi_fw_status */
4158 u8 status;
4159 /* Bitmap of connected RFs */
4160 u8 rf_bitmap;
4161 u8 reserved[2];
4162 /* Temperature times 1000 (actual temperature will be achieved by
4163 * dividing the value by 1000). When temperature cannot be read from
4164 * device return WMI_INVALID_TEMPERATURE
4165 */
4166 __le32 rf_t1000[WMI_MAX_XIF_PORTS_NUM];
4167 /* Temperature times 1000 (actual temperature will be achieved by
4168 * dividing the value by 1000). When temperature cannot be read from
4169 * device return WMI_INVALID_TEMPERATURE
4170 */
4171 __le32 baseband_t1000;
4172} __packed;
4173
4143#endif /* __WILOCITY_WMI_H__ */
4174#endif /* __WILOCITY_WMI_H__ */