19d26e4fcSRobert Mustacchi /******************************************************************************
29d26e4fcSRobert Mustacchi 
3*df36e06dSRobert Mustacchi   Copyright (c) 2013-2018, Intel Corporation
49d26e4fcSRobert Mustacchi   All rights reserved.
59d26e4fcSRobert Mustacchi 
69d26e4fcSRobert Mustacchi   Redistribution and use in source and binary forms, with or without
79d26e4fcSRobert Mustacchi   modification, are permitted provided that the following conditions are met:
89d26e4fcSRobert Mustacchi 
99d26e4fcSRobert Mustacchi    1. Redistributions of source code must retain the above copyright notice,
109d26e4fcSRobert Mustacchi       this list of conditions and the following disclaimer.
119d26e4fcSRobert Mustacchi 
129d26e4fcSRobert Mustacchi    2. Redistributions in binary form must reproduce the above copyright
139d26e4fcSRobert Mustacchi       notice, this list of conditions and the following disclaimer in the
149d26e4fcSRobert Mustacchi       documentation and/or other materials provided with the distribution.
159d26e4fcSRobert Mustacchi 
169d26e4fcSRobert Mustacchi    3. Neither the name of the Intel Corporation nor the names of its
179d26e4fcSRobert Mustacchi       contributors may be used to endorse or promote products derived from
189d26e4fcSRobert Mustacchi       this software without specific prior written permission.
199d26e4fcSRobert Mustacchi 
209d26e4fcSRobert Mustacchi   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
219d26e4fcSRobert Mustacchi   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
229d26e4fcSRobert Mustacchi   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
239d26e4fcSRobert Mustacchi   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
249d26e4fcSRobert Mustacchi   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
259d26e4fcSRobert Mustacchi   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
269d26e4fcSRobert Mustacchi   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
279d26e4fcSRobert Mustacchi   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
289d26e4fcSRobert Mustacchi   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
299d26e4fcSRobert Mustacchi   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
309d26e4fcSRobert Mustacchi   POSSIBILITY OF SUCH DAMAGE.
319d26e4fcSRobert Mustacchi 
329d26e4fcSRobert Mustacchi ******************************************************************************/
333d75a287SRobert Mustacchi /*$FreeBSD$*/
349d26e4fcSRobert Mustacchi 
359d26e4fcSRobert Mustacchi #ifndef _I40E_DEVIDS_H_
369d26e4fcSRobert Mustacchi #define _I40E_DEVIDS_H_
379d26e4fcSRobert Mustacchi 
389d26e4fcSRobert Mustacchi /* Vendor ID */
399d26e4fcSRobert Mustacchi #define I40E_INTEL_VENDOR_ID		0x8086
409d26e4fcSRobert Mustacchi 
419d26e4fcSRobert Mustacchi /* Device IDs */
42*df36e06dSRobert Mustacchi #define I40E_DEV_ID_X710_N3000		0x0CF8
43*df36e06dSRobert Mustacchi #define I40E_DEV_ID_XXV710_N3000	0x0D58
449d26e4fcSRobert Mustacchi #define I40E_DEV_ID_SFP_XL710		0x1572
459d26e4fcSRobert Mustacchi #define I40E_DEV_ID_QEMU		0x1574
469d26e4fcSRobert Mustacchi #define I40E_DEV_ID_KX_B		0x1580
479d26e4fcSRobert Mustacchi #define I40E_DEV_ID_KX_C		0x1581
489d26e4fcSRobert Mustacchi #define I40E_DEV_ID_QSFP_A		0x1583
499d26e4fcSRobert Mustacchi #define I40E_DEV_ID_QSFP_B		0x1584
509d26e4fcSRobert Mustacchi #define I40E_DEV_ID_QSFP_C		0x1585
519d26e4fcSRobert Mustacchi #define I40E_DEV_ID_10G_BASE_T		0x1586
529d26e4fcSRobert Mustacchi #define I40E_DEV_ID_20G_KR2		0x1587
539d26e4fcSRobert Mustacchi #define I40E_DEV_ID_20G_KR2_A		0x1588
549d26e4fcSRobert Mustacchi #define I40E_DEV_ID_10G_BASE_T4		0x1589
553d75a287SRobert Mustacchi #define I40E_DEV_ID_25G_B		0x158A
563d75a287SRobert Mustacchi #define I40E_DEV_ID_25G_SFP28		0x158B
57*df36e06dSRobert Mustacchi #define I40E_DEV_ID_10G_BASE_T_BC	0x15FF
58*df36e06dSRobert Mustacchi #define I40E_DEV_ID_10G_B		0x104F
59*df36e06dSRobert Mustacchi #define I40E_DEV_ID_10G_SFP		0x104E
60*df36e06dSRobert Mustacchi #define I40E_DEV_ID_5G_BASE_T_BC	0x101F
61*df36e06dSRobert Mustacchi #define I40E_IS_X710TL_DEVICE(d) \
62*df36e06dSRobert Mustacchi 	(((d) == I40E_DEV_ID_10G_BASE_T_BC) || \
63*df36e06dSRobert Mustacchi 	((d) == I40E_DEV_ID_5G_BASE_T_BC))
64*df36e06dSRobert Mustacchi #define I40E_DEV_ID_VF			0x154C
65*df36e06dSRobert Mustacchi #define I40E_DEV_ID_VF_HV		0x1571
6693f1cac5SPaul Winder #define I40E_DEV_ID_ADAPTIVE_VF		0x1889
673d75a287SRobert Mustacchi #define I40E_DEV_ID_KX_X722		0x37CE
683d75a287SRobert Mustacchi #define I40E_DEV_ID_QSFP_X722		0x37CF
699d26e4fcSRobert Mustacchi #define I40E_DEV_ID_SFP_X722		0x37D0
709d26e4fcSRobert Mustacchi #define I40E_DEV_ID_1G_BASE_T_X722	0x37D1
719d26e4fcSRobert Mustacchi #define I40E_DEV_ID_10G_BASE_T_X722	0x37D2
723d75a287SRobert Mustacchi #define I40E_DEV_ID_SFP_I_X722		0x37D3
73*df36e06dSRobert Mustacchi #define I40E_DEV_ID_X722_VF		0x37CD
749d26e4fcSRobert Mustacchi 
759d26e4fcSRobert Mustacchi #define i40e_is_40G_device(d)		((d) == I40E_DEV_ID_QSFP_A  || \
769d26e4fcSRobert Mustacchi 					 (d) == I40E_DEV_ID_QSFP_B  || \
779d26e4fcSRobert Mustacchi 					 (d) == I40E_DEV_ID_QSFP_C)
789d26e4fcSRobert Mustacchi 
7993f1cac5SPaul Winder #define i40e_is_25G_device(d)		((d) == I40E_DEV_ID_25G_B  || \
8093f1cac5SPaul Winder 					 (d) == I40E_DEV_ID_25G_SFP28)
8193f1cac5SPaul Winder 
829d26e4fcSRobert Mustacchi #endif /* _I40E_DEVIDS_H_ */
83