From 62c82984916623e6e00053dcb148de71d24bdaf5 Mon Sep 17 00:00:00 2001 From: Gokul Sivakumar 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 Signed-off-by: Ian Lin --- 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