# SPDX-License-Identifier: GPL-2.0-only
menuconfig FWCTL
	tristate "fwctl device firmware access framework"
	help
	  fwctl provides a userspace API for restricted access to communicate
	  with on-device firmware. The communication channel is intended to
	  support a wide range of lockdown compatible device behaviors including
	  manipulating device FLASH, debugging, and other activities that don't
	  fit neatly into an existing subsystem.

if FWCTL
config FWCTL_BNXT
	tristate "bnxt control fwctl driver"
	depends on BNXT
	help
	  BNXT provides interface for the user process to access the debug and
	  configuration registers of the Broadcom NIC hardware family.
	  This will allow configuration and debug tools to work out of the box on
	  mainstream kernel.

	  If you don't know what to do here, say N.

config FWCTL_MLX5
	tristate "mlx5 ConnectX control fwctl driver"
	depends on MLX5_CORE
	help
	  MLX5 provides interface for the user process to access the debug and
	  configuration registers of the ConnectX hardware family
	  (NICs, PCI switches and SmartNIC SoCs).
	  This will allow configuration and debug tools to work out of the box on
	  mainstream kernel.

	  If you don't know what to do here, say N.

config FWCTL_PDS
	tristate "AMD/Pensando pds fwctl driver"
	depends on PDS_CORE
	help
	  The pds_fwctl driver provides an fwctl interface for a user process
	  to access the debug and configuration information of the AMD/Pensando
	  DSC hardware family.

	  If you don't know what to do here, say N.
endif
