1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* Atlantic Network Driver 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2014-2019 aQuantia Corporation 5*4882a593Smuzhiyun * Copyright (C) 2019-2020 Marvell International Ltd. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* File aq_common.h: Basic includes for all files in project. */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef AQ_COMMON_H 11*4882a593Smuzhiyun #define AQ_COMMON_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <linux/etherdevice.h> 14*4882a593Smuzhiyun #include <linux/pci.h> 15*4882a593Smuzhiyun #include <linux/if_vlan.h> 16*4882a593Smuzhiyun #include "aq_cfg.h" 17*4882a593Smuzhiyun #include "aq_utils.h" 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define PCI_VENDOR_ID_AQUANTIA 0x1D6A 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #define AQ_DEVICE_ID_0001 0x0001 22*4882a593Smuzhiyun #define AQ_DEVICE_ID_D100 0xD100 23*4882a593Smuzhiyun #define AQ_DEVICE_ID_D107 0xD107 24*4882a593Smuzhiyun #define AQ_DEVICE_ID_D108 0xD108 25*4882a593Smuzhiyun #define AQ_DEVICE_ID_D109 0xD109 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC100 0x00B1 28*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC107 0x07B1 29*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC108 0x08B1 30*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC109 0x09B1 31*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC111 0x11B1 32*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC112 0x12B1 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC100S 0x80B1 35*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC107S 0x87B1 36*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC108S 0x88B1 37*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC109S 0x89B1 38*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC111S 0x91B1 39*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC112S 0x92B1 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC113DEV 0x00C0 42*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC113CS 0x94C0 43*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC113CA 0x34C0 44*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC114CS 0x93C0 45*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC113 0x04C0 46*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC113C 0x14C0 47*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC115C 0x12C0 48*4882a593Smuzhiyun #define AQ_DEVICE_ID_AQC116C 0x11C0 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #define HW_ATL_NIC_NAME "Marvell (aQuantia) AQtion 10Gbit Network Adapter" 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun #define AQ_HWREV_ANY 0 53*4882a593Smuzhiyun #define AQ_HWREV_1 1 54*4882a593Smuzhiyun #define AQ_HWREV_2 2 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #define AQ_NIC_RATE_10G BIT(0) 57*4882a593Smuzhiyun #define AQ_NIC_RATE_5G BIT(1) 58*4882a593Smuzhiyun #define AQ_NIC_RATE_2G5 BIT(2) 59*4882a593Smuzhiyun #define AQ_NIC_RATE_1G BIT(3) 60*4882a593Smuzhiyun #define AQ_NIC_RATE_100M BIT(4) 61*4882a593Smuzhiyun #define AQ_NIC_RATE_10M BIT(5) 62*4882a593Smuzhiyun #define AQ_NIC_RATE_1G_HALF BIT(6) 63*4882a593Smuzhiyun #define AQ_NIC_RATE_100M_HALF BIT(7) 64*4882a593Smuzhiyun #define AQ_NIC_RATE_10M_HALF BIT(8) 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_10G BIT(9) 67*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_5G BIT(10) 68*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_2G5 BIT(11) 69*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_1G BIT(12) 70*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_100M BIT(13) 71*4882a593Smuzhiyun #define AQ_NIC_RATE_EEE_MSK (AQ_NIC_RATE_EEE_10G |\ 72*4882a593Smuzhiyun AQ_NIC_RATE_EEE_5G |\ 73*4882a593Smuzhiyun AQ_NIC_RATE_EEE_2G5 |\ 74*4882a593Smuzhiyun AQ_NIC_RATE_EEE_1G |\ 75*4882a593Smuzhiyun AQ_NIC_RATE_EEE_100M) 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun #endif /* AQ_COMMON_H */ 78