Merge tag 'for-5.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
[linux-2.6-microblaze.git] / include / uapi / linux / nl80211-vnd-intel.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * Copyright (C) 2012-2014, 2018-2021 Intel Corporation
4  * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
5  * Copyright (C) 2016-2017 Intel Deutschland GmbH
6  */
7 #ifndef __VENDOR_CMD_INTEL_H__
8 #define __VENDOR_CMD_INTEL_H__
9
10 #define INTEL_OUI       0x001735
11
12 /**
13  * enum iwl_mvm_vendor_cmd - supported vendor commands
14  * @IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO: reports CSME connection info.
15  * @IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP: asks for ownership on the device.
16  * @IWL_MVM_VENDOR_CMD_ROAMING_FORBIDDEN_EVENT: notifies if roaming is allowed.
17  *      It contains a &IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN and a
18  *      &IWL_MVM_VENDOR_ATTR_VIF_ADDR attributes.
19  */
20
21 enum iwl_mvm_vendor_cmd {
22         IWL_MVM_VENDOR_CMD_GET_CSME_CONN_INFO                   = 0x2d,
23         IWL_MVM_VENDOR_CMD_HOST_GET_OWNERSHIP                   = 0x30,
24         IWL_MVM_VENDOR_CMD_ROAMING_FORBIDDEN_EVENT              = 0x32,
25 };
26
27 enum iwl_vendor_auth_akm_mode {
28         IWL_VENDOR_AUTH_OPEN,
29         IWL_VENDOR_AUTH_RSNA = 0x6,
30         IWL_VENDOR_AUTH_RSNA_PSK,
31         IWL_VENDOR_AUTH_SAE = 0x9,
32         IWL_VENDOR_AUTH_MAX,
33 };
34
35 /**
36  * enum iwl_mvm_vendor_attr - attributes used in vendor commands
37  * @__IWL_MVM_VENDOR_ATTR_INVALID: attribute 0 is invalid
38  * @IWL_MVM_VENDOR_ATTR_VIF_ADDR: interface MAC address
39  * @IWL_MVM_VENDOR_ATTR_ADDR: MAC address
40  * @IWL_MVM_VENDOR_ATTR_SSID: SSID (binary attribute, 0..32 octets)
41  * @IWL_MVM_VENDOR_ATTR_STA_CIPHER: the cipher to use for the station with the
42  *      mac address specified in &IWL_MVM_VENDOR_ATTR_ADDR.
43  * @IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN: u8 attribute. Indicates whether
44  *      roaming is forbidden or not. Value 1 means roaming is forbidden,
45  *      0 mean roaming is allowed.
46  * @IWL_MVM_VENDOR_ATTR_AUTH_MODE: u32 attribute. Authentication mode type
47  *      as specified in &enum iwl_vendor_auth_akm_mode.
48  * @IWL_MVM_VENDOR_ATTR_CHANNEL_NUM: u8 attribute. Contains channel number.
49  * @IWL_MVM_VENDOR_ATTR_BAND: u8 attribute.
50  *      0 for 2.4 GHz band, 1 for 5.2GHz band and 2 for 6GHz band.
51  * @IWL_MVM_VENDOR_ATTR_COLLOC_CHANNEL: u32 attribute. Channel number of
52  *      collocated AP. Relevant for 6GHz AP info.
53  * @IWL_MVM_VENDOR_ATTR_COLLOC_ADDR: MAC address of a collocated AP.
54  *      Relevant for 6GHz AP info.
55  *
56  * @NUM_IWL_MVM_VENDOR_ATTR: number of vendor attributes
57  * @MAX_IWL_MVM_VENDOR_ATTR: highest vendor attribute number
58
59  */
60 enum iwl_mvm_vendor_attr {
61         __IWL_MVM_VENDOR_ATTR_INVALID                           = 0x00,
62         IWL_MVM_VENDOR_ATTR_VIF_ADDR                            = 0x02,
63         IWL_MVM_VENDOR_ATTR_ADDR                                = 0x0a,
64         IWL_MVM_VENDOR_ATTR_SSID                                = 0x3d,
65         IWL_MVM_VENDOR_ATTR_STA_CIPHER                          = 0x51,
66         IWL_MVM_VENDOR_ATTR_ROAMING_FORBIDDEN                   = 0x64,
67         IWL_MVM_VENDOR_ATTR_AUTH_MODE                           = 0x65,
68         IWL_MVM_VENDOR_ATTR_CHANNEL_NUM                         = 0x66,
69         IWL_MVM_VENDOR_ATTR_BAND                                = 0x69,
70         IWL_MVM_VENDOR_ATTR_COLLOC_CHANNEL                      = 0x70,
71         IWL_MVM_VENDOR_ATTR_COLLOC_ADDR                         = 0x71,
72
73         NUM_IWL_MVM_VENDOR_ATTR,
74         MAX_IWL_MVM_VENDOR_ATTR = NUM_IWL_MVM_VENDOR_ATTR - 1,
75 };
76
77 #endif /* __VENDOR_CMD_INTEL_H__ */