# 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_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
