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