162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Solarflare device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_VENDOR_SOLARFLARE
762306a36Sopenharmony_ci	bool "Solarflare devices"
862306a36Sopenharmony_ci	default y
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
1362306a36Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1462306a36Sopenharmony_ci	  the questions about Solarflare devices. If you say Y, you will be asked
1562306a36Sopenharmony_ci	  for your specific card in the following questions.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciif NET_VENDOR_SOLARFLARE
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig SFC
2062306a36Sopenharmony_ci	tristate "Solarflare SFC9100/EF100-family support"
2162306a36Sopenharmony_ci	depends on PCI
2262306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
2362306a36Sopenharmony_ci	select MDIO
2462306a36Sopenharmony_ci	select CRC32
2562306a36Sopenharmony_ci	select NET_DEVLINK
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  This driver supports 10/40-gigabit Ethernet cards based on
2862306a36Sopenharmony_ci	  the Solarflare SFC9100-family controllers.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  It also supports 10/25/40/100-gigabit Ethernet cards based
3162306a36Sopenharmony_ci	  on the Solarflare EF100 networking IP in Xilinx FPGAs.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here.  The module
3462306a36Sopenharmony_ci	  will be called sfc.
3562306a36Sopenharmony_ciconfig SFC_MTD
3662306a36Sopenharmony_ci	bool "Solarflare SFC9100-family MTD support"
3762306a36Sopenharmony_ci	depends on SFC && MTD && !(SFC=y && MTD=m)
3862306a36Sopenharmony_ci	default y
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  This exposes the on-board flash and/or EEPROM as MTD devices
4162306a36Sopenharmony_ci	  (e.g. /dev/mtd1).  This is required to update the firmware or
4262306a36Sopenharmony_ci	  the boot configuration under Linux.
4362306a36Sopenharmony_ciconfig SFC_MCDI_MON
4462306a36Sopenharmony_ci	bool "Solarflare SFC9100-family hwmon support"
4562306a36Sopenharmony_ci	depends on SFC && HWMON && !(SFC=y && HWMON=m)
4662306a36Sopenharmony_ci	default y
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  This exposes the on-board firmware-managed sensors as a
4962306a36Sopenharmony_ci	  hardware monitor device.
5062306a36Sopenharmony_ciconfig SFC_SRIOV
5162306a36Sopenharmony_ci	bool "Solarflare SFC9100-family SR-IOV support"
5262306a36Sopenharmony_ci	depends on SFC && PCI_IOV
5362306a36Sopenharmony_ci	depends on INET
5462306a36Sopenharmony_ci	default y
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  This enables support for the Single Root I/O Virtualization
5762306a36Sopenharmony_ci	  features, allowing accelerated network performance in
5862306a36Sopenharmony_ci	  virtualized environments.
5962306a36Sopenharmony_ciconfig SFC_MCDI_LOGGING
6062306a36Sopenharmony_ci	bool "Solarflare SFC9100-family MCDI logging support"
6162306a36Sopenharmony_ci	depends on SFC
6262306a36Sopenharmony_ci	default y
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  This enables support for tracing of MCDI (Management-Controller-to-
6562306a36Sopenharmony_ci	  Driver-Interface) commands and responses, allowing debugging of
6662306a36Sopenharmony_ci	  driver/firmware interaction.  The tracing is actually enabled by
6762306a36Sopenharmony_ci	  a sysfs file 'mcdi_logging' under the PCI device.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_cisource "drivers/net/ethernet/sfc/falcon/Kconfig"
7062306a36Sopenharmony_cisource "drivers/net/ethernet/sfc/siena/Kconfig"
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciendif # NET_VENDOR_SOLARFLARE
73