1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2 /* 3 * Copyright (C) 2015-2017 Intel Deutschland GmbH 4 * Copyright (C) 2018-2021, 2023, 2025 Intel Corporation 5 */ 6 #include "iwl-config.h" 7 8 /* NVM versions */ 9 #define IWL_JF_NVM_VERSION 0x0a1d 10 11 /* Memory offsets and lengths */ 12 #define IWL9000_DCCM_OFFSET 0x800000 13 #define IWL9000_DCCM_LEN 0x18000 14 #define IWL9000_DCCM2_OFFSET 0x880000 15 #define IWL9000_DCCM2_LEN 0x8000 16 17 static const struct iwl_tt_params iwl_jf_tt_params = { 18 .ct_kill_entry = 115, 19 .ct_kill_exit = 93, 20 .ct_kill_duration = 5, 21 .dynamic_smps_entry = 111, 22 .dynamic_smps_exit = 107, 23 .tx_protection_entry = 112, 24 .tx_protection_exit = 105, 25 .tx_backoff = { 26 {.temperature = 110, .backoff = 200}, 27 {.temperature = 111, .backoff = 600}, 28 {.temperature = 112, .backoff = 1200}, 29 {.temperature = 113, .backoff = 2000}, 30 {.temperature = 114, .backoff = 4000}, 31 }, 32 .support_ct_kill = true, 33 .support_dynamic_smps = true, 34 .support_tx_protection = true, 35 .support_tx_backoff = true, 36 }; 37 38 /* these values are ignored if not with Pu/Th MAC firmware, due to offload */ 39 #define IWL_DEVICE_JF_PU \ 40 .dccm_offset = IWL9000_DCCM_OFFSET, \ 41 .dccm_len = IWL9000_DCCM_LEN, \ 42 .dccm2_offset = IWL9000_DCCM2_OFFSET, \ 43 .dccm2_len = IWL9000_DCCM2_LEN, \ 44 .thermal_params = &iwl_jf_tt_params 45 46 #define IWL_DEVICE_JF \ 47 IWL_DEVICE_JF_PU, \ 48 .led_mode = IWL_LED_RF_STATE, \ 49 .non_shared_ant = ANT_B, \ 50 .num_rbds = IWL_NUM_RBDS_NON_HE, \ 51 .vht_mu_mimo_supported = true, \ 52 .ht_params = { \ 53 .stbc = true, \ 54 .ldpc = true, \ 55 .ht40_bands = BIT(NL80211_BAND_2GHZ) | \ 56 BIT(NL80211_BAND_5GHZ), \ 57 }, \ 58 .nvm_ver = IWL_JF_NVM_VERSION, \ 59 .nvm_type = IWL_NVM_EXT 60 61 const struct iwl_rf_cfg iwl_rf_jf = { 62 IWL_DEVICE_JF, 63 }; 64 65 const struct iwl_rf_cfg iwl_rf_jf_80mhz = { 66 IWL_DEVICE_JF, 67 .bw_limit = 80, 68 }; 69 70 const char iwl9260_name[] = "Intel(R) Wireless-AC 9260"; 71 const char iwl9461_name[] = "Intel(R) Wireless-AC 9461"; 72 const char iwl9462_name[] = "Intel(R) Wireless-AC 9462"; 73 const char iwl9560_name[] = "Intel(R) Wireless-AC 9560"; 74 const char iwl9260_160_name[] = "Intel(R) Wireless-AC 9260 160MHz"; 75 const char iwl9461_160_name[] = "Intel(R) Wireless-AC 9461 160MHz"; 76 const char iwl9462_160_name[] = "Intel(R) Wireless-AC 9462 160MHz"; 77 const char iwl9560_160_name[] = "Intel(R) Wireless-AC 9560 160MHz"; 78 79 const char iwl9260_killer_1550_name[] = 80 "Killer(R) Wireless-AC 1550 Wireless Network Adapter (9260NGW) 160MHz"; 81 const char iwl9560_killer_1550i_name[] = 82 "Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW) 160MHz"; 83 const char iwl9560_killer_1550s_name[] = 84 "Killer(R) Wireless-AC 1550s Wireless Network Adapter (9560D2W) 160MHz"; 85