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