Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca296c57 authored by Oren Givon's avatar Oren Givon Committed by Emmanuel Grumbach
Browse files

iwlwifi: update support for 3168 series firmware and NVM



Update the struct which defines the support for 3168 cards.
Now it will search for a firmware of this format:
iwlwifi-3168-XX.ucode
Also, set the minimum version of the ucode to 20.
Update the minimum NVM version and minimum NVM calibrations
version of the 3168 series.

Signed-off-by: default avatarOren Givon <oren.givon@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 9baa0398
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -74,16 +74,19 @@
#define IWL7260_UCODE_API_MAX	17
#define IWL7265_UCODE_API_MAX	17
#define IWL7265D_UCODE_API_MAX	20
#define IWL3168_UCODE_API_MAX	20

/* Oldest version we won't warn about */
#define IWL7260_UCODE_API_OK	13
#define IWL7265_UCODE_API_OK	13
#define IWL7265D_UCODE_API_OK	13
#define IWL3168_UCODE_API_OK	20

/* Lowest firmware API version supported */
#define IWL7260_UCODE_API_MIN	13
#define IWL7265_UCODE_API_MIN	13
#define IWL7265D_UCODE_API_MIN	13
#define IWL3168_UCODE_API_MIN	20

/* NVM versions */
#define IWL7260_NVM_VERSION		0x0a1d
@@ -92,6 +95,8 @@
#define IWL3160_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL3165_NVM_VERSION		0x709
#define IWL3165_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL3168_NVM_VERSION		0xd01
#define IWL3168_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL7265_NVM_VERSION		0x0a1d
#define IWL7265_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL7265D_NVM_VERSION		0x0c11
@@ -109,6 +114,9 @@
#define IWL3160_FW_PRE "iwlwifi-3160-"
#define IWL3160_MODULE_FIRMWARE(api) IWL3160_FW_PRE __stringify(api) ".ucode"

#define IWL3168_FW_PRE "iwlwifi-3168-"
#define IWL3168_MODULE_FIRMWARE(api) IWL3168_FW_PRE __stringify(api) ".ucode"

#define IWL7265_FW_PRE "iwlwifi-7265-"
#define IWL7265_MODULE_FIRMWARE(api) IWL7265_FW_PRE __stringify(api) ".ucode"

@@ -180,6 +188,12 @@ static const struct iwl_ht_params iwl7000_ht_params = {
	.ucode_api_ok = IWL7265_UCODE_API_OK,			\
	.ucode_api_min = IWL7265_UCODE_API_MIN

#define IWL_DEVICE_3008						\
	IWL_DEVICE_7000_COMMON,					\
	.ucode_api_max = IWL3168_UCODE_API_MAX,			\
	.ucode_api_ok = IWL3168_UCODE_API_OK,			\
	.ucode_api_min = IWL3168_UCODE_API_MIN

#define IWL_DEVICE_7005D					\
	IWL_DEVICE_7000_COMMON,					\
	.ucode_api_max = IWL7265D_UCODE_API_MAX,		\
@@ -299,11 +313,11 @@ const struct iwl_cfg iwl3165_2ac_cfg = {

const struct iwl_cfg iwl3168_2ac_cfg = {
	.name = "Intel(R) Dual Band Wireless AC 3168",
	.fw_name_pre = IWL7265D_FW_PRE,
	IWL_DEVICE_7000,
	.fw_name_pre = IWL3168_FW_PRE,
	IWL_DEVICE_3008,
	.ht_params = &iwl7000_ht_params,
	.nvm_ver = IWL3165_NVM_VERSION,
	.nvm_calib_ver = IWL3165_TX_POWER_VERSION,
	.nvm_ver = IWL3168_NVM_VERSION,
	.nvm_calib_ver = IWL3168_TX_POWER_VERSION,
	.pwr_tx_backoffs = iwl7265_pwr_tx_backoffs,
	.dccm_len = IWL7265_DCCM_LEN,
};
@@ -376,5 +390,6 @@ const struct iwl_cfg iwl7265d_n_cfg = {

MODULE_FIRMWARE(IWL7260_MODULE_FIRMWARE(IWL7260_UCODE_API_OK));
MODULE_FIRMWARE(IWL3160_MODULE_FIRMWARE(IWL7260_UCODE_API_OK));
MODULE_FIRMWARE(IWL3168_MODULE_FIRMWARE(IWL3168_UCODE_API_OK));
MODULE_FIRMWARE(IWL7265_MODULE_FIRMWARE(IWL7265_UCODE_API_OK));
MODULE_FIRMWARE(IWL7265D_MODULE_FIRMWARE(IWL7265D_UCODE_API_OK));