xref: /linux/drivers/fwctl/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
12e4986cfSJason Gunthorpe# SPDX-License-Identifier: GPL-2.0-only
22e4986cfSJason Gunthorpemenuconfig FWCTL
32e4986cfSJason Gunthorpe	tristate "fwctl device firmware access framework"
42e4986cfSJason Gunthorpe	help
52e4986cfSJason Gunthorpe	  fwctl provides a userspace API for restricted access to communicate
62e4986cfSJason Gunthorpe	  with on-device firmware. The communication channel is intended to
72e4986cfSJason Gunthorpe	  support a wide range of lockdown compatible device behaviors including
82e4986cfSJason Gunthorpe	  manipulating device FLASH, debugging, and other activities that don't
92e4986cfSJason Gunthorpe	  fit neatly into an existing subsystem.
1052929c21SSaeed Mahameed
1152929c21SSaeed Mahameedif FWCTL
12*e052daabSZhi Wang
13*e052daabSZhi Wangconfig RUST_FWCTL_ABSTRACTIONS
14*e052daabSZhi Wang	bool "Rust fwctl abstractions"
15*e052daabSZhi Wang	depends on RUST && FWCTL=y
16*e052daabSZhi Wang	help
17*e052daabSZhi Wang	  This enables the Rust abstractions for the fwctl device firmware
18*e052daabSZhi Wang	  access framework. It provides safe wrappers around struct fwctl_device
19*e052daabSZhi Wang	  and struct fwctl_uctx, allowing Rust drivers to register fwctl devices
20*e052daabSZhi Wang	  and implement their control and RPC logic in safe Rust.
21*e052daabSZhi Wang
22*e052daabSZhi Wang	  If unsure, say N.
23*e052daabSZhi Wang
24e782efb8SPavan Chebbiconfig FWCTL_BNXT
25e782efb8SPavan Chebbi	tristate "bnxt control fwctl driver"
26e782efb8SPavan Chebbi	depends on BNXT
27e782efb8SPavan Chebbi	help
28e782efb8SPavan Chebbi	  BNXT provides interface for the user process to access the debug and
29e782efb8SPavan Chebbi	  configuration registers of the Broadcom NIC hardware family.
30e782efb8SPavan Chebbi	  This will allow configuration and debug tools to work out of the box on
31e782efb8SPavan Chebbi	  mainstream kernel.
32e782efb8SPavan Chebbi
33e782efb8SPavan Chebbi	  If you don't know what to do here, say N.
34e782efb8SPavan Chebbi
3552929c21SSaeed Mahameedconfig FWCTL_MLX5
3652929c21SSaeed Mahameed	tristate "mlx5 ConnectX control fwctl driver"
3752929c21SSaeed Mahameed	depends on MLX5_CORE
3852929c21SSaeed Mahameed	help
3952929c21SSaeed Mahameed	  MLX5 provides interface for the user process to access the debug and
4052929c21SSaeed Mahameed	  configuration registers of the ConnectX hardware family
4152929c21SSaeed Mahameed	  (NICs, PCI switches and SmartNIC SoCs).
4252929c21SSaeed Mahameed	  This will allow configuration and debug tools to work out of the box on
4352929c21SSaeed Mahameed	  mainstream kernel.
4452929c21SSaeed Mahameed
4552929c21SSaeed Mahameed	  If you don't know what to do here, say N.
464d09dd11SShannon Nelson
474d09dd11SShannon Nelsonconfig FWCTL_PDS
484d09dd11SShannon Nelson	tristate "AMD/Pensando pds fwctl driver"
494d09dd11SShannon Nelson	depends on PDS_CORE
504d09dd11SShannon Nelson	help
514d09dd11SShannon Nelson	  The pds_fwctl driver provides an fwctl interface for a user process
524d09dd11SShannon Nelson	  to access the debug and configuration information of the AMD/Pensando
534d09dd11SShannon Nelson	  DSC hardware family.
544d09dd11SShannon Nelson
554d09dd11SShannon Nelson	  If you don't know what to do here, say N.
5652929c21SSaeed Mahameedendif
57