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	depends on 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_CORE
66	tristate
67
68config LIQUIDIO
69	tristate "Cavium LiquidIO support"
70	depends on 64BIT && PCI
71	depends on PCI
72	depends on PTP_1588_CLOCK_OPTIONAL
73	select FW_LOADER
74	select LIBCRC32C
75	select LIQUIDIO_CORE
76	select NET_DEVLINK
77	help
78	  This driver supports Cavium LiquidIO Intelligent Server Adapters
79	  based on CN66XX, CN68XX and CN23XX chips.
80
81	  To compile this driver as a module, choose M here: the module
82	  will be called liquidio.  This is recommended.
83
84config OCTEON_MGMT_ETHERNET
85	tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
86	depends on CAVIUM_OCTEON_SOC
87	select PHYLIB
88	select MDIO_OCTEON
89	default y
90	help
91	  Enable the ethernet driver for the management
92	  port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
93	  CN54XX, CN52XX, and CN6XXX chips.
94
95config LIQUIDIO_VF
96	tristate "Cavium LiquidIO VF support"
97	depends on 64BIT && PCI_MSI
98	depends on PTP_1588_CLOCK_OPTIONAL
99	select LIQUIDIO_CORE
100	help
101	  This driver supports Cavium LiquidIO Intelligent Server Adapter
102	  based on CN23XX chips.
103
104	  To compile this driver as a module, choose M here: The module
105	  will be called liquidio_vf. MSI-X interrupt support is required
106	  for this driver to work correctly
107
108endif # NET_VENDOR_CAVIUM
109