diff options
Diffstat (limited to 'sys/contrib/dev/iwlwifi/fw/file.h')
| -rw-r--r-- | sys/contrib/dev/iwlwifi/fw/file.h | 45 | 
1 files changed, 43 insertions, 2 deletions
| diff --git a/sys/contrib/dev/iwlwifi/fw/file.h b/sys/contrib/dev/iwlwifi/fw/file.h index ae05227b6153..b7c1ab7a3006 100644 --- a/sys/contrib/dev/iwlwifi/fw/file.h +++ b/sys/contrib/dev/iwlwifi/fw/file.h @@ -102,8 +102,13 @@ enum iwl_ucode_tlv_type {  	IWL_UCODE_TLV_SEC_TABLE_ADDR		= 66,  	IWL_UCODE_TLV_D3_KEK_KCK_ADDR		= 67,  	IWL_UCODE_TLV_CURRENT_PC		= 68, +	IWL_UCODE_TLV_FSEQ_BIN_VERSION		= 72, + +	/* contains sub-sections like PNVM file does (did) */ +	IWL_UCODE_TLV_PNVM_DATA			= 74,  	IWL_UCODE_TLV_FW_NUM_STATIONS		= IWL_UCODE_TLV_CONST_BASE + 0, +	IWL_UCODE_TLV_FW_NUM_LINKS		= IWL_UCODE_TLV_CONST_BASE + 1,  	IWL_UCODE_TLV_FW_NUM_BEACONS		= IWL_UCODE_TLV_CONST_BASE + 2,  	IWL_UCODE_TLV_TYPE_DEBUG_INFO		= IWL_UCODE_TLV_DEBUG_BASE + 0, @@ -384,7 +389,8 @@ typedef unsigned int __bitwise iwl_ucode_tlv_capa_t;   *	to report the CSI information with (certain) RX frames   * @IWL_UCODE_TLV_CAPA_FTM_CALIBRATED: has FTM calibrated and thus supports both   *	initiator and responder - * @IWL_UCODE_TLV_CAPA_MLME_OFFLOAD: supports MLME offload + * @IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_UNII4_US_CA: supports (de)activating UNII-4 + *	for US/CA/WW from BIOS   * @IWL_UCODE_TLV_CAPA_PROTECTED_TWT: Supports protection of TWT action frames   * @IWL_UCODE_TLV_CAPA_FW_RESET_HANDSHAKE: Supports the firmware handshake in   *	reset flow @@ -397,6 +403,12 @@ typedef unsigned int __bitwise iwl_ucode_tlv_capa_t;   * @IWL_UCODE_TLV_CAPA_SECURE_LTF_SUPPORT: Support secure LTF measurement.   * @IWL_UCODE_TLV_CAPA_MONITOR_PASSIVE_CHANS: Support monitor mode on otherwise   *	passive channels + * @IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_5G9_FOR_CA: supports (de)activating 5G9 + *	for CA from BIOS. + * @IWL_UCODE_TLV_CAPA_UHB_CANADA_TAS_SUPPORT: supports %TAS_UHB_ALLOWED_CANADA + * @IWL_UCODE_TLV_CAPA_EXT_FSEQ_IMAGE_SUPPORT: external FSEQ image support + * @IWL_UCODE_TLV_CAPA_FW_ACCEPTS_RAW_DSM_TABLE: Firmware has capability of + *	handling raw DSM table data.   *   * @NUM_IWL_UCODE_TLV_CAPA: number of bits used   */ @@ -474,7 +486,7 @@ enum iwl_ucode_tlv_capa {  	IWL_UCODE_TLV_CAPA_DBG_BUF_ALLOC_CMD_SUPP	= (__force iwl_ucode_tlv_capa_t)93,  	/* set 3 */ -	IWL_UCODE_TLV_CAPA_MLME_OFFLOAD			= (__force iwl_ucode_tlv_capa_t)96, +	IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_UNII4_US_CA	= (__force iwl_ucode_tlv_capa_t)96,  	/*  	 * @IWL_UCODE_TLV_CAPA_PSC_CHAN_SUPPORT: supports PSC channels @@ -497,6 +509,17 @@ enum iwl_ucode_tlv_capa {  	IWL_UCODE_TLV_CAPA_CHINA_22_REG_SUPPORT		= (__force iwl_ucode_tlv_capa_t)117,  	IWL_UCODE_TLV_CAPA_SECURE_LTF_SUPPORT		= (__force iwl_ucode_tlv_capa_t)121,  	IWL_UCODE_TLV_CAPA_MONITOR_PASSIVE_CHANS	= (__force iwl_ucode_tlv_capa_t)122, +	IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_5G9_FOR_CA	= (__force iwl_ucode_tlv_capa_t)123, +	IWL_UCODE_TLV_CAPA_UHB_CANADA_TAS_SUPPORT	= (__force iwl_ucode_tlv_capa_t)124, +	IWL_UCODE_TLV_CAPA_EXT_FSEQ_IMAGE_SUPPORT	= (__force iwl_ucode_tlv_capa_t)125, + +	/* set 4 */ +	/** +	 * @IWL_UCODE_TLV_CAPA_RESET_DURING_ASSERT: FW reset handshake is needed +	 *	during assert handling even if the dump isn't split +	 */ +	IWL_UCODE_TLV_CAPA_RESET_DURING_ASSERT		= (__force iwl_ucode_tlv_capa_t)(4 * 32 +  0), +	IWL_UCODE_TLV_CAPA_FW_ACCEPTS_RAW_DSM_TABLE 	= (__force iwl_ucode_tlv_capa_t)(4 * 32 + 1),  	NUM_IWL_UCODE_TLV_CAPA  /*   * This construction make both sparse (which cannot increment the previous @@ -987,6 +1010,10 @@ struct iwl_fw_dump_exclude {  	__le32 addr, size;  }; +struct iwl_fw_fseq_bin_version { +	__le32 major, minor; +}; /* FW_TLV_FSEQ_BIN_VERSION_S */ +  static inline size_t _iwl_tlv_array_len(const struct iwl_ucode_tlv *tlv,  					size_t fixed_size, size_t var_size)  { @@ -1004,4 +1031,18 @@ static inline size_t _iwl_tlv_array_len(const struct iwl_ucode_tlv *tlv,  #define iwl_tlv_array_len_with_size(_tlv_ptr, _struct_ptr, _size)	\  	_iwl_tlv_array_len((_tlv_ptr), sizeof(*(_struct_ptr)), _size) + +/* external FSEQ file */ +#define IWL_FSEQ_FILE	"intel/fseq-%04x-%04x" +#define IWL_FSEQ_MAGIC	"INTEL-CNV-FSEQ\n\0" + +struct iwl_fseq_file { +	char magic[16]; +	char version[16]; +	__le32 bt_len; +	__le32 wifi_len; +	u8 reserved[8]; +	u8 data[]; +} __packed; +  #endif  /* __iwl_fw_file_h__ */ | 
