xref: /OK3568_Linux_fs/kernel/drivers/net/ethernet/cavium/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Cavium ethernet device configuration
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig NET_VENDOR_CAVIUM
7*4882a593Smuzhiyun	bool "Cavium ethernet drivers"
8*4882a593Smuzhiyun	default y
9*4882a593Smuzhiyun	help
10*4882a593Smuzhiyun	  Select this option if you want enable Cavium network support.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	  If you have a Cavium SoC or network adapter, say Y.
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunif NET_VENDOR_CAVIUM
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunconfig THUNDER_NIC_PF
17*4882a593Smuzhiyun	tristate "Thunder Physical function driver"
18*4882a593Smuzhiyun	depends on 64BIT && PCI
19*4882a593Smuzhiyun	select THUNDER_NIC_BGX
20*4882a593Smuzhiyun	help
21*4882a593Smuzhiyun	  This driver supports Thunder's NIC physical function.
22*4882a593Smuzhiyun	  The NIC provides the controller and DMA engines to
23*4882a593Smuzhiyun	  move network traffic to/from the memory. The NIC
24*4882a593Smuzhiyun	  works closely with TNS, BGX and SerDes to implement the
25*4882a593Smuzhiyun	  functions replacing and virtualizing those of a typical
26*4882a593Smuzhiyun	  standalone PCIe NIC chip.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig THUNDER_NIC_VF
29*4882a593Smuzhiyun	tristate "Thunder Virtual function driver"
30*4882a593Smuzhiyun	imply CAVIUM_PTP
31*4882a593Smuzhiyun	depends on 64BIT && PCI
32*4882a593Smuzhiyun	help
33*4882a593Smuzhiyun	  This driver supports Thunder's NIC virtual function
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunconfig	THUNDER_NIC_BGX
36*4882a593Smuzhiyun	tristate "Thunder MAC interface driver (BGX)"
37*4882a593Smuzhiyun	depends on 64BIT && PCI
38*4882a593Smuzhiyun	select PHYLIB
39*4882a593Smuzhiyun	select MDIO_THUNDER if PCI
40*4882a593Smuzhiyun	select THUNDER_NIC_RGX
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	  This driver supports programming and controlling of MAC
43*4882a593Smuzhiyun	  interface from NIC physical function driver.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunconfig	THUNDER_NIC_RGX
46*4882a593Smuzhiyun	tristate "Thunder MAC interface driver (RGX)"
47*4882a593Smuzhiyun	depends on 64BIT && PCI
48*4882a593Smuzhiyun	select PHYLIB
49*4882a593Smuzhiyun	select MDIO_THUNDER if PCI
50*4882a593Smuzhiyun	help
51*4882a593Smuzhiyun	  This driver supports configuring XCV block of RGX interface
52*4882a593Smuzhiyun	  present on CN81XX chip.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunconfig CAVIUM_PTP
55*4882a593Smuzhiyun	tristate "Cavium PTP coprocessor as PTP clock"
56*4882a593Smuzhiyun	depends on 64BIT && PCI
57*4882a593Smuzhiyun	depends on PTP_1588_CLOCK
58*4882a593Smuzhiyun	help
59*4882a593Smuzhiyun	  This driver adds support for the Precision Time Protocol Clocks and
60*4882a593Smuzhiyun	  Timestamping coprocessor (PTP) found on Cavium processors.
61*4882a593Smuzhiyun	  PTP provides timestamping mechanism that is suitable for use in IEEE 1588
62*4882a593Smuzhiyun	  Precision Time Protocol or other purposes.  Timestamps can be used in
63*4882a593Smuzhiyun	  BGX, TNS, GTI, and NIC blocks.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig LIQUIDIO
66*4882a593Smuzhiyun	tristate "Cavium LiquidIO support"
67*4882a593Smuzhiyun	depends on 64BIT && PCI
68*4882a593Smuzhiyun	depends on PCI
69*4882a593Smuzhiyun	imply PTP_1588_CLOCK
70*4882a593Smuzhiyun	select FW_LOADER
71*4882a593Smuzhiyun	select LIBCRC32C
72*4882a593Smuzhiyun	select NET_DEVLINK
73*4882a593Smuzhiyun	help
74*4882a593Smuzhiyun	  This driver supports Cavium LiquidIO Intelligent Server Adapters
75*4882a593Smuzhiyun	  based on CN66XX, CN68XX and CN23XX chips.
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
78*4882a593Smuzhiyun	  will be called liquidio.  This is recommended.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig OCTEON_MGMT_ETHERNET
81*4882a593Smuzhiyun	tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
82*4882a593Smuzhiyun	depends on CAVIUM_OCTEON_SOC
83*4882a593Smuzhiyun	select PHYLIB
84*4882a593Smuzhiyun	select MDIO_OCTEON
85*4882a593Smuzhiyun	default y
86*4882a593Smuzhiyun	help
87*4882a593Smuzhiyun	  Enable the ethernet driver for the management
88*4882a593Smuzhiyun	  port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
89*4882a593Smuzhiyun	  CN54XX, CN52XX, and CN6XXX chips.
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunconfig LIQUIDIO_VF
92*4882a593Smuzhiyun	tristate "Cavium LiquidIO VF support"
93*4882a593Smuzhiyun	depends on 64BIT && PCI_MSI
94*4882a593Smuzhiyun	imply PTP_1588_CLOCK
95*4882a593Smuzhiyun	help
96*4882a593Smuzhiyun	  This driver supports Cavium LiquidIO Intelligent Server Adapter
97*4882a593Smuzhiyun	  based on CN23XX chips.
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: The module
100*4882a593Smuzhiyun	  will be called liquidio_vf. MSI-X interrupt support is required
101*4882a593Smuzhiyun	  for this driver to work correctly
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunendif # NET_VENDOR_CAVIUM
104