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