1/* SPDX-License-Identifier: BSD-3-Clause */
2/*  Copyright (c) 2024, Intel Corporation
3 *  All rights reserved.
4 *
5 *  Redistribution and use in source and binary forms, with or without
6 *  modification, are permitted provided that the following conditions are met:
7 *
8 *   1. Redistributions of source code must retain the above copyright notice,
9 *      this list of conditions and the following disclaimer.
10 *
11 *   2. Redistributions in binary form must reproduce the above copyright
12 *      notice, this list of conditions and the following disclaimer in the
13 *      documentation and/or other materials provided with the distribution.
14 *
15 *   3. Neither the name of the Intel Corporation nor the names of its
16 *      contributors may be used to endorse or promote products derived from
17 *      this software without specific prior written permission.
18 *
19 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 *  POSSIBILITY OF SUCH DAMAGE.
30 */
31
32/**
33 * @file ice_drv_info.h
34 * @brief device IDs and driver version
35 *
36 * Contains the device IDs tables and the driver version string.
37 *
38 * This file contains static or constant definitions intended to be included
39 * exactly once in the main driver interface file. It implicitly depends on
40 * the main driver header file.
41 *
42 * These definitions could be placed directly in the interface file, but are
43 * kept separate for organizational purposes.
44 */
45
46/**
47 * @var ice_driver_version
48 * @brief driver version string
49 *
50 * Driver version information, used for display as part of an informational
51 * sysctl, and as part of the driver information sent to the firmware at load.
52 *
53 * @var ice_major_version
54 * @brief driver major version number
55 *
56 * @var ice_minor_version
57 * @brief driver minor version number
58 *
59 * @var ice_patch_version
60 * @brief driver patch version number
61 *
62 * @var ice_rc_version
63 * @brief driver release candidate version number
64 */
65const char ice_driver_version[] = "1.39.13-k";
66const uint8_t ice_major_version = 1;
67const uint8_t ice_minor_version = 39;
68const uint8_t ice_patch_version = 13;
69const uint8_t ice_rc_version = 0;
70
71#define PVIDV(vendor, devid, name) \
72	PVID(vendor, devid, name " - 1.39.13-k")
73#define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \
74	PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.39.13-k")
75
76/**
77 * @var ice_vendor_info_array
78 * @brief array of PCI devices supported by this driver
79 *
80 * Array of PCI devices which are supported by this driver. Used to determine
81 * whether a given device should be loaded by this driver. This information is
82 * also exported as part of the module information for other tools to analyze.
83 *
84 * @remark Each type of device ID needs to be listed from most-specific entry
85 * to most-generic entry; e.g. PVIDV_OEM()s for a device ID must come before
86 * the PVIDV() for it.
87 */
88static const pci_vendor_info_t ice_vendor_info_array[] = {
89	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_BACKPLANE,
90		"Intel(R) Ethernet Controller E810-C for backplane"),
91	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
92		ICE_INTEL_VENDOR_ID, 0x0001, 0,
93		"Intel(R) Ethernet Network Adapter E810-C-Q1"),
94	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
95		ICE_INTEL_VENDOR_ID, 0x0002, 0,
96		"Intel(R) Ethernet Network Adapter E810-C-Q2"),
97	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
98		ICE_INTEL_VENDOR_ID, 0x0003, 0,
99		"Intel(R) Ethernet Network Adapter E810-C-Q1"),
100	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
101		ICE_INTEL_VENDOR_ID, 0x0004, 0,
102		"Intel(R) Ethernet Network Adapter E810-C-Q2"),
103	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
104		ICE_INTEL_VENDOR_ID, 0x0005, 0,
105		"Intel(R) Ethernet Network Adapter E810-C-Q1 for OCP3.0"),
106	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
107		ICE_INTEL_VENDOR_ID, 0x0006, 0,
108		"Intel(R) Ethernet Network Adapter E810-C-Q2 for OCP3.0"),
109	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
110		ICE_INTEL_VENDOR_ID, 0x0007, 0,
111		"Intel(R) Ethernet Network Adapter E810-C-Q1 for OCP3.0"),
112	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
113		ICE_INTEL_VENDOR_ID, 0x0008, 0,
114		"Intel(R) Ethernet Network Adapter E810-C-Q2 for OCP3.0"),
115	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
116		ICE_INTEL_VENDOR_ID, 0x000D, 0,
117		"Intel(R) Ethernet Network Adapter E810-L-Q2 for OCP3.0"),
118	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
119		ICE_INTEL_VENDOR_ID, 0x000E, 0,
120		"Intel(R) Ethernet Network Adapter E810-2C-Q2"),
121	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_QSFP,
122		"Intel(R) Ethernet Controller E810-C for QSFP"),
123	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP,
124		ICE_INTEL_VENDOR_ID, 0x0005, 0,
125		"Intel(R) Ethernet Network Adapter E810-XXV-4"),
126	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP,
127		ICE_INTEL_VENDOR_ID, 0x0006, 0,
128		"Intel(R) Ethernet Network Adapter E810-XXV-4"),
129	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP,
130		ICE_INTEL_VENDOR_ID, 0x0007, 0,
131		"Intel(R) Ethernet Network Adapter E810-XXV-4"),
132	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP,
133		ICE_INTEL_VENDOR_ID, 0x000C, 0,
134		"Intel(R) Ethernet Network Adapter E810-XXV-4 for OCP 3.0"),
135	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810C_SFP,
136		"Intel(R) Ethernet Controller E810-C for SFP"),
137	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_BACKPLANE,
138	      "Intel(R) Ethernet Connection E822-C for backplane"),
139	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_QSFP,
140	      "Intel(R) Ethernet Connection E822-C for QSFP"),
141	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_SFP,
142	      "Intel(R) Ethernet Connection E822-C for SFP"),
143	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_10G_BASE_T,
144	      "Intel(R) Ethernet Connection E822-C/X557-AT 10GBASE-T"),
145	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822C_SGMII,
146	      "Intel(R) Ethernet Connection E822-C 1GbE"),
147	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_BACKPLANE,
148	      "Intel(R) Ethernet Connection E822-L for backplane"),
149	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_SFP,
150	      "Intel(R) Ethernet Connection E822-L for SFP"),
151	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_10G_BASE_T,
152	      "Intel(R) Ethernet Connection E822-L/X557-AT 10GBASE-T"),
153	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E822L_SGMII,
154	      "Intel(R) Ethernet Connection E822-L 1GbE"),
155	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_BACKPLANE,
156	      "Intel(R) Ethernet Connection E823-L for backplane"),
157	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_SFP,
158	      "Intel(R) Ethernet Connection E823-L for SFP"),
159	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_QSFP,
160	      "Intel(R) Ethernet Connection E823-L for QSFP"),
161	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_10G_BASE_T,
162	      "Intel(R) Ethernet Connection E823-L/X557-AT 10GBASE-T"),
163	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823L_1GBE,
164	      "Intel(R) Ethernet Connection E823-L 1GbE"),
165	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_BACKPLANE,
166	      "Intel(R) Ethernet Connection E823-C for backplane"),
167	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_QSFP,
168	      "Intel(R) Ethernet Connection E823-C for QSFP"),
169	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_SFP,
170	      "Intel(R) Ethernet Connection E823-C for SFP"),
171	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_10G_BASE_T,
172	      "Intel(R) Ethernet Connection E823-C/X557-AT 10GBASE-T"),
173	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E823C_SGMII,
174	      "Intel(R) Ethernet Connection E823-C 1GbE"),
175	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_BACKPLANE,
176	      "Intel(R) Ethernet Controller E810-XXV for backplane"),
177	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_QSFP,
178		"Intel(R) Ethernet Controller E810-XXV for QSFP"),
179	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP,
180		ICE_INTEL_VENDOR_ID, 0x0003, 0,
181		"Intel(R) Ethernet Network Adapter E810-XXV-2"),
182	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP,
183		ICE_INTEL_VENDOR_ID, 0x0004, 0,
184		"Intel(R) Ethernet Network Adapter E810-XXV-2"),
185	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP,
186		ICE_INTEL_VENDOR_ID, 0x0005, 0,
187		"Intel(R) Ethernet Network Adapter E810-XXV-2 for OCP 3.0"),
188	PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP,
189		ICE_INTEL_VENDOR_ID, 0x0006, 0,
190		"Intel(R) Ethernet Network Adapter E810-XXV-2 for OCP 3.0"),
191	PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E810_XXV_SFP,
192		"Intel(R) Ethernet Controller E810-XXV for SFP"),
193	PVID_END
194};
195
196