xref: /dpdk/drivers/net/atlantic/atl_common.h (revision a1db738273f90e4e0ae98e64c222c52879a75c35)
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.6.7"
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 */
97