meta-digi/meta-digi-dey/recipes-connectivity/hostapd/hostapd/murata/0040-nl80211-Introduce-a-ve...

128 lines
5.0 KiB
Diff

From 62c82984916623e6e00053dcb148de71d24bdaf5 Mon Sep 17 00:00:00 2001
From: Gokul Sivakumar <gokulkumar.sivakumar@infineon.com>
Date: Mon, 11 Jul 2022 11:15:25 +0530
Subject: [PATCH 40/60] nl80211: Introduce a vendor header for vendor NL iface
to DRV with OUI_IFX
So far, the proprietary configurations are done either through the private
IOCTL interface or through the vendor nl80211 CMD with OUI_BRCM. For easier
maintainance of the infineon's list of proprietary config interfaces across
DHD, FMAC, wpa_supplicant, hostapd, iw, etc, hereafter start using the new
vendor nl80211 CMD interface with OUI_IFX.
Infineon OUI - 00:03:19 (Ref https://standards-oui.ieee.org/)
Upstream-Status: Inappropriate [DEY specific]
Signed-off-by: Gokul Sivakumar <gokulkumar.sivakumar@infineon.com>
Signed-off-by: Ian Lin <ian.lin@infineon.com>
---
src/common/ifx_vendor.h | 95 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
create mode 100644 src/common/ifx_vendor.h
diff --git a/src/common/ifx_vendor.h b/src/common/ifx_vendor.h
new file mode 100644
index 000000000..2ea9af0a7
--- /dev/null
+++ b/src/common/ifx_vendor.h
@@ -0,0 +1,95 @@
+/*
+ * Infineon: vendor OUI and specific assignments
+ *
+ * ©2022 Cypress Semiconductor Corporation (an Infineon company)
+ * or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
+ * This software, including source code, documentation and related materials
+ * ("Software") is owned by Cypress Semiconductor Corporation or one of its
+ * affiliates ("Cypress") and is protected by and subject to
+ * worldwide patent protection (United States and foreign),
+ * United States copyright laws and international treaty provisions.
+ * Therefore, you may use this Software only as provided in the license agreement
+ * accompanying the software package from which you obtained this Software ("EULA").
+ * If no EULA applies, Cypress hereby grants you a personal, non-exclusive,
+ * non-transferable license to copy, modify, and compile the Software source code
+ * solely for use in connection with Cypress's integrated circuit products.
+ * Any reproduction, modification, translation, compilation, or representation
+ * of this Software except as specified above is prohibited without
+ * the expresswritten permission of Cypress.
+ * Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT,
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ * Cypress reserves the right to make changes to the Software without notice.
+ * Cypress does not assume any liability arising out of the application or
+ * use of the Software or any product or circuit described in the Software.
+ * Cypress does not authorize its products for use in any products where a malfunction
+ * or failure of the Cypress product may reasonably be expected to result in
+ * significant property damage, injury or death ("High Risk Product").
+ * By including Cypress's product in a High Risk Product, the manufacturer
+ * of such system or application assumes all risk of such use and in doing so
+ * agrees to indemnify Cypress against all liability.
+ */
+
+#ifndef IFX_VENDOR_H
+#define IFX_VENDOR_H
+
+/*
+ * This file is a registry of identifier assignments from the Infineon
+ * OUI 00:03:19 for purposes other than MAC address assignment. New identifiers
+ * can be assigned through normal review process for changes to the upstream
+ * hostap.git repository.
+ */
+#define OUI_IFX 0x000319
+
+/*
+ * enum ifx_nl80211_vendor_subcmds - IFX nl80211 vendor command identifiers
+ *
+ * @IFX_VENDOR_SCMD_UNSPEC: Reserved value 0
+ *
+ * @IFX_VENDOR_SCMD_FRAMEBURST: Vendor command to enable/disable Frameburst
+ *
+ * @IFX_VENDOR_SCMD_MUEDCA_OPT_ENABLE: Vendor command to enable/disable HE MU-EDCA opt
+ *
+ * @IFX_VENDOR_SCMD_LDPC_CAP: Vendor command enable/disable LDPC Capability
+ *
+ * @IFX_VENDOR_SCMD_AMSDU: Vendor command to enable/disable AMSDU on all the TID queues
+ *
+ * @IFX_VENDOR_SCMD_MAX: This acts as a the tail of cmds list.
+ * Make sure it located at the end of the list.
+ */
+enum ifx_nl80211_vendor_subcmds {
+ /*
+ * TODO: IFX Vendor subcmd enum IDs between 1-10 are reserved
+ * to be be filled later with BRCM Vendor subcmds that are
+ * already used by IFX.
+ */
+ IFX_VENDOR_SCMD_UNSPEC = 0,
+ /* Reserved 1-5 */
+ IFX_VENDOR_SCMD_FRAMEBURST = 6,
+ /* Reserved 7-10 */
+ IFX_VENDOR_SCMD_MUEDCA_OPT_ENABLE = 11,
+ IFX_VENDOR_SCMD_LDPC_CAP = 12,
+ IFX_VENDOR_SCMD_AMSDU = 13,
+ IFX_VENDOR_SCMD_MAX
+};
+
+/*
+ * enum ifx_vendor_attr - IFX nl80211 vendor attributes
+ *
+ * @IFX_VENDOR_ATTR_UNSPEC: Reserved value 0
+ *
+ * @IFX_VENDOR_ATTR_MAX: This acts as a the tail of attrs list.
+ * Make sure it located at the end of the list.
+ */
+enum ifx_vendor_attr {
+ /*
+ * TODO: IFX Vendor attr enum IDs between 0-10 are reserved
+ * to be filled later with BRCM Vendor attrs that are
+ * already used by IFX.
+ */
+ IFX_VENDOR_ATTR_UNSPEC = 0,
+ /* Reserved 1-10 */
+ IFX_VENDOR_ATTR_MAX = 11
+};
+
+#endif /* IFX_VENDOR_H */
--
2.17.1