162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* Atlantic Network Driver 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright (C) 2014-2019 aQuantia Corporation 562306a36Sopenharmony_ci * Copyright (C) 2019-2020 Marvell International Ltd. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* File aq_common.h: Basic includes for all files in project. */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef AQ_COMMON_H 1162306a36Sopenharmony_ci#define AQ_COMMON_H 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <linux/etherdevice.h> 1462306a36Sopenharmony_ci#include <linux/pci.h> 1562306a36Sopenharmony_ci#include <linux/if_vlan.h> 1662306a36Sopenharmony_ci#include "aq_cfg.h" 1762306a36Sopenharmony_ci#include "aq_utils.h" 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define PCI_VENDOR_ID_AQUANTIA 0x1D6A 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#define AQ_DEVICE_ID_0001 0x0001 2262306a36Sopenharmony_ci#define AQ_DEVICE_ID_D100 0xD100 2362306a36Sopenharmony_ci#define AQ_DEVICE_ID_D107 0xD107 2462306a36Sopenharmony_ci#define AQ_DEVICE_ID_D108 0xD108 2562306a36Sopenharmony_ci#define AQ_DEVICE_ID_D109 0xD109 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC100 0x00B1 2862306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC107 0x07B1 2962306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC108 0x08B1 3062306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC109 0x09B1 3162306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC111 0x11B1 3262306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC112 0x12B1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC100S 0x80B1 3562306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC107S 0x87B1 3662306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC108S 0x88B1 3762306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC109S 0x89B1 3862306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC111S 0x91B1 3962306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC112S 0x92B1 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC113DEV 0x00C0 4262306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC113CS 0x94C0 4362306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC113CA 0x34C0 4462306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC114CS 0x93C0 4562306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC113 0x04C0 4662306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC113C 0x14C0 4762306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC115C 0x12C0 4862306a36Sopenharmony_ci#define AQ_DEVICE_ID_AQC116C 0x11C0 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci#define HW_ATL_NIC_NAME "Marvell (aQuantia) AQtion 10Gbit Network Adapter" 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci#define AQ_HWREV_ANY 0 5362306a36Sopenharmony_ci#define AQ_HWREV_1 1 5462306a36Sopenharmony_ci#define AQ_HWREV_2 2 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci#define AQ_NIC_RATE_10G BIT(0) 5762306a36Sopenharmony_ci#define AQ_NIC_RATE_5G BIT(1) 5862306a36Sopenharmony_ci#define AQ_NIC_RATE_2G5 BIT(2) 5962306a36Sopenharmony_ci#define AQ_NIC_RATE_1G BIT(3) 6062306a36Sopenharmony_ci#define AQ_NIC_RATE_100M BIT(4) 6162306a36Sopenharmony_ci#define AQ_NIC_RATE_10M BIT(5) 6262306a36Sopenharmony_ci#define AQ_NIC_RATE_1G_HALF BIT(6) 6362306a36Sopenharmony_ci#define AQ_NIC_RATE_100M_HALF BIT(7) 6462306a36Sopenharmony_ci#define AQ_NIC_RATE_10M_HALF BIT(8) 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_10G BIT(9) 6762306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_5G BIT(10) 6862306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_2G5 BIT(11) 6962306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_1G BIT(12) 7062306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_100M BIT(13) 7162306a36Sopenharmony_ci#define AQ_NIC_RATE_EEE_MSK (AQ_NIC_RATE_EEE_10G |\ 7262306a36Sopenharmony_ci AQ_NIC_RATE_EEE_5G |\ 7362306a36Sopenharmony_ci AQ_NIC_RATE_EEE_2G5 |\ 7462306a36Sopenharmony_ci AQ_NIC_RATE_EEE_1G |\ 7562306a36Sopenharmony_ci AQ_NIC_RATE_EEE_100M) 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci#endif /* AQ_COMMON_H */ 78