^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Cavium ethernet device configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) config NET_VENDOR_CAVIUM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) bool "Cavium ethernet drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Select this option if you want enable Cavium network support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) If you have a Cavium SoC or network adapter, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) if NET_VENDOR_CAVIUM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) config THUNDER_NIC_PF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) tristate "Thunder Physical function driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select THUNDER_NIC_BGX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) This driver supports Thunder's NIC physical function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) The NIC provides the controller and DMA engines to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) move network traffic to/from the memory. The NIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) works closely with TNS, BGX and SerDes to implement the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) functions replacing and virtualizing those of a typical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) standalone PCIe NIC chip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) config THUNDER_NIC_VF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) tristate "Thunder Virtual function driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) imply CAVIUM_PTP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) This driver supports Thunder's NIC virtual function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config THUNDER_NIC_BGX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) tristate "Thunder MAC interface driver (BGX)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select MDIO_THUNDER if PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) select THUNDER_NIC_RGX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) This driver supports programming and controlling of MAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) interface from NIC physical function driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) config THUNDER_NIC_RGX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) tristate "Thunder MAC interface driver (RGX)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) select MDIO_THUNDER if PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) This driver supports configuring XCV block of RGX interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) present on CN81XX chip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) config CAVIUM_PTP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) tristate "Cavium PTP coprocessor as PTP clock"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) depends on PTP_1588_CLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) This driver adds support for the Precision Time Protocol Clocks and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Timestamping coprocessor (PTP) found on Cavium processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) PTP provides timestamping mechanism that is suitable for use in IEEE 1588
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Precision Time Protocol or other purposes. Timestamps can be used in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) BGX, TNS, GTI, and NIC blocks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config LIQUIDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) tristate "Cavium LiquidIO support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) depends on 64BIT && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) imply PTP_1588_CLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) select FW_LOADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) select LIBCRC32C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) select NET_DEVLINK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) This driver supports Cavium LiquidIO Intelligent Server Adapters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) based on CN66XX, CN68XX and CN23XX chips.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) To compile this driver as a module, choose M here: the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) will be called liquidio. This is recommended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) config OCTEON_MGMT_ETHERNET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) depends on CAVIUM_OCTEON_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) select MDIO_OCTEON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Enable the ethernet driver for the management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) CN54XX, CN52XX, and CN6XXX chips.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) config LIQUIDIO_VF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) tristate "Cavium LiquidIO VF support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) depends on 64BIT && PCI_MSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) imply PTP_1588_CLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) This driver supports Cavium LiquidIO Intelligent Server Adapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) based on CN23XX chips.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) To compile this driver as a module, choose M here: The module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) will be called liquidio_vf. MSI-X interrupt support is required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) for this driver to work correctly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) endif # NET_VENDOR_CAVIUM