0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Cavium ethernet device configuration
0004 #
0005
0006 config NET_VENDOR_CAVIUM
0007 bool "Cavium ethernet drivers"
0008 default y
0009 help
0010 Select this option if you want enable Cavium network support.
0011
0012 If you have a Cavium SoC or network adapter, say Y.
0013
0014 if NET_VENDOR_CAVIUM
0015
0016 config THUNDER_NIC_PF
0017 tristate "Thunder Physical function driver"
0018 depends on 64BIT && PCI
0019 select THUNDER_NIC_BGX
0020 help
0021 This driver supports Thunder's NIC physical function.
0022 The NIC provides the controller and DMA engines to
0023 move network traffic to/from the memory. The NIC
0024 works closely with TNS, BGX and SerDes to implement the
0025 functions replacing and virtualizing those of a typical
0026 standalone PCIe NIC chip.
0027
0028 config THUNDER_NIC_VF
0029 tristate "Thunder Virtual function driver"
0030 imply CAVIUM_PTP
0031 depends on 64BIT && PCI
0032 help
0033 This driver supports Thunder's NIC virtual function
0034
0035 config THUNDER_NIC_BGX
0036 tristate "Thunder MAC interface driver (BGX)"
0037 depends on 64BIT && PCI
0038 select PHYLIB
0039 select MDIO_THUNDER if PCI
0040 select THUNDER_NIC_RGX
0041 help
0042 This driver supports programming and controlling of MAC
0043 interface from NIC physical function driver.
0044
0045 config THUNDER_NIC_RGX
0046 tristate "Thunder MAC interface driver (RGX)"
0047 depends on 64BIT && PCI
0048 select PHYLIB
0049 select MDIO_THUNDER if PCI
0050 help
0051 This driver supports configuring XCV block of RGX interface
0052 present on CN81XX chip.
0053
0054 config CAVIUM_PTP
0055 tristate "Cavium PTP coprocessor as PTP clock"
0056 depends on 64BIT && PCI
0057 depends on PTP_1588_CLOCK
0058 help
0059 This driver adds support for the Precision Time Protocol Clocks and
0060 Timestamping coprocessor (PTP) found on Cavium processors.
0061 PTP provides timestamping mechanism that is suitable for use in IEEE 1588
0062 Precision Time Protocol or other purposes. Timestamps can be used in
0063 BGX, TNS, GTI, and NIC blocks.
0064
0065 config LIQUIDIO
0066 tristate "Cavium LiquidIO support"
0067 depends on 64BIT && PCI
0068 depends on PCI
0069 depends on PTP_1588_CLOCK_OPTIONAL
0070 select FW_LOADER
0071 select LIBCRC32C
0072 select NET_DEVLINK
0073 help
0074 This driver supports Cavium LiquidIO Intelligent Server Adapters
0075 based on CN66XX, CN68XX and CN23XX chips.
0076
0077 To compile this driver as a module, choose M here: the module
0078 will be called liquidio. This is recommended.
0079
0080 config OCTEON_MGMT_ETHERNET
0081 tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
0082 depends on CAVIUM_OCTEON_SOC
0083 select PHYLIB
0084 select MDIO_OCTEON
0085 default y
0086 help
0087 Enable the ethernet driver for the management
0088 port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
0089 CN54XX, CN52XX, and CN6XXX chips.
0090
0091 config LIQUIDIO_VF
0092 tristate "Cavium LiquidIO VF support"
0093 depends on 64BIT && PCI_MSI
0094 depends on PTP_1588_CLOCK_OPTIONAL
0095 help
0096 This driver supports Cavium LiquidIO Intelligent Server Adapter
0097 based on CN23XX chips.
0098
0099 To compile this driver as a module, choose M here: The module
0100 will be called liquidio_vf. MSI-X interrupt support is required
0101 for this driver to work correctly
0102
0103 endif # NET_VENDOR_CAVIUM