| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | menuconfig FWCTL |
| 3 | tristate "fwctl device firmware access framework" |
| 4 | help |
| 5 | fwctl provides a userspace API for restricted access to communicate |
| 6 | with on-device firmware. The communication channel is intended to |
| 7 | support a wide range of lockdown compatible device behaviors including |
| 8 | manipulating device FLASH, debugging, and other activities that don't |
| 9 | fit neatly into an existing subsystem. |
| 10 | |
| 11 | if FWCTL |
| 12 | |
| 13 | config RUST_FWCTL_ABSTRACTIONS |
| 14 | bool "Rust fwctl abstractions" |
| 15 | depends on RUST && FWCTL=y |
| 16 | help |
| 17 | This enables the Rust abstractions for the fwctl device firmware |
| 18 | access framework. It provides safe wrappers around struct fwctl_device |
| 19 | and struct fwctl_uctx, allowing Rust drivers to register fwctl devices |
| 20 | and implement their control and RPC logic in safe Rust. |
| 21 | |
| 22 | If unsure, say N. |
| 23 | |
| 24 | config FWCTL_BNXT |
| 25 | tristate "bnxt control fwctl driver" |
| 26 | depends on BNXT |
| 27 | help |
| 28 | BNXT provides interface for the user process to access the debug and |
| 29 | configuration registers of the Broadcom NIC hardware family. |
| 30 | This will allow configuration and debug tools to work out of the box on |
| 31 | mainstream kernel. |
| 32 | |
| 33 | If you don't know what to do here, say N. |
| 34 | |
| 35 | config FWCTL_MLX5 |
| 36 | tristate "mlx5 ConnectX control fwctl driver" |
| 37 | depends on MLX5_CORE |
| 38 | help |
| 39 | MLX5 provides interface for the user process to access the debug and |
| 40 | configuration registers of the ConnectX hardware family |
| 41 | (NICs, PCI switches and SmartNIC SoCs). |
| 42 | This will allow configuration and debug tools to work out of the box on |
| 43 | mainstream kernel. |
| 44 | |
| 45 | If you don't know what to do here, say N. |
| 46 | |
| 47 | config FWCTL_PDS |
| 48 | tristate "AMD/Pensando pds fwctl driver" |
| 49 | depends on PDS_CORE |
| 50 | help |
| 51 | The pds_fwctl driver provides an fwctl interface for a user process |
| 52 | to access the debug and configuration information of the AMD/Pensando |
| 53 | DSC hardware family. |
| 54 | |
| 55 | If you don't know what to do here, say N. |
| 56 | endif |