Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src-draft/trunk]: src/sys/external/bsd/iwlwifi Initial commit of iwlwifi fro...



details:   https://anonhg.NetBSD.org/src-all/rev/d2b88df9d117
branches:  trunk
changeset: 377439:d2b88df9d117
user:      Phil Nelson <phil%netbsd.org@localhost>
date:      Thu Jun 29 09:04:04 2023 -0700

description:
Initial commit of iwlwifi from FreeBSD

diffstat:

 sys/external/bsd/iwlwifi/README                       |    11 +
 sys/external/bsd/iwlwifi/dist/cfg/22000.c             |  1009 +++
 sys/external/bsd/iwlwifi/dist/cfg/7000.c              |   298 +
 sys/external/bsd/iwlwifi/dist/cfg/8000.c              |   157 +
 sys/external/bsd/iwlwifi/dist/cfg/9000.c              |   192 +
 sys/external/bsd/iwlwifi/dist/fw/acpi.c               |  1177 +++
 sys/external/bsd/iwlwifi/dist/fw/acpi.h               |   349 +
 sys/external/bsd/iwlwifi/dist/fw/api/alive.h          |   180 +
 sys/external/bsd/iwlwifi/dist/fw/api/binding.h        |   134 +
 sys/external/bsd/iwlwifi/dist/fw/api/cmdhdr.h         |   156 +
 sys/external/bsd/iwlwifi/dist/fw/api/coex.h           |   188 +
 sys/external/bsd/iwlwifi/dist/fw/api/commands.h       |   610 +
 sys/external/bsd/iwlwifi/dist/fw/api/config.h         |   117 +
 sys/external/bsd/iwlwifi/dist/fw/api/context.h        |    38 +
 sys/external/bsd/iwlwifi/dist/fw/api/d3.h             |   771 ++
 sys/external/bsd/iwlwifi/dist/fw/api/datapath.h       |   406 +
 sys/external/bsd/iwlwifi/dist/fw/api/dbg-tlv.h        |   528 +
 sys/external/bsd/iwlwifi/dist/fw/api/debug.h          |   424 +
 sys/external/bsd/iwlwifi/dist/fw/api/filter.h         |    39 +
 sys/external/bsd/iwlwifi/dist/fw/api/led.h            |    17 +
 sys/external/bsd/iwlwifi/dist/fw/api/location.h       |  1694 +++++
 sys/external/bsd/iwlwifi/dist/fw/api/mac-cfg.h        |   185 +
 sys/external/bsd/iwlwifi/dist/fw/api/mac.h            |   768 ++
 sys/external/bsd/iwlwifi/dist/fw/api/nvm-reg.h        |   575 +
 sys/external/bsd/iwlwifi/dist/fw/api/offload.h        |    70 +
 sys/external/bsd/iwlwifi/dist/fw/api/paging.h         |    29 +
 sys/external/bsd/iwlwifi/dist/fw/api/phy-ctxt.h       |   161 +
 sys/external/bsd/iwlwifi/dist/fw/api/phy.h            |   226 +
 sys/external/bsd/iwlwifi/dist/fw/api/power.h          |   670 ++
 sys/external/bsd/iwlwifi/dist/fw/api/rfi.h            |    68 +
 sys/external/bsd/iwlwifi/dist/fw/api/rs.h             |   761 ++
 sys/external/bsd/iwlwifi/dist/fw/api/rx.h             |   864 ++
 sys/external/bsd/iwlwifi/dist/fw/api/scan.h           |  1237 +++
 sys/external/bsd/iwlwifi/dist/fw/api/sf.h             |    82 +
 sys/external/bsd/iwlwifi/dist/fw/api/sta.h            |   494 +
 sys/external/bsd/iwlwifi/dist/fw/api/stats.h          |   961 ++
 sys/external/bsd/iwlwifi/dist/fw/api/system.h         |    43 +
 sys/external/bsd/iwlwifi/dist/fw/api/tdls.h           |   161 +
 sys/external/bsd/iwlwifi/dist/fw/api/time-event.h     |   418 +
 sys/external/bsd/iwlwifi/dist/fw/api/tx.h             |   966 ++
 sys/external/bsd/iwlwifi/dist/fw/api/txq.h            |   117 +
 sys/external/bsd/iwlwifi/dist/fw/dbg.c                |  3172 +++++++++
 sys/external/bsd/iwlwifi/dist/fw/dbg.h                |   334 +
 sys/external/bsd/iwlwifi/dist/fw/debugfs.c            |   409 +
 sys/external/bsd/iwlwifi/dist/fw/debugfs.h            |    17 +
 sys/external/bsd/iwlwifi/dist/fw/dump.c               |   458 +
 sys/external/bsd/iwlwifi/dist/fw/error-dump.h         |   560 +
 sys/external/bsd/iwlwifi/dist/fw/file.h               |   955 ++
 sys/external/bsd/iwlwifi/dist/fw/img.c                |    93 +
 sys/external/bsd/iwlwifi/dist/fw/img.h                |   274 +
 sys/external/bsd/iwlwifi/dist/fw/init.c               |   159 +
 sys/external/bsd/iwlwifi/dist/fw/notif-wait.c         |   135 +
 sys/external/bsd/iwlwifi/dist/fw/notif-wait.h         |    96 +
 sys/external/bsd/iwlwifi/dist/fw/paging.c             |   296 +
 sys/external/bsd/iwlwifi/dist/fw/pnvm.c               |   359 +
 sys/external/bsd/iwlwifi/dist/fw/pnvm.h               |    38 +
 sys/external/bsd/iwlwifi/dist/fw/rs.c                 |   255 +
 sys/external/bsd/iwlwifi/dist/fw/runtime.h            |   206 +
 sys/external/bsd/iwlwifi/dist/fw/smem.c               |   114 +
 sys/external/bsd/iwlwifi/dist/fw/uefi.c               |   356 +
 sys/external/bsd/iwlwifi/dist/fw/uefi.h               |    65 +
 sys/external/bsd/iwlwifi/dist/iwl-agn-hw.h            |    59 +
 sys/external/bsd/iwlwifi/dist/iwl-config.h            |   661 ++
 sys/external/bsd/iwlwifi/dist/iwl-context-info-gen3.h |   269 +
 sys/external/bsd/iwlwifi/dist/iwl-context-info.h      |   184 +
 sys/external/bsd/iwlwifi/dist/iwl-csr.h               |   641 +
 sys/external/bsd/iwlwifi/dist/iwl-dbg-tlv.c           |  1383 ++++
 sys/external/bsd/iwlwifi/dist/iwl-dbg-tlv.h           |    76 +
 sys/external/bsd/iwlwifi/dist/iwl-debug.c             |   169 +
 sys/external/bsd/iwlwifi/dist/iwl-debug.h             |   202 +
 sys/external/bsd/iwlwifi/dist/iwl-devtrace.c          |    82 +
 sys/external/bsd/iwlwifi/dist/iwl-devtrace.h          |    70 +
 sys/external/bsd/iwlwifi/dist/iwl-drv.c               |  2027 ++++++
 sys/external/bsd/iwlwifi/dist/iwl-drv.h               |    95 +
 sys/external/bsd/iwlwifi/dist/iwl-eeprom-parse.c      |   879 ++
 sys/external/bsd/iwlwifi/dist/iwl-eeprom-parse.h      |    88 +
 sys/external/bsd/iwlwifi/dist/iwl-eeprom-read.c       |   397 +
 sys/external/bsd/iwlwifi/dist/iwl-eeprom-read.h       |    12 +
 sys/external/bsd/iwlwifi/dist/iwl-fh.h                |   740 ++
 sys/external/bsd/iwlwifi/dist/iwl-io.c                |   528 +
 sys/external/bsd/iwlwifi/dist/iwl-io.h                |   102 +
 sys/external/bsd/iwlwifi/dist/iwl-modparams.h         |   115 +
 sys/external/bsd/iwlwifi/dist/iwl-nvm-parse.c         |  1826 +++++
 sys/external/bsd/iwlwifi/dist/iwl-nvm-parse.h         |    93 +
 sys/external/bsd/iwlwifi/dist/iwl-op-mode.h           |   215 +
 sys/external/bsd/iwlwifi/dist/iwl-phy-db.c            |   438 +
 sys/external/bsd/iwlwifi/dist/iwl-phy-db.h            |    23 +
 sys/external/bsd/iwlwifi/dist/iwl-prph.h              |   501 +
 sys/external/bsd/iwlwifi/dist/iwl-scd.h               |    84 +
 sys/external/bsd/iwlwifi/dist/iwl-trans.c             |   257 +
 sys/external/bsd/iwlwifi/dist/iwl-trans.h             |  1559 ++++
 sys/external/bsd/iwlwifi/dist/mei/iwl-mei.h           |   138 +
 sys/external/bsd/iwlwifi/dist/mvm/binding.c           |   163 +
 sys/external/bsd/iwlwifi/dist/mvm/coex.c              |   685 ++
 sys/external/bsd/iwlwifi/dist/mvm/constants.h         |   126 +
 sys/external/bsd/iwlwifi/dist/mvm/d3.c                |  2797 ++++++++
 sys/external/bsd/iwlwifi/dist/mvm/debugfs-vif.c       |   785 ++
 sys/external/bsd/iwlwifi/dist/mvm/debugfs.c           |  1953 ++++++
 sys/external/bsd/iwlwifi/dist/mvm/debugfs.h           |    43 +
 sys/external/bsd/iwlwifi/dist/mvm/ftm-initiator.c     |  1371 ++++
 sys/external/bsd/iwlwifi/dist/mvm/ftm-responder.c     |   481 +
 sys/external/bsd/iwlwifi/dist/mvm/fw-api.h            |    41 +
 sys/external/bsd/iwlwifi/dist/mvm/fw.c                |  1743 +++++
 sys/external/bsd/iwlwifi/dist/mvm/led.c               |   119 +
 sys/external/bsd/iwlwifi/dist/mvm/mac-ctxt.c          |  1677 +++++
 sys/external/bsd/iwlwifi/dist/mvm/mac80211.c          |  5522 +++++++++++++++++
 sys/external/bsd/iwlwifi/dist/mvm/mvm.h               |  2235 ++++++
 sys/external/bsd/iwlwifi/dist/mvm/nvm.c               |   598 +
 sys/external/bsd/iwlwifi/dist/mvm/offloading.c        |   206 +
 sys/external/bsd/iwlwifi/dist/mvm/ops.c               |  1993 ++++++
 sys/external/bsd/iwlwifi/dist/mvm/phy-ctxt.c          |   403 +
 sys/external/bsd/iwlwifi/dist/mvm/power.c             |   956 ++
 sys/external/bsd/iwlwifi/dist/mvm/quota.c             |   298 +
 sys/external/bsd/iwlwifi/dist/mvm/rfi.c               |   143 +
 sys/external/bsd/iwlwifi/dist/mvm/rs-fw.c             |   533 +
 sys/external/bsd/iwlwifi/dist/mvm/rs.c                |   105 +
 sys/external/bsd/iwlwifi/dist/mvm/rs.h                |    97 +
 sys/external/bsd/iwlwifi/dist/mvm/rx.c                |  1064 +++
 sys/external/bsd/iwlwifi/dist/mvm/rxmq.c              |  2275 +++++++
 sys/external/bsd/iwlwifi/dist/mvm/scan.c              |  3255 ++++++++++
 sys/external/bsd/iwlwifi/dist/mvm/sf.c                |   279 +
 sys/external/bsd/iwlwifi/dist/mvm/sta.c               |  4177 ++++++++++++
 sys/external/bsd/iwlwifi/dist/mvm/sta.h               |   556 +
 sys/external/bsd/iwlwifi/dist/mvm/tdls.c              |   680 ++
 sys/external/bsd/iwlwifi/dist/mvm/time-event.c        |  1229 +++
 sys/external/bsd/iwlwifi/dist/mvm/time-event.h        |   212 +
 sys/external/bsd/iwlwifi/dist/mvm/tt.c                |   910 ++
 sys/external/bsd/iwlwifi/dist/mvm/tx.c                |  2230 ++++++
 sys/external/bsd/iwlwifi/dist/mvm/utils.c             |  1142 +++
 sys/external/bsd/iwlwifi/dist/pcie/ctxt-info-gen3.c   |   345 +
 sys/external/bsd/iwlwifi/dist/pcie/ctxt-info.c        |   263 +
 sys/external/bsd/iwlwifi/dist/pcie/drv.c              |  1831 +++++
 sys/external/bsd/iwlwifi/dist/pcie/internal.h         |   844 ++
 sys/external/bsd/iwlwifi/dist/pcie/rx.c               |  2382 +++++++
 sys/external/bsd/iwlwifi/dist/pcie/trans-gen2.c       |   466 +
 sys/external/bsd/iwlwifi/dist/pcie/trans.c            |  3779 +++++++++++
 sys/external/bsd/iwlwifi/dist/pcie/tx-gen2.c          |   261 +
 sys/external/bsd/iwlwifi/dist/pcie/tx.c               |  1639 +++++
 sys/external/bsd/iwlwifi/dist/queue/tx.c              |  1889 +++++
 sys/external/bsd/iwlwifi/dist/queue/tx.h              |   183 +
 140 files changed, 96579 insertions(+), 0 deletions(-)

diffs (truncated from 97139 to 300 lines):

diff -r f038e90d44c4 -r d2b88df9d117 sys/external/bsd/iwlwifi/README
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/iwlwifi/README   Thu Jun 29 09:04:04 2023 -0700
@@ -0,0 +1,11 @@
+This is the iwlwifi driver, taken from FreeBSD which was
+taken from Linux.   We did not start from the Linux driver
+due to the number of GPL-2.0 only files that were already
+replaced by FreeBSD.  This should reduce the work needed
+to get this working in NetBSD.  6/29/2023
+
+Initial source copy from FreeBSD development tree:  6/29/2023
+
+SHA1 ID of git commit: 319d2bf407b3762da6f1c67ffe8dce2fee587aaf
+
+
diff -r f038e90d44c4 -r d2b88df9d117 sys/external/bsd/iwlwifi/dist/cfg/22000.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/iwlwifi/dist/cfg/22000.c Thu Jun 29 09:04:04 2023 -0700
@@ -0,0 +1,1009 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2015-2017 Intel Deutschland GmbH
+ * Copyright (C) 2018-2022 Intel Corporation
+ */
+#include <linux/module.h>
+#include <linux/stringify.h>
+#include "iwl-config.h"
+#include "iwl-prph.h"
+#include "fw/api/txq.h"
+
+/* Highest firmware API version supported */
+#define IWL_22000_UCODE_API_MAX        73
+
+/* Lowest firmware API version supported */
+#define IWL_22000_UCODE_API_MIN        39
+
+/* NVM versions */
+#define IWL_22000_NVM_VERSION          0x0a1d
+
+/* Memory offsets and lengths */
+#define IWL_22000_DCCM_OFFSET          0x800000 /* LMAC1 */
+#define IWL_22000_DCCM_LEN             0x10000 /* LMAC1 */
+#define IWL_22000_DCCM2_OFFSET         0x880000
+#define IWL_22000_DCCM2_LEN            0x8000
+#define IWL_22000_SMEM_OFFSET          0x400000
+#define IWL_22000_SMEM_LEN             0xD0000
+
+#define IWL_QU_B_HR_B_FW_PRE           "iwlwifi-Qu-b0-hr-b0-"
+#define IWL_QNJ_B_HR_B_FW_PRE          "iwlwifi-QuQnj-b0-hr-b0-"
+#define IWL_QU_C_HR_B_FW_PRE           "iwlwifi-Qu-c0-hr-b0-"
+#define IWL_QU_B_JF_B_FW_PRE           "iwlwifi-Qu-b0-jf-b0-"
+#define IWL_QU_C_JF_B_FW_PRE           "iwlwifi-Qu-c0-jf-b0-"
+#define IWL_QUZ_A_HR_B_FW_PRE          "iwlwifi-QuZ-a0-hr-b0-"
+#define IWL_QUZ_A_JF_B_FW_PRE          "iwlwifi-QuZ-a0-jf-b0-"
+#define IWL_QNJ_B_JF_B_FW_PRE          "iwlwifi-QuQnj-b0-jf-b0-"
+#define IWL_CC_A_FW_PRE                        "iwlwifi-cc-a0-"
+#define IWL_SO_A_JF_B_FW_PRE           "iwlwifi-so-a0-jf-b0-"
+#define IWL_SO_A_HR_B_FW_PRE           "iwlwifi-so-a0-hr-b0-"
+#define IWL_SO_A_GF_A_FW_PRE           "iwlwifi-so-a0-gf-a0-"
+#define IWL_TY_A_GF_A_FW_PRE           "iwlwifi-ty-a0-gf-a0-"
+#define IWL_SO_A_GF4_A_FW_PRE          "iwlwifi-so-a0-gf4-a0-"
+#define IWL_SO_A_MR_A_FW_PRE           "iwlwifi-so-a0-mr-a0-"
+#define IWL_SNJ_A_GF4_A_FW_PRE         "iwlwifi-SoSnj-a0-gf4-a0-"
+#define IWL_SNJ_A_GF_A_FW_PRE          "iwlwifi-SoSnj-a0-gf-a0-"
+#define IWL_SNJ_A_HR_B_FW_PRE          "iwlwifi-SoSnj-a0-hr-b0-"
+#define IWL_SNJ_A_JF_B_FW_PRE          "iwlwifi-SoSnj-a0-jf-b0-"
+#define IWL_MA_A_HR_B_FW_PRE           "iwlwifi-ma-a0-hr-b0-"
+#define IWL_MA_A_GF_A_FW_PRE           "iwlwifi-ma-a0-gf-a0-"
+#define IWL_MA_A_GF4_A_FW_PRE          "iwlwifi-ma-a0-gf4-a0-"
+#define IWL_MA_A_MR_A_FW_PRE           "iwlwifi-ma-a0-mr-a0-"
+#define IWL_MA_A_FM_A_FW_PRE           "iwlwifi-ma-a0-fm-a0-"
+#define IWL_SNJ_A_MR_A_FW_PRE          "iwlwifi-SoSnj-a0-mr-a0-"
+#define IWL_BZ_A_HR_B_FW_PRE           "iwlwifi-bz-a0-hr-b0-"
+#define IWL_BZ_A_GF_A_FW_PRE           "iwlwifi-bz-a0-gf-a0-"
+#define IWL_BZ_A_GF4_A_FW_PRE          "iwlwifi-bz-a0-gf4-a0-"
+#define IWL_BZ_A_MR_A_FW_PRE           "iwlwifi-bz-a0-mr-a0-"
+#define IWL_BZ_A_FM_A_FW_PRE           "iwlwifi-bz-a0-fm-a0-"
+#define IWL_GL_A_FM_A_FW_PRE           "iwlwifi-gl-a0-fm-a0-"
+#define IWL_BZ_Z_GF_A_FW_PRE           "iwlwifi-bz-z0-gf-a0-"
+#define IWL_BNJ_A_FM_A_FW_PRE          "iwlwifi-BzBnj-a0-fm-a0-"
+#define IWL_BNJ_A_FM4_A_FW_PRE         "iwlwifi-BzBnj-a0-fm4-a0-"
+#define IWL_BNJ_A_GF_A_FW_PRE          "iwlwifi-BzBnj-a0-gf-a0-"
+#define IWL_BNJ_A_GF4_A_FW_PRE         "iwlwifi-BzBnj-a0-gf4-a0-"
+#define IWL_BNJ_A_HR_B_FW_PRE          "iwlwifi-BzBnj-a0-hr-b0-"
+
+
+#define IWL_QU_B_HR_B_MODULE_FIRMWARE(api) \
+       IWL_QU_B_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QNJ_B_HR_B_MODULE_FIRMWARE(api)    \
+       IWL_QNJ_B_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QUZ_A_HR_B_MODULE_FIRMWARE(api) \
+       IWL_QUZ_A_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QUZ_A_JF_B_MODULE_FIRMWARE(api) \
+       IWL_QUZ_A_JF_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QU_C_HR_B_MODULE_FIRMWARE(api) \
+       IWL_QU_C_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QU_B_JF_B_MODULE_FIRMWARE(api) \
+       IWL_QU_B_JF_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_QNJ_B_JF_B_MODULE_FIRMWARE(api)            \
+       IWL_QNJ_B_JF_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_CC_A_MODULE_FIRMWARE(api)                  \
+       IWL_CC_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_SO_A_JF_B_MODULE_FIRMWARE(api) \
+       IWL_SO_A_JF_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_SO_A_HR_B_MODULE_FIRMWARE(api) \
+       IWL_SO_A_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_SO_A_GF_A_MODULE_FIRMWARE(api) \
+       IWL_SO_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_TY_A_GF_A_MODULE_FIRMWARE(api) \
+       IWL_TY_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_SNJ_A_GF4_A_MODULE_FIRMWARE(api) \
+       IWL_SNJ_A_GF4_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_SNJ_A_GF_A_MODULE_FIRMWARE(api) \
+       IWL_SNJ_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_SNJ_A_HR_B_MODULE_FIRMWARE(api) \
+       IWL_SNJ_A_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_SNJ_A_JF_B_MODULE_FIRMWARE(api) \
+       IWL_SNJ_A_JF_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_MA_A_HR_B_FW_MODULE_FIRMWARE(api)          \
+       IWL_MA_A_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_MA_A_GF_A_FW_MODULE_FIRMWARE(api)          \
+       IWL_MA_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_MA_A_GF4_A_FW_MODULE_FIRMWARE(api)         \
+       IWL_MA_A_GF4_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_MA_A_MR_A_FW_MODULE_FIRMWARE(api) \
+       IWL_MA_A_MR_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_MA_A_FM_A_FW_MODULE_FIRMWARE(api)          \
+       IWL_MA_A_FM_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_SNJ_A_MR_A_MODULE_FIRMWARE(api) \
+       IWL_SNJ_A_MR_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BZ_A_HR_B_MODULE_FIRMWARE(api) \
+       IWL_BZ_A_HR_B_FW_PRE __stringify(api) ".ucode"
+#define IWL_BZ_A_GF_A_MODULE_FIRMWARE(api) \
+       IWL_BZ_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BZ_A_GF4_A_MODULE_FIRMWARE(api) \
+       IWL_BZ_A_GF4_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BZ_A_MR_A_MODULE_FIRMWARE(api) \
+       IWL_BZ_A_MR_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BZ_A_FM_A_MODULE_FIRMWARE(api) \
+               IWL_BZ_A_FM_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_GL_A_FM_A_MODULE_FIRMWARE(api) \
+               IWL_GL_A_FM_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BNJ_A_FM_A_MODULE_FIRMWARE(api) \
+       IWL_BNJ_A_FM_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BNJ_A_FM4_A_MODULE_FIRMWARE(api) \
+       IWL_BNJ_A_FM4_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BNJ_A_GF_A_MODULE_FIRMWARE(api) \
+       IWL_BNJ_A_GF_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BNJ_A_GF4_A_MODULE_FIRMWARE(api) \
+       IWL_BNJ_A_GF4_A_FW_PRE __stringify(api) ".ucode"
+#define IWL_BNJ_A_HR_B_MODULE_FIRMWARE(api) \
+       IWL_BNJ_A_HR_B_FW_PRE __stringify(api) ".ucode"
+
+static const struct iwl_base_params iwl_22000_base_params = {
+       .eeprom_size = OTP_LOW_IMAGE_SIZE_32K,
+       .num_of_queues = 512,
+       .max_tfd_queue_size = 256,
+       .shadow_ram_support = true,
+       .led_compensation = 57,
+       .wd_timeout = IWL_LONG_WD_TIMEOUT,
+       .max_event_log_size = 512,
+       .shadow_reg_enable = true,
+       .pcie_l1_allowed = true,
+};
+
+static const struct iwl_base_params iwl_ax210_base_params = {
+       .eeprom_size = OTP_LOW_IMAGE_SIZE_32K,
+       .num_of_queues = 512,
+       .max_tfd_queue_size = 65536,
+       .shadow_ram_support = true,
+       .led_compensation = 57,
+       .wd_timeout = IWL_LONG_WD_TIMEOUT,
+       .max_event_log_size = 512,
+       .shadow_reg_enable = true,
+       .pcie_l1_allowed = true,
+};
+
+static const struct iwl_ht_params iwl_22000_ht_params = {
+       .stbc = true,
+       .ldpc = true,
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ) |
+                     BIT(NL80211_BAND_6GHZ),
+};
+
+#define IWL_DEVICE_22000_COMMON                                                \
+       .ucode_api_max = IWL_22000_UCODE_API_MAX,                       \
+       .ucode_api_min = IWL_22000_UCODE_API_MIN,                       \
+       .led_mode = IWL_LED_RF_STATE,                                   \
+       .nvm_hw_section_num = 10,                                       \
+       .non_shared_ant = ANT_B,                                        \
+       .dccm_offset = IWL_22000_DCCM_OFFSET,                           \
+       .dccm_len = IWL_22000_DCCM_LEN,                                 \
+       .dccm2_offset = IWL_22000_DCCM2_OFFSET,                         \
+       .dccm2_len = IWL_22000_DCCM2_LEN,                               \
+       .smem_offset = IWL_22000_SMEM_OFFSET,                           \
+       .smem_len = IWL_22000_SMEM_LEN,                                 \
+       .features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM,           \
+       .apmg_not_supported = true,                                     \
+       .trans.mq_rx_supported = true,                                  \
+       .vht_mu_mimo_supported = true,                                  \
+       .mac_addr_from_csr = 0x380,                                     \
+       .ht_params = &iwl_22000_ht_params,                              \
+       .nvm_ver = IWL_22000_NVM_VERSION,                               \
+       .trans.use_tfh = true,                                          \
+       .trans.rf_id = true,                                            \
+       .trans.gen2 = true,                                             \
+       .nvm_type = IWL_NVM_EXT,                                        \
+       .dbgc_supported = true,                                         \
+       .min_umac_error_event_table = 0x400000,                         \
+       .d3_debug_data_base_addr = 0x401000,                            \
+       .d3_debug_data_length = 60 * 1024,                              \
+       .mon_smem_regs = {                                              \
+               .write_ptr = {                                          \
+                       .addr = LDBG_M2S_BUF_WPTR,                      \
+                       .mask = LDBG_M2S_BUF_WPTR_VAL_MSK,              \
+       },                                                              \
+               .cycle_cnt = {                                          \
+                       .addr = LDBG_M2S_BUF_WRAP_CNT,                  \
+                       .mask = LDBG_M2S_BUF_WRAP_CNT_VAL_MSK,          \
+               },                                                      \
+       }
+
+#define IWL_DEVICE_22500                                               \
+       IWL_DEVICE_22000_COMMON,                                        \
+       .trans.device_family = IWL_DEVICE_FAMILY_22000,                 \
+       .trans.base_params = &iwl_22000_base_params,                    \
+       .gp2_reg_addr = 0xa02c68,                                       \
+       .mon_dram_regs = {                                              \
+               .write_ptr = {                                          \
+                       .addr = MON_BUFF_WRPTR_VER2,                    \
+                       .mask = 0xffffffff,                             \
+               },                                                      \
+               .cycle_cnt = {                                          \
+                       .addr = MON_BUFF_CYCLE_CNT_VER2,                \
+                       .mask = 0xffffffff,                             \
+               },                                                      \
+       }
+
+#define IWL_DEVICE_AX210                                               \
+       IWL_DEVICE_22000_COMMON,                                        \
+       .trans.umac_prph_offset = 0x300000,                             \
+       .trans.device_family = IWL_DEVICE_FAMILY_AX210,                 \
+       .trans.base_params = &iwl_ax210_base_params,                    \
+       .min_txq_size = 128,                                            \
+       .gp2_reg_addr = 0xd02c68,                                       \
+       .min_ba_txq_size = IWL_DEFAULT_QUEUE_SIZE_HE,           \
+       .mon_dram_regs = {                                              \
+               .write_ptr = {                                          \
+                       .addr = DBGC_CUR_DBGBUF_STATUS,                 \
+                       .mask = DBGC_CUR_DBGBUF_STATUS_OFFSET_MSK,      \
+               },                                                      \
+               .cycle_cnt = {                                          \
+                       .addr = DBGC_DBGBUF_WRAP_AROUND,                \
+                       .mask = 0xffffffff,                             \
+               },                                                      \
+               .cur_frag = {                                           \
+                       .addr = DBGC_CUR_DBGBUF_STATUS,                 \
+                       .mask = DBGC_CUR_DBGBUF_STATUS_IDX_MSK,         \
+               },                                                      \
+       }
+
+#define IWL_DEVICE_BZ_COMMON                                           \
+       .ucode_api_max = IWL_22000_UCODE_API_MAX,                       \
+       .ucode_api_min = IWL_22000_UCODE_API_MIN,                       \
+       .led_mode = IWL_LED_RF_STATE,                                   \
+       .nvm_hw_section_num = 10,                                       \
+       .non_shared_ant = ANT_B,                                        \
+       .dccm_offset = IWL_22000_DCCM_OFFSET,                           \
+       .dccm_len = IWL_22000_DCCM_LEN,                                 \
+       .dccm2_offset = IWL_22000_DCCM2_OFFSET,                         \
+       .dccm2_len = IWL_22000_DCCM2_LEN,                               \
+       .smem_offset = IWL_22000_SMEM_OFFSET,                           \
+       .smem_len = IWL_22000_SMEM_LEN,                                 \
+       .features = IWL_TX_CSUM_NETIF_FLAGS_BZ | NETIF_F_RXCSUM,        \
+       .apmg_not_supported = true,                                     \
+       .trans.mq_rx_supported = true,                                  \
+       .vht_mu_mimo_supported = true,                                  \
+       .mac_addr_from_csr = 0x30,                                      \
+       .ht_params = &iwl_22000_ht_params,                              \
+       .nvm_ver = IWL_22000_NVM_VERSION,                               \
+       .trans.use_tfh = true,                                          \
+       .trans.rf_id = true,                                            \
+       .trans.gen2 = true,                                             \
+       .nvm_type = IWL_NVM_EXT,                                        \
+       .dbgc_supported = true,                                         \
+       .min_umac_error_event_table = 0x400000,                         \
+       .d3_debug_data_base_addr = 0x401000,                            \
+       .d3_debug_data_length = 60 * 1024,                              \
+       .mon_smem_regs = {                                              \
+               .write_ptr = {                                          \
+                       .addr = LDBG_M2S_BUF_WPTR,                      \
+                       .mask = LDBG_M2S_BUF_WPTR_VAL_MSK,              \
+       },                                                              \
+               .cycle_cnt = {                                          \
+                       .addr = LDBG_M2S_BUF_WRAP_CNT,                  \
+                       .mask = LDBG_M2S_BUF_WRAP_CNT_VAL_MSK,          \
+               },                                                      \
+       }
+
+#define IWL_DEVICE_BZ                                                  \



Home | Main Index | Thread Index | Old Index