brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · ac0a29a Raw
72 lines · c
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */2/*3 * Copyright (C) 2005-2014, 2018, 2020-2023 Intel Corporation4 * Copyright (C) 2015 Intel Mobile Communications GmbH5 */6#ifndef __iwl_eeprom_parse_h__7#define __iwl_eeprom_parse_h__8 9#include <linux/types.h>10#include <linux/if_ether.h>11#include <net/cfg80211.h>12#include "iwl-trans.h"13 14struct iwl_nvm_data {15	int n_hw_addrs;16	u8 hw_addr[ETH_ALEN];17 18	u8 calib_version;19	__le16 calib_voltage;20 21	__le16 raw_temperature;22	__le16 kelvin_temperature;23	__le16 kelvin_voltage;24	__le16 xtal_calib[2];25 26	bool sku_cap_band_24ghz_enable;27	bool sku_cap_band_52ghz_enable;28	bool sku_cap_11n_enable;29	bool sku_cap_11ac_enable;30	bool sku_cap_11ax_enable;31	bool sku_cap_amt_enable;32	bool sku_cap_ipan_enable;33	bool sku_cap_mimo_disabled;34	bool sku_cap_11be_enable;35 36	u16 radio_cfg_type;37	u8 radio_cfg_step;38	u8 radio_cfg_dash;39	u8 radio_cfg_pnum;40	u8 valid_tx_ant, valid_rx_ant;41 42	u32 nvm_version;43	s8 max_tx_pwr_half_dbm;44 45	bool lar_enabled;46	bool vht160_supported;47	struct ieee80211_supported_band bands[NUM_NL80211_BANDS];48 49	/*50	 * iftype data for low (2.4 GHz) high (5 GHz) and uhb (6 GHz) bands51	 */52	struct {53		struct ieee80211_sband_iftype_data low[2];54		struct ieee80211_sband_iftype_data high[2];55		struct ieee80211_sband_iftype_data uhb[2];56	} iftd;57 58	struct ieee80211_channel channels[];59};60 61int iwl_init_sband_channels(struct iwl_nvm_data *data,62			    struct ieee80211_supported_band *sband,63			    int n_channels, enum nl80211_band band);64 65void iwl_init_ht_hw_capab(struct iwl_trans *trans,66			  struct iwl_nvm_data *data,67			  struct ieee80211_sta_ht_cap *ht_info,68			  enum nl80211_band band,69			  u8 tx_chains, u8 rx_chains);70 71#endif /* __iwl_eeprom_parse_h__ */72