162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Cavium ethernet device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_VENDOR_CAVIUM
762306a36Sopenharmony_ci	bool "Cavium ethernet drivers"
862306a36Sopenharmony_ci	default y
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  Select this option if you want enable Cavium network support.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  If you have a Cavium SoC or network adapter, say Y.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciif NET_VENDOR_CAVIUM
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciconfig THUNDER_NIC_PF
1762306a36Sopenharmony_ci	tristate "Thunder Physical function driver"
1862306a36Sopenharmony_ci	depends on 64BIT && PCI
1962306a36Sopenharmony_ci	select THUNDER_NIC_BGX
2062306a36Sopenharmony_ci	help
2162306a36Sopenharmony_ci	  This driver supports Thunder's NIC physical function.
2262306a36Sopenharmony_ci	  The NIC provides the controller and DMA engines to
2362306a36Sopenharmony_ci	  move network traffic to/from the memory. The NIC
2462306a36Sopenharmony_ci	  works closely with TNS, BGX and SerDes to implement the
2562306a36Sopenharmony_ci	  functions replacing and virtualizing those of a typical
2662306a36Sopenharmony_ci	  standalone PCIe NIC chip.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig THUNDER_NIC_VF
2962306a36Sopenharmony_ci	tristate "Thunder Virtual function driver"
3062306a36Sopenharmony_ci	imply CAVIUM_PTP
3162306a36Sopenharmony_ci	depends on 64BIT && PCI
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  This driver supports Thunder's NIC virtual function
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig	THUNDER_NIC_BGX
3662306a36Sopenharmony_ci	tristate "Thunder MAC interface driver (BGX)"
3762306a36Sopenharmony_ci	depends on 64BIT && PCI
3862306a36Sopenharmony_ci	select PHYLIB
3962306a36Sopenharmony_ci	select MDIO_THUNDER if PCI
4062306a36Sopenharmony_ci	select THUNDER_NIC_RGX
4162306a36Sopenharmony_ci	help
4262306a36Sopenharmony_ci	  This driver supports programming and controlling of MAC
4362306a36Sopenharmony_ci	  interface from NIC physical function driver.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig	THUNDER_NIC_RGX
4662306a36Sopenharmony_ci	tristate "Thunder MAC interface driver (RGX)"
4762306a36Sopenharmony_ci	depends on 64BIT && PCI
4862306a36Sopenharmony_ci	select PHYLIB
4962306a36Sopenharmony_ci	select MDIO_THUNDER if PCI
5062306a36Sopenharmony_ci	help
5162306a36Sopenharmony_ci	  This driver supports configuring XCV block of RGX interface
5262306a36Sopenharmony_ci	  present on CN81XX chip.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig CAVIUM_PTP
5562306a36Sopenharmony_ci	tristate "Cavium PTP coprocessor as PTP clock"
5662306a36Sopenharmony_ci	depends on 64BIT && PCI
5762306a36Sopenharmony_ci	depends on PTP_1588_CLOCK
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  This driver adds support for the Precision Time Protocol Clocks and
6062306a36Sopenharmony_ci	  Timestamping coprocessor (PTP) found on Cavium processors.
6162306a36Sopenharmony_ci	  PTP provides timestamping mechanism that is suitable for use in IEEE 1588
6262306a36Sopenharmony_ci	  Precision Time Protocol or other purposes.  Timestamps can be used in
6362306a36Sopenharmony_ci	  BGX, TNS, GTI, and NIC blocks.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig LIQUIDIO_CORE
6662306a36Sopenharmony_ci	tristate
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciconfig LIQUIDIO
6962306a36Sopenharmony_ci	tristate "Cavium LiquidIO support"
7062306a36Sopenharmony_ci	depends on 64BIT && PCI
7162306a36Sopenharmony_ci	depends on PCI
7262306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
7362306a36Sopenharmony_ci	select FW_LOADER
7462306a36Sopenharmony_ci	select LIBCRC32C
7562306a36Sopenharmony_ci	select LIQUIDIO_CORE
7662306a36Sopenharmony_ci	select NET_DEVLINK
7762306a36Sopenharmony_ci	help
7862306a36Sopenharmony_ci	  This driver supports Cavium LiquidIO Intelligent Server Adapters
7962306a36Sopenharmony_ci	  based on CN66XX, CN68XX and CN23XX chips.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
8262306a36Sopenharmony_ci	  will be called liquidio.  This is recommended.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciconfig OCTEON_MGMT_ETHERNET
8562306a36Sopenharmony_ci	tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
8662306a36Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
8762306a36Sopenharmony_ci	select PHYLIB
8862306a36Sopenharmony_ci	select MDIO_OCTEON
8962306a36Sopenharmony_ci	default y
9062306a36Sopenharmony_ci	help
9162306a36Sopenharmony_ci	  Enable the ethernet driver for the management
9262306a36Sopenharmony_ci	  port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
9362306a36Sopenharmony_ci	  CN54XX, CN52XX, and CN6XXX chips.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig LIQUIDIO_VF
9662306a36Sopenharmony_ci	tristate "Cavium LiquidIO VF support"
9762306a36Sopenharmony_ci	depends on 64BIT && PCI_MSI
9862306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
9962306a36Sopenharmony_ci	select LIQUIDIO_CORE
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  This driver supports Cavium LiquidIO Intelligent Server Adapter
10262306a36Sopenharmony_ci	  based on CN23XX chips.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: The module
10562306a36Sopenharmony_ci	  will be called liquidio_vf. MSI-X interrupt support is required
10662306a36Sopenharmony_ci	  for this driver to work correctly
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciendif # NET_VENDOR_CAVIUM
109