New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / atlantic / atl_common.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Aquantia Corporation
3  */
4
5 #ifndef AQ_COMMON_H
6 #define AQ_COMMON_H
7
8 #define ATL_PMD_DRIVER_VERSION "0.4.1"
9
10 #define PCI_VENDOR_ID_AQUANTIA  0x1D6A
11
12 #define AQ_DEVICE_ID_0001       0x0001
13 #define AQ_DEVICE_ID_D100       0xD100
14 #define AQ_DEVICE_ID_D107       0xD107
15 #define AQ_DEVICE_ID_D108       0xD108
16 #define AQ_DEVICE_ID_D109       0xD109
17
18 #define AQ_DEVICE_ID_AQC100     0x00B1
19 #define AQ_DEVICE_ID_AQC107     0x07B1
20 #define AQ_DEVICE_ID_AQC108     0x08B1
21 #define AQ_DEVICE_ID_AQC109     0x09B1
22 #define AQ_DEVICE_ID_AQC111     0x11B1
23 #define AQ_DEVICE_ID_AQC112     0x12B1
24
25 #define AQ_DEVICE_ID_AQC100S    0x80B1
26 #define AQ_DEVICE_ID_AQC107S    0x87B1
27 #define AQ_DEVICE_ID_AQC108S    0x88B1
28 #define AQ_DEVICE_ID_AQC109S    0x89B1
29 #define AQ_DEVICE_ID_AQC111S    0x91B1
30 #define AQ_DEVICE_ID_AQC112S    0x92B1
31
32 #define AQ_DEVICE_ID_AQC111E    0x51B1
33 #define AQ_DEVICE_ID_AQC112E    0x52B1
34
35 #define HW_ATL_NIC_NAME "aQuantia AQtion 10Gbit Network Adapter"
36
37 #define AQ_HWREV_ANY    0
38 #define AQ_HWREV_1      1
39 #define AQ_HWREV_2      2
40
41 #define AQ_NIC_RATE_10G         BIT(0)
42 #define AQ_NIC_RATE_5G          BIT(1)
43 #define AQ_NIC_RATE_5G5R        BIT(2)
44 #define AQ_NIC_RATE_2G5         BIT(3)
45 #define AQ_NIC_RATE_1G          BIT(4)
46 #define AQ_NIC_RATE_100M        BIT(5)
47
48 #define AQ_NIC_RATE_EEE_10G     BIT(6)
49 #define AQ_NIC_RATE_EEE_5G      BIT(7)
50 #define AQ_NIC_RATE_EEE_2G5     BIT(8)
51 #define AQ_NIC_RATE_EEE_1G      BIT(9)
52
53
54 #define ATL_MAX_RING_DESC       (8 * 1024 - 8)
55 #define ATL_MIN_RING_DESC       32
56 #define ATL_RXD_ALIGN           8
57 #define ATL_TXD_ALIGN           8
58 #define ATL_TX_MAX_SEG          16
59
60 #define ATL_MAX_INTR_QUEUE_NUM  15
61
62 #define ATL_MISC_VEC_ID 10
63 #define ATL_RX_VEC_START 0
64
65 #define AQ_NIC_WOL_ENABLED           BIT(0)
66
67
68 #define AQ_NIC_FC_OFF    0U
69 #define AQ_NIC_FC_TX     1U
70 #define AQ_NIC_FC_RX     2U
71 #define AQ_NIC_FC_FULL   3U
72 #define AQ_NIC_FC_AUTO   4U
73
74
75 #define AQ_CFG_TX_FRAME_MAX  (16U * 1024U)
76 #define AQ_CFG_RX_FRAME_MAX  (2U * 1024U)
77
78 #define AQ_HW_MULTICAST_ADDRESS_MAX     32
79 #define AQ_HW_MAX_SEGS_SIZE    40
80
81 #define AQ_HW_MAX_RX_QUEUES    8
82 #define AQ_HW_MAX_TX_QUEUES    8
83 #define AQ_HW_MIN_RX_RING_SIZE 512
84 #define AQ_HW_MAX_RX_RING_SIZE 8192
85 #define AQ_HW_MIN_TX_RING_SIZE 512
86 #define AQ_HW_MAX_TX_RING_SIZE 8192
87
88 #define ATL_DEFAULT_RX_FREE_THRESH 64
89 #define ATL_DEFAULT_TX_FREE_THRESH 64
90
91 #define ATL_IRQ_CAUSE_LINK 0x8
92
93 #define AQ_HW_LED_BLINK    0x2U
94 #define AQ_HW_LED_DEFAULT  0x0U
95
96 #endif /* AQ_COMMON_H */