GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / net / ethernet / cavium / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Cavium ethernet device configuration
4 #
5
6 config 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
14 if NET_VENDOR_CAVIUM
15
16 config 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
28 config 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
35 config  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
45 config  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
54 config 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
65 config LIQUIDIO
66         tristate "Cavium LiquidIO support"
67         depends on 64BIT && PCI
68         depends on PCI
69         depends on PTP_1588_CLOCK_OPTIONAL
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
80 config 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
91 config LIQUIDIO_VF
92         tristate "Cavium LiquidIO VF support"
93         depends on 64BIT && PCI_MSI
94         depends on PTP_1588_CLOCK_OPTIONAL
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
103 endif # NET_VENDOR_CAVIUM