xref: /dpdk/drivers/net/atlantic/atl_common.h (revision a1db738273f90e4e0ae98e64c222c52879a75c35)
15bcf1649SPavel Belous /* SPDX-License-Identifier: BSD-3-Clause
25bcf1649SPavel Belous  * Copyright(c) 2018 Aquantia Corporation
35bcf1649SPavel Belous  */
45bcf1649SPavel Belous 
55bcf1649SPavel Belous #ifndef AQ_COMMON_H
65bcf1649SPavel Belous #define AQ_COMMON_H
75bcf1649SPavel Belous 
8*a1db7382SIgor Russkikh #define ATL_PMD_DRIVER_VERSION "0.6.7"
95bcf1649SPavel Belous 
105bcf1649SPavel Belous #define PCI_VENDOR_ID_AQUANTIA  0x1D6A
115bcf1649SPavel Belous 
125bcf1649SPavel Belous #define AQ_DEVICE_ID_0001	0x0001
135bcf1649SPavel Belous #define AQ_DEVICE_ID_D100	0xD100
145bcf1649SPavel Belous #define AQ_DEVICE_ID_D107	0xD107
155bcf1649SPavel Belous #define AQ_DEVICE_ID_D108	0xD108
165bcf1649SPavel Belous #define AQ_DEVICE_ID_D109	0xD109
175bcf1649SPavel Belous 
185bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC100	0x00B1
195bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC107	0x07B1
205bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC108	0x08B1
215bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC109	0x09B1
225bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC111	0x11B1
235bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC112	0x12B1
245bcf1649SPavel Belous 
255bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC100S	0x80B1
265bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC107S	0x87B1
275bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC108S	0x88B1
285bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC109S	0x89B1
295bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC111S	0x91B1
305bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC112S	0x92B1
315bcf1649SPavel Belous 
325bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC111E	0x51B1
335bcf1649SPavel Belous #define AQ_DEVICE_ID_AQC112E	0x52B1
345bcf1649SPavel Belous 
355bcf1649SPavel Belous #define HW_ATL_NIC_NAME "aQuantia AQtion 10Gbit Network Adapter"
365bcf1649SPavel Belous 
375bcf1649SPavel Belous #define AQ_HWREV_ANY	0
385bcf1649SPavel Belous #define AQ_HWREV_1	1
395bcf1649SPavel Belous #define AQ_HWREV_2	2
405bcf1649SPavel Belous 
415bcf1649SPavel Belous #define AQ_NIC_RATE_10G		BIT(0)
425bcf1649SPavel Belous #define AQ_NIC_RATE_5G		BIT(1)
435bcf1649SPavel Belous #define AQ_NIC_RATE_5G5R	BIT(2)
445bcf1649SPavel Belous #define AQ_NIC_RATE_2G5		BIT(3)
455bcf1649SPavel Belous #define AQ_NIC_RATE_1G		BIT(4)
465bcf1649SPavel Belous #define AQ_NIC_RATE_100M	BIT(5)
475bcf1649SPavel Belous 
485bcf1649SPavel Belous #define AQ_NIC_RATE_EEE_10G	BIT(6)
495bcf1649SPavel Belous #define AQ_NIC_RATE_EEE_5G	BIT(7)
505bcf1649SPavel Belous #define AQ_NIC_RATE_EEE_2G5	BIT(8)
515bcf1649SPavel Belous #define AQ_NIC_RATE_EEE_1G	BIT(9)
525bcf1649SPavel Belous 
535bcf1649SPavel Belous 
545bcf1649SPavel Belous #define ATL_MAX_RING_DESC	(8 * 1024 - 8)
555bcf1649SPavel Belous #define ATL_MIN_RING_DESC	32
565bcf1649SPavel Belous #define ATL_RXD_ALIGN		8
575bcf1649SPavel Belous #define ATL_TXD_ALIGN		8
585bcf1649SPavel Belous #define ATL_TX_MAX_SEG		16
595bcf1649SPavel Belous 
605bcf1649SPavel Belous #define ATL_MAX_INTR_QUEUE_NUM  15
615bcf1649SPavel Belous 
625bcf1649SPavel Belous #define ATL_MISC_VEC_ID 10
635bcf1649SPavel Belous #define ATL_RX_VEC_START 0
645bcf1649SPavel Belous 
655bcf1649SPavel Belous #define AQ_NIC_WOL_ENABLED           BIT(0)
665bcf1649SPavel Belous 
675bcf1649SPavel Belous 
685bcf1649SPavel Belous #define AQ_NIC_FC_OFF    0U
695bcf1649SPavel Belous #define AQ_NIC_FC_TX     1U
705bcf1649SPavel Belous #define AQ_NIC_FC_RX     2U
715bcf1649SPavel Belous #define AQ_NIC_FC_FULL   3U
725bcf1649SPavel Belous #define AQ_NIC_FC_AUTO   4U
735bcf1649SPavel Belous 
745bcf1649SPavel Belous 
755bcf1649SPavel Belous #define AQ_CFG_TX_FRAME_MAX  (16U * 1024U)
765bcf1649SPavel Belous #define AQ_CFG_RX_FRAME_MAX  (2U * 1024U)
775bcf1649SPavel Belous 
785bcf1649SPavel Belous #define AQ_HW_MULTICAST_ADDRESS_MAX     32
795bcf1649SPavel Belous #define AQ_HW_MAX_SEGS_SIZE    40
805bcf1649SPavel Belous 
815bcf1649SPavel Belous #define AQ_HW_MAX_RX_QUEUES    8
825bcf1649SPavel Belous #define AQ_HW_MAX_TX_QUEUES    8
835bcf1649SPavel Belous #define AQ_HW_MIN_RX_RING_SIZE 512
845bcf1649SPavel Belous #define AQ_HW_MAX_RX_RING_SIZE 8192
855bcf1649SPavel Belous #define AQ_HW_MIN_TX_RING_SIZE 512
865bcf1649SPavel Belous #define AQ_HW_MAX_TX_RING_SIZE 8192
875bcf1649SPavel Belous 
885bcf1649SPavel Belous #define ATL_DEFAULT_RX_FREE_THRESH 64
895bcf1649SPavel Belous #define ATL_DEFAULT_TX_FREE_THRESH 64
905bcf1649SPavel Belous 
915bcf1649SPavel Belous #define ATL_IRQ_CAUSE_LINK 0x8
925bcf1649SPavel Belous 
935bcf1649SPavel Belous #define AQ_HW_LED_BLINK    0x2U
945bcf1649SPavel Belous #define AQ_HW_LED_DEFAULT  0x0U
955bcf1649SPavel Belous 
965bcf1649SPavel Belous #endif /* AQ_COMMON_H */
97