linux/drivers/net/wireless/microchip/wilc1000/fw.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
   4 * All rights reserved.
   5 */
   6
   7#ifndef WILC_FW_H
   8#define WILC_FW_H
   9
  10#include <linux/ieee80211.h>
  11
  12#define WILC_MAX_NUM_STA                        9
  13#define WILC_MAX_RATES_SUPPORTED                12
  14#define WILC_MAX_NUM_PMKIDS                     16
  15#define WILC_MAX_NUM_SCANNED_CH                 14
  16
  17struct wilc_assoc_resp {
  18        __le16 capab_info;
  19        __le16 status_code;
  20        __le16 aid;
  21} __packed;
  22
  23struct wilc_pmkid {
  24        u8 bssid[ETH_ALEN];
  25        u8 pmkid[WLAN_PMKID_LEN];
  26} __packed;
  27
  28struct wilc_pmkid_attr {
  29        u8 numpmkid;
  30        struct wilc_pmkid pmkidlist[WILC_MAX_NUM_PMKIDS];
  31} __packed;
  32
  33struct wilc_reg_frame {
  34        u8 reg;
  35        u8 reg_id;
  36        __le16 frame_type;
  37} __packed;
  38
  39struct wilc_drv_handler {
  40        __le32 handler;
  41        u8 mode;
  42} __packed;
  43
  44struct wilc_wep_key {
  45        u8 index;
  46        u8 key_len;
  47        u8 key[];
  48} __packed;
  49
  50struct wilc_sta_wpa_ptk {
  51        u8 mac_addr[ETH_ALEN];
  52        u8 key_len;
  53        u8 key[];
  54} __packed;
  55
  56struct wilc_ap_wpa_ptk {
  57        u8 mac_addr[ETH_ALEN];
  58        u8 index;
  59        u8 key_len;
  60        u8 key[];
  61} __packed;
  62
  63struct wilc_gtk_key {
  64        u8 mac_addr[ETH_ALEN];
  65        u8 rsc[8];
  66        u8 index;
  67        u8 key_len;
  68        u8 key[];
  69} __packed;
  70
  71struct wilc_op_mode {
  72        __le32 mode;
  73} __packed;
  74
  75struct wilc_noa_opp_enable {
  76        u8 ct_window;
  77        u8 cnt;
  78        __le32 duration;
  79        __le32 interval;
  80        __le32 start_time;
  81} __packed;
  82
  83struct wilc_noa_opp_disable {
  84        u8 cnt;
  85        __le32 duration;
  86        __le32 interval;
  87        __le32 start_time;
  88} __packed;
  89
  90struct wilc_join_bss_param {
  91        char ssid[IEEE80211_MAX_SSID_LEN];
  92        u8 ssid_terminator;
  93        u8 bss_type;
  94        u8 ch;
  95        __le16 cap_info;
  96        u8 sa[ETH_ALEN];
  97        u8 bssid[ETH_ALEN];
  98        __le16 beacon_period;
  99        u8 dtim_period;
 100        u8 supp_rates[WILC_MAX_RATES_SUPPORTED + 1];
 101        u8 wmm_cap;
 102        u8 uapsd_cap;
 103        u8 ht_capable;
 104        u8 rsn_found;
 105        u8 rsn_grp_policy;
 106        u8 mode_802_11i;
 107        u8 p_suites[3];
 108        u8 akm_suites[3];
 109        u8 rsn_cap[2];
 110        u8 noa_enabled;
 111        __le32 tsf_lo;
 112        u8 idx;
 113        u8 opp_enabled;
 114        union {
 115                struct wilc_noa_opp_disable opp_dis;
 116                struct wilc_noa_opp_enable opp_en;
 117        };
 118} __packed;
 119#endif
 120