171d10453SEric Joyner /* SPDX-License-Identifier: BSD-3-Clause */ 2015f8cc5SEric Joyner /* Copyright (c) 2024, Intel Corporation 371d10453SEric Joyner * All rights reserved. 471d10453SEric Joyner * 571d10453SEric Joyner * Redistribution and use in source and binary forms, with or without 671d10453SEric Joyner * modification, are permitted provided that the following conditions are met: 771d10453SEric Joyner * 871d10453SEric Joyner * 1. Redistributions of source code must retain the above copyright notice, 971d10453SEric Joyner * this list of conditions and the following disclaimer. 1071d10453SEric Joyner * 1171d10453SEric Joyner * 2. Redistributions in binary form must reproduce the above copyright 1271d10453SEric Joyner * notice, this list of conditions and the following disclaimer in the 1371d10453SEric Joyner * documentation and/or other materials provided with the distribution. 1471d10453SEric Joyner * 1571d10453SEric Joyner * 3. Neither the name of the Intel Corporation nor the names of its 1671d10453SEric Joyner * contributors may be used to endorse or promote products derived from 1771d10453SEric Joyner * this software without specific prior written permission. 1871d10453SEric Joyner * 1971d10453SEric Joyner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2071d10453SEric Joyner * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2171d10453SEric Joyner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2271d10453SEric Joyner * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2371d10453SEric Joyner * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2471d10453SEric Joyner * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2571d10453SEric Joyner * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2671d10453SEric Joyner * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2771d10453SEric Joyner * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2871d10453SEric Joyner * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2971d10453SEric Joyner * POSSIBILITY OF SUCH DAMAGE. 3071d10453SEric Joyner */ 3171d10453SEric Joyner 3271d10453SEric Joyner /** 3371d10453SEric Joyner * @file ice_drv_info.h 3471d10453SEric Joyner * @brief device IDs and driver version 3571d10453SEric Joyner * 3671d10453SEric Joyner * Contains the device IDs tables and the driver version string. 3771d10453SEric Joyner * 3871d10453SEric Joyner * This file contains static or constant definitions intended to be included 3971d10453SEric Joyner * exactly once in the main driver interface file. It implicitly depends on 4071d10453SEric Joyner * the main driver header file. 4171d10453SEric Joyner * 4271d10453SEric Joyner * These definitions could be placed directly in the interface file, but are 4371d10453SEric Joyner * kept separate for organizational purposes. 4471d10453SEric Joyner */ 4571d10453SEric Joyner 4671d10453SEric Joyner /** 4771d10453SEric Joyner * @var ice_driver_version 4871d10453SEric Joyner * @brief driver version string 4971d10453SEric Joyner * 5071d10453SEric Joyner * Driver version information, used for display as part of an informational 5171d10453SEric Joyner * sysctl, and as part of the driver information sent to the firmware at load. 5271d10453SEric Joyner * 5371d10453SEric Joyner * @var ice_major_version 5471d10453SEric Joyner * @brief driver major version number 5571d10453SEric Joyner * 5671d10453SEric Joyner * @var ice_minor_version 5771d10453SEric Joyner * @brief driver minor version number 5871d10453SEric Joyner * 5971d10453SEric Joyner * @var ice_patch_version 6071d10453SEric Joyner * @brief driver patch version number 6171d10453SEric Joyner * 6271d10453SEric Joyner * @var ice_rc_version 6371d10453SEric Joyner * @brief driver release candidate version number 6471d10453SEric Joyner */ 65*f377a0c7SEric Joyner const char ice_driver_version[] = "1.43.2-k"; 6656429daeSEric Joyner const uint8_t ice_major_version = 1; 67*f377a0c7SEric Joyner const uint8_t ice_minor_version = 43; 68*f377a0c7SEric Joyner const uint8_t ice_patch_version = 2; 6971d10453SEric Joyner const uint8_t ice_rc_version = 0; 7071d10453SEric Joyner 7171d10453SEric Joyner #define PVIDV(vendor, devid, name) \ 72*f377a0c7SEric Joyner PVID(vendor, devid, name " - 1.43.2-k") 7371d10453SEric Joyner #define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \ 74*f377a0c7SEric Joyner PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.43.2-k") 7571d10453SEric Joyner 7671d10453SEric Joyner /** 7771d10453SEric Joyner * @var ice_vendor_info_array 7871d10453SEric Joyner * @brief array of PCI devices supported by this driver 7971d10453SEric Joyner * 8071d10453SEric Joyner * Array of PCI devices which are supported by this driver. Used to determine 8171d10453SEric Joyner * whether a given device should be loaded by this driver. This information is 8271d10453SEric Joyner * also exported as part of the module information for other tools to analyze. 8371d10453SEric Joyner * 8471d10453SEric Joyner * @remark Each type of device ID needs to be listed from most-specific entry 8571d10453SEric Joyner * to most-generic entry; e.g. PVIDV_OEM()s for a device ID must come before 8671d10453SEric Joyner * the PVIDV() for it. 8771d10453SEric Joyner */ 8851e23514SMarius Strobl static const pci_vendor_info_t ice_vendor_info_array[] = { 8971d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_BACKPLANE, 9071d10453SEric Joyner "Intel(R) Ethernet Controller E810-C for backplane"), 9171d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 9271d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0001, 0, 9371d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q1"), 9471d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 9571d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0002, 0, 9671d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q2"), 9771d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 9871d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0003, 0, 9971d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q1"), 10071d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 10171d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0004, 0, 10271d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q2"), 10371d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 10471d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0005, 0, 10571d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q1 for OCP3.0"), 10671d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 10771d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0006, 0, 10871d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q2 for OCP3.0"), 10971d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 11071d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0007, 0, 11171d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q1 for OCP3.0"), 11271d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 11371d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0008, 0, 11471d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-C-Q2 for OCP3.0"), 115d08b8680SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 116d08b8680SEric Joyner ICE_INTEL_VENDOR_ID, 0x000D, 0, 117d08b8680SEric Joyner "Intel(R) Ethernet Network Adapter E810-L-Q2 for OCP3.0"), 1189cf1841cSEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 1199cf1841cSEric Joyner ICE_INTEL_VENDOR_ID, 0x000E, 0, 1209cf1841cSEric Joyner "Intel(R) Ethernet Network Adapter E810-2C-Q2"), 12171d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP, 12271d10453SEric Joyner "Intel(R) Ethernet Controller E810-C for QSFP"), 12371d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP, 12471d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0005, 0, 12571d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-4"), 12671d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP, 12771d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0006, 0, 12871d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-4"), 12971d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP, 13071d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0007, 0, 13171d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-4"), 13271d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP, 1339cf1841cSEric Joyner ICE_INTEL_VENDOR_ID, 0x000C, 0, 1349cf1841cSEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-4 for OCP 3.0"), 13571d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP, 13671d10453SEric Joyner "Intel(R) Ethernet Controller E810-C for SFP"), 13771d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_BACKPLANE, 13871d10453SEric Joyner "Intel(R) Ethernet Connection E822-C for backplane"), 13971d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_QSFP, 14071d10453SEric Joyner "Intel(R) Ethernet Connection E822-C for QSFP"), 14171d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_SFP, 14271d10453SEric Joyner "Intel(R) Ethernet Connection E822-C for SFP"), 14371d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_10G_BASE_T, 14471d10453SEric Joyner "Intel(R) Ethernet Connection E822-C/X557-AT 10GBASE-T"), 14571d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_SGMII, 14671d10453SEric Joyner "Intel(R) Ethernet Connection E822-C 1GbE"), 14771d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_BACKPLANE, 14871d10453SEric Joyner "Intel(R) Ethernet Connection E822-L for backplane"), 14971d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_SFP, 15071d10453SEric Joyner "Intel(R) Ethernet Connection E822-L for SFP"), 15171d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_10G_BASE_T, 15271d10453SEric Joyner "Intel(R) Ethernet Connection E822-L/X557-AT 10GBASE-T"), 15371d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_SGMII, 15471d10453SEric Joyner "Intel(R) Ethernet Connection E822-L 1GbE"), 15571d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_BACKPLANE, 15671d10453SEric Joyner "Intel(R) Ethernet Connection E823-L for backplane"), 15771d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_SFP, 15871d10453SEric Joyner "Intel(R) Ethernet Connection E823-L for SFP"), 15971d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_QSFP, 16071d10453SEric Joyner "Intel(R) Ethernet Connection E823-L for QSFP"), 16171d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_10G_BASE_T, 16271d10453SEric Joyner "Intel(R) Ethernet Connection E823-L/X557-AT 10GBASE-T"), 16371d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_1GBE, 16471d10453SEric Joyner "Intel(R) Ethernet Connection E823-L 1GbE"), 16556429daeSEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_BACKPLANE, 16656429daeSEric Joyner "Intel(R) Ethernet Connection E823-C for backplane"), 16756429daeSEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_QSFP, 16856429daeSEric Joyner "Intel(R) Ethernet Connection E823-C for QSFP"), 16956429daeSEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_SFP, 17056429daeSEric Joyner "Intel(R) Ethernet Connection E823-C for SFP"), 17156429daeSEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_10G_BASE_T, 17256429daeSEric Joyner "Intel(R) Ethernet Connection E823-C/X557-AT 10GBASE-T"), 17356429daeSEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_SGMII, 17456429daeSEric Joyner "Intel(R) Ethernet Connection E823-C 1GbE"), 17571d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_BACKPLANE, 17671d10453SEric Joyner "Intel(R) Ethernet Controller E810-XXV for backplane"), 17771d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_QSFP, 17871d10453SEric Joyner "Intel(R) Ethernet Controller E810-XXV for QSFP"), 17971d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP, 18071d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0003, 0, 18171d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-2"), 18271d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP, 18371d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0004, 0, 18471d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-2"), 18571d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP, 18671d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0005, 0, 18771d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-2 for OCP 3.0"), 18871d10453SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP, 18971d10453SEric Joyner ICE_INTEL_VENDOR_ID, 0x0006, 0, 19071d10453SEric Joyner "Intel(R) Ethernet Network Adapter E810-XXV-2 for OCP 3.0"), 19171d10453SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP, 19271d10453SEric Joyner "Intel(R) Ethernet Controller E810-XXV for SFP"), 193f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_BACKPLANE, 194f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-CC for backplane"), 195f2635e84SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_QSFP56, 196f2635e84SEric Joyner ICE_INTEL_VENDOR_ID, 0x0002, 0, 197f2635e84SEric Joyner "Intel(R) Ethernet Network Adapter E830-C-Q2 for OCP 3.0"), 198f2635e84SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_QSFP56, 199f2635e84SEric Joyner ICE_INTEL_VENDOR_ID, 0x0004, 0, 200f2635e84SEric Joyner "Intel(R) Ethernet Network Adapter E830-CC-Q1 for OCP 3.0"), 201f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_QSFP56, 202f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-CC for QSFP56"), 203f2635e84SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, 204f2635e84SEric Joyner ICE_INTEL_VENDOR_ID, 0x0001, 0, 205f2635e84SEric Joyner "Intel(R) Ethernet Network Adapter E830-XXV-2 for OCP 3.0"), 206f2635e84SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, 207f2635e84SEric Joyner ICE_INTEL_VENDOR_ID, 0x0003, 0, 208f2635e84SEric Joyner "Intel(R) Ethernet Network Adapter E830-XXV-2"), 209f2635e84SEric Joyner PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, 210f2635e84SEric Joyner ICE_INTEL_VENDOR_ID, 0x0004, 0, 211f2635e84SEric Joyner "Intel(R) Ethernet Network Adapter E830-XXV-4 for OCP 3.0"), 212f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, 213f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-CC for SFP"), 214f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_BACKPLANE, 215f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-C for backplane"), 216f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_QSFP, 217f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-C for QSFP"), 218f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_SFP, 219f2635e84SEric Joyner "Intel(R) Ethernet Connection E830-C for SFP"), 220440addc6SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_BACKPLANE, 221440addc6SEric Joyner "Intel(R) Ethernet Connection E830-L for backplane"), 222440addc6SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_QSFP, 223440addc6SEric Joyner "Intel(R) Ethernet Connection E830-L for QSFP"), 224440addc6SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_SFP, 225440addc6SEric Joyner "Intel(R) Ethernet Connection E830-L for SFP"), 226f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_BACKPLANE, 227f2635e84SEric Joyner "Intel(R) Ethernet Connection E825-C for backplane"), 228f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_QSFP, 229f2635e84SEric Joyner "Intel(R) Ethernet Connection E825-C for QSFP"), 230f2635e84SEric Joyner PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_SFP, 231f2635e84SEric Joyner "Intel(R) Ethernet Connection E825-C for SFP"), 23271d10453SEric Joyner PVID_END 23371d10453SEric Joyner }; 23471d10453SEric Joyner 235