blob: 6a700d34019e303e9d8a301a9c6876e320d99578 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Sunil Goutham4863dea2015-05-26 19:20:15 -07002#
3# Cavium ethernet device configuration
4#
5
6config NET_VENDOR_CAVIUM
Andreas Schwab7a4264a2015-10-19 17:37:13 +02007 bool "Cavium ethernet drivers"
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -07008 default y
Sunil Goutham4863dea2015-05-26 19:20:15 -07009 ---help---
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070010 Select this option if you want enable Cavium network support.
Sunil Goutham4863dea2015-05-26 19:20:15 -070011
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070012 If you have a Cavium SoC or network adapter, say Y.
Sunil Goutham4863dea2015-05-26 19:20:15 -070013
14if NET_VENDOR_CAVIUM
15
16config THUNDER_NIC_PF
17 tristate "Thunder Physical function driver"
Arnd Bergmann74525cc2018-07-17 15:46:34 +020018 depends on 64BIT && PCI
Sunil Goutham4863dea2015-05-26 19:20:15 -070019 select THUNDER_NIC_BGX
20 ---help---
21 This driver supports Thunder's NIC physical function.
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070022 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.
Sunil Goutham4863dea2015-05-26 19:20:15 -070027
28config THUNDER_NIC_VF
29 tristate "Thunder Virtual function driver"
Sunil Goutham4a875502018-01-15 18:44:57 +060030 imply CAVIUM_PTP
Arnd Bergmann74525cc2018-07-17 15:46:34 +020031 depends on 64BIT && PCI
Sunil Goutham4863dea2015-05-26 19:20:15 -070032 ---help---
33 This driver supports Thunder's NIC virtual function
34
35config THUNDER_NIC_BGX
36 tristate "Thunder MAC interface driver (BGX)"
Alexander Sverdline40562a2018-07-17 18:23:58 +020037 depends on 64BIT && PCI
Radha Mohan Chintakuntla274b0b32015-07-28 15:12:13 -070038 select PHYLIB
Arnd Bergmann74525cc2018-07-17 15:46:34 +020039 select MDIO_THUNDER if PCI
Sunil Goutham64658592016-08-12 16:51:33 +053040 select THUNDER_NIC_RGX
Sunil Goutham4863dea2015-05-26 19:20:15 -070041 ---help---
42 This driver supports programming and controlling of MAC
43 interface from NIC physical function driver.
44
Sunil Goutham64658592016-08-12 16:51:33 +053045config THUNDER_NIC_RGX
46 tristate "Thunder MAC interface driver (RGX)"
Alexander Sverdline40562a2018-07-17 18:23:58 +020047 depends on 64BIT && PCI
Sunil Goutham64658592016-08-12 16:51:33 +053048 select PHYLIB
Arnd Bergmann74525cc2018-07-17 15:46:34 +020049 select MDIO_THUNDER if PCI
Sunil Goutham64658592016-08-12 16:51:33 +053050 ---help---
51 This driver supports configuring XCV block of RGX interface
52 present on CN81XX chip.
53
Radoslaw Biernacki8c56df32018-01-15 18:44:56 +060054config CAVIUM_PTP
55 tristate "Cavium PTP coprocessor as PTP clock"
Alexander Sverdline40562a2018-07-17 18:23:58 +020056 depends on 64BIT && PCI
Radoslaw Biernacki8c56df32018-01-15 18:44:56 +060057 imply PTP_1588_CLOCK
Radoslaw Biernacki8c56df32018-01-15 18:44:56 +060058 ---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
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070065config LIQUIDIO
66 tristate "Cavium LiquidIO support"
Alexander Sverdline40562a2018-07-17 18:23:58 +020067 depends on 64BIT && PCI
Arnd Bergmann74525cc2018-07-17 15:46:34 +020068 depends on PCI
Nicolas Pitred1cbfd72016-11-11 00:10:07 -050069 imply PTP_1588_CLOCK
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070070 select FW_LOADER
Raghu Vatsavayi3dc817d22015-06-16 16:51:43 -070071 select LIBCRC32C
Jiri Pirkof6b19b32019-03-24 11:14:38 +010072 select NET_DEVLINK
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070073 ---help---
74 This driver supports Cavium LiquidIO Intelligent Server Adapters
Raghu Vatsavayie86b1ab2016-08-31 11:03:24 -070075 based on CN66XX, CN68XX and CN23XX chips.
Raghu Vatsavayif21fb3e2015-06-09 18:15:23 -070076
77 To compile this driver as a module, choose M here: the module
78 will be called liquidio. This is recommended.
79
David Daneyd07a1472016-03-14 17:57:08 -070080config 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
Raghu Vatsavayi111fc642016-11-28 16:54:34 -080091config LIQUIDIO_VF
92 tristate "Cavium LiquidIO VF support"
93 depends on 64BIT && PCI_MSI
Nicolas Pitrecd7aeb12017-01-03 13:57:00 -050094 imply PTP_1588_CLOCK
Raghu Vatsavayi111fc642016-11-28 16:54:34 -080095 ---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
Sunil Goutham4863dea2015-05-26 19:20:15 -0700103endif # NET_VENDOR_CAVIUM