qca-vendor.h revision 61593f02176862f4880ddefcb1f54cb5f5d9f043
1/*
2 * Qualcomm Atheros OUI and vendor specific assignments
3 * Copyright (c) 2014, Qualcomm Atheros, Inc.
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
8
9#ifndef QCA_VENDOR_H
10#define QCA_VENDOR_H
11
12/*
13 * This file is a registry of identifier assignments from the Qualcomm Atheros
14 * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
15 * can be assigned through normal review process for changes to the upstream
16 * hostap.git repository.
17 */
18
19#define OUI_QCA 0x001374
20
21/**
22 * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
23 *
24 * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
25 *
26 * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
27 *
28 * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency
29 *	ranges to avoid to reduce issues due to interference or internal
30 *	co-existence information in the driver. The event data structure is
31 *	defined in struct qca_avoid_freq_list.
32 *
33 * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support
34 *	for DFS offloading.
35 *
36 * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass
37 *	NAN Request/Response and NAN Indication messages. These messages are
38 *	interpreted between the framework and the firmware component.
39 */
40enum qca_nl80211_vendor_subcmds {
41	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
42	QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
43	/* subcmds 2..9 not yet allocated */
44	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
45	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
46	QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
47};
48
49
50struct qca_avoid_freq_range {
51	u32 start_freq;
52	u32 end_freq;
53} STRUCT_PACKED;
54
55struct qca_avoid_freq_list {
56	u32 count;
57	struct qca_avoid_freq_range range[0];
58} STRUCT_PACKED;
59
60enum qca_wlan_vendor_attr {
61	QCA_WLAN_VENDOR_ATTR_INVALID = 0,
62	/* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
63	QCA_WLAN_VENDOR_ATTR_DFS     = 1,
64	/* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
65	QCA_WLAN_VENDOR_ATTR_NAN     = 2,
66	/* keep last */
67	QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
68	QCA_WLAN_VENDOR_ATTR_MAX	= QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
69};
70
71#endif /* QCA_VENDOR_H */
72