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