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	default y
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 MAY_USE_DEVLINK
69	depends on PCI
70	imply PTP_1588_CLOCK
71	select FW_LOADER
72	select LIBCRC32C
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