Path: blob/main/sys/contrib/dev/iwlwifi/iwl-nvm-utils.h
108569 views
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */1/*2* Copyright (C) 2005-2014, 2018, 2020-2023 Intel Corporation3* Copyright (C) 2015 Intel Mobile Communications GmbH4*/5#ifndef __iwl_eeprom_parse_h__6#define __iwl_eeprom_parse_h__78#include <linux/types.h>9#include <linux/if_ether.h>10#include <net/cfg80211.h>11#include "iwl-trans.h"1213struct iwl_nvm_data {14int n_hw_addrs;15u8 hw_addr[ETH_ALEN];1617u8 calib_version;18__le16 calib_voltage;1920__le16 raw_temperature;21__le16 kelvin_temperature;22__le16 kelvin_voltage;23__le16 xtal_calib[2];2425bool sku_cap_band_24ghz_enable;26bool sku_cap_band_52ghz_enable;27bool sku_cap_11n_enable;28bool sku_cap_11ac_enable;29bool sku_cap_11ax_enable;30bool sku_cap_amt_enable;31bool sku_cap_ipan_enable;32bool sku_cap_mimo_disabled;33bool sku_cap_11be_enable;3435u16 radio_cfg_type;36u8 radio_cfg_step;37u8 radio_cfg_dash;38u8 radio_cfg_pnum;39u8 valid_tx_ant, valid_rx_ant;4041u32 nvm_version;42s8 max_tx_pwr_half_dbm;4344bool lar_enabled;45bool vht160_supported;46struct ieee80211_supported_band bands[NUM_NL80211_BANDS];4748/*49* iftype data for low (2.4 GHz) high (5 GHz) and uhb (6 GHz) bands50*/51struct {52struct ieee80211_sband_iftype_data low[2];53struct ieee80211_sband_iftype_data high[2];54struct ieee80211_sband_iftype_data uhb[2];55} iftd;5657struct ieee80211_channel channels[];58};5960int iwl_init_sband_channels(struct iwl_nvm_data *data,61struct ieee80211_supported_band *sband,62int n_channels, enum nl80211_band band);6364void iwl_init_ht_hw_capab(struct iwl_trans *trans,65struct iwl_nvm_data *data,66struct ieee80211_sta_ht_cap *ht_info,67enum nl80211_band band,68u8 tx_chains, u8 rx_chains);6970#endif /* __iwl_eeprom_parse_h__ */717273