2019-05-19 13:07:45 +01:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2005-04-16 15:20:36 -07:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2019-06-12 14:52:48 -03:00
|
|
|
# see Documentation/kbuild/kconfig-language.rst.
|
2005-04-16 15:20:36 -07:00
|
|
|
#
|
|
|
|
|
|
|
|
menu "Firmware Drivers"
|
|
|
|
|
2021-08-03 14:10:17 +01:00
|
|
|
source "drivers/firmware/arm_scmi/Kconfig"
|
2017-06-14 13:48:26 +01:00
|
|
|
|
2015-03-30 10:59:52 +01:00
|
|
|
config ARM_SCPI_PROTOCOL
|
|
|
|
tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
|
2017-01-30 09:52:01 +01:00
|
|
|
depends on ARM || ARM64 || COMPILE_TEST
|
2016-06-05 18:23:21 +01:00
|
|
|
depends on MAILBOX
|
2015-03-30 10:59:52 +01:00
|
|
|
help
|
|
|
|
System Control and Power Interface (SCPI) Message Protocol is
|
|
|
|
defined for the purpose of communication between the Application
|
|
|
|
Cores(AP) and the System Control Processor(SCP). The MHU peripheral
|
|
|
|
provides a mechanism for inter-processor communication between SCP
|
|
|
|
and AP.
|
|
|
|
|
2020-12-04 19:22:50 +00:00
|
|
|
SCP controls most of the power management on the Application
|
2015-03-30 10:59:52 +01:00
|
|
|
Processors. It offers control and management of: the core/cluster
|
|
|
|
power states, various power domain DVFS including the core/cluster,
|
|
|
|
certain system clocks configuration, thermal sensors and many
|
|
|
|
others.
|
|
|
|
|
|
|
|
This protocol library provides interface for all the client drivers
|
|
|
|
making use of the features offered by the SCP.
|
|
|
|
|
2018-01-08 15:38:09 +00:00
|
|
|
config ARM_SDE_INTERFACE
|
|
|
|
bool "ARM Software Delegated Exception Interface (SDEI)"
|
|
|
|
depends on ARM64
|
|
|
|
help
|
|
|
|
The Software Delegated Exception Interface (SDEI) is an ARM
|
|
|
|
standard for registering callbacks from the platform firmware
|
|
|
|
into the OS. This is typically used to implement RAS notifications.
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
config EDD
|
2006-06-25 05:47:46 -07:00
|
|
|
tristate "BIOS Enhanced Disk Drive calls determine boot disk"
|
2009-12-14 18:01:16 -08:00
|
|
|
depends on X86
|
2005-04-16 15:20:36 -07:00
|
|
|
help
|
|
|
|
Say Y or M here if you want to enable BIOS Enhanced Disk Drive
|
|
|
|
Services real mode BIOS calls to determine which disk
|
|
|
|
BIOS tries boot from. This information is then exported via sysfs.
|
|
|
|
|
|
|
|
This option is experimental and is known to fail to boot on some
|
|
|
|
obscure configurations. Most disk controller BIOS vendors do
|
|
|
|
not yet implement this feature.
|
|
|
|
|
2008-04-29 01:02:45 -07:00
|
|
|
config EDD_OFF
|
|
|
|
bool "Sets default behavior for EDD detection to off"
|
|
|
|
depends on EDD
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say Y if you want EDD disabled by default, even though it is compiled into the
|
|
|
|
kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
|
|
|
|
using the kernel parameter 'edd={on|skipmbr|off}'.
|
|
|
|
|
2008-06-27 13:12:54 +02:00
|
|
|
config FIRMWARE_MEMMAP
|
2011-01-20 14:44:16 -08:00
|
|
|
bool "Add firmware-provided memory map to sysfs" if EXPERT
|
2009-12-14 18:01:16 -08:00
|
|
|
default X86
|
2008-06-27 13:12:54 +02:00
|
|
|
help
|
|
|
|
Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
|
|
|
|
That memory map is used for example by kexec to set up parameter area
|
|
|
|
for the next kernel, but can also be used for debugging purposes.
|
|
|
|
|
|
|
|
See also Documentation/ABI/testing/sysfs-firmware-memmap.
|
|
|
|
|
2007-05-08 22:07:02 +02:00
|
|
|
config DMIID
|
|
|
|
bool "Export DMI identification via sysfs to userspace"
|
|
|
|
depends on DMI
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Say Y here if you want to query SMBIOS/DMI system identification
|
|
|
|
information from userspace through /sys/class/dmi/id/ or if you want
|
|
|
|
DMI-based module auto-loading.
|
|
|
|
|
2011-02-22 17:53:21 -08:00
|
|
|
config DMI_SYSFS
|
|
|
|
tristate "DMI table support in sysfs"
|
|
|
|
depends on SYSFS && DMI
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say Y or M here to enable the exporting of the raw DMI table
|
|
|
|
data via sysfs. This is useful for consuming the data without
|
|
|
|
requiring any access to /dev/mem at all. Tables are found
|
|
|
|
under /sys/firmware/dmi when this option is enabled and
|
|
|
|
loaded.
|
|
|
|
|
2014-01-23 15:54:39 -08:00
|
|
|
config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
|
|
|
|
bool
|
|
|
|
|
2008-04-09 19:50:41 -07:00
|
|
|
config ISCSI_IBFT_FIND
|
|
|
|
bool "iSCSI Boot Firmware Table Attributes"
|
2019-07-18 18:37:34 +00:00
|
|
|
depends on X86 && ISCSI_IBFT
|
2008-04-09 19:50:41 -07:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option enables the kernel to find the region of memory
|
|
|
|
in which the ISCSI Boot Firmware Table (iBFT) resides. This
|
|
|
|
is necessary for iSCSI Boot Firmware Table Attributes module to work
|
|
|
|
properly.
|
|
|
|
|
|
|
|
config ISCSI_IBFT
|
|
|
|
tristate "iSCSI Boot Firmware Table Attributes module"
|
2010-04-12 18:06:18 +00:00
|
|
|
select ISCSI_BOOT_SYSFS
|
2019-07-18 18:37:34 +00:00
|
|
|
select ISCSI_IBFT_FIND if X86
|
|
|
|
depends on ACPI && SCSI && SCSI_LOWLEVEL
|
2024-03-11 16:21:22 +05:30
|
|
|
default n
|
2008-04-09 19:50:41 -07:00
|
|
|
help
|
|
|
|
This option enables support for detection and exposing of iSCSI
|
|
|
|
Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
|
|
|
|
detect iSCSI boot parameters dynamically during system boot, say Y.
|
|
|
|
Otherwise, say N.
|
|
|
|
|
2015-02-26 10:08:06 +00:00
|
|
|
config RASPBERRYPI_FIRMWARE
|
2020-06-29 18:18:42 +02:00
|
|
|
tristate "Raspberry Pi Firmware Driver"
|
2015-02-26 10:08:06 +00:00
|
|
|
depends on BCM2835_MBOX
|
|
|
|
help
|
|
|
|
This option enables support for communicating with the firmware on the
|
|
|
|
Raspberry Pi.
|
|
|
|
|
2016-01-28 09:23:11 -05:00
|
|
|
config FW_CFG_SYSFS
|
|
|
|
tristate "QEMU fw_cfg device support in sysfs"
|
2023-10-12 12:28:52 +02:00
|
|
|
depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || RISCV || SPARC || X86)
|
2016-02-11 15:23:51 +01:00
|
|
|
depends on HAS_IOPORT_MAP
|
2016-01-28 09:23:11 -05:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say Y or M here to enable the exporting of the QEMU firmware
|
|
|
|
configuration (fw_cfg) file entries via sysfs. Entries are
|
|
|
|
found under /sys/firmware/fw_cfg when this option is enabled
|
|
|
|
and loaded.
|
|
|
|
|
|
|
|
config FW_CFG_SYSFS_CMDLINE
|
|
|
|
bool "QEMU fw_cfg device parameter parsing"
|
|
|
|
depends on FW_CFG_SYSFS
|
|
|
|
help
|
|
|
|
Allow the qemu_fw_cfg device to be initialized via the kernel
|
|
|
|
command line or using a module parameter.
|
|
|
|
WARNING: Using incorrect parameters (base address in particular)
|
|
|
|
may crash your system.
|
|
|
|
|
2018-11-13 12:14:01 -06:00
|
|
|
config INTEL_STRATIX10_SERVICE
|
|
|
|
tristate "Intel Stratix10 Service Layer"
|
2021-03-21 19:46:50 +01:00
|
|
|
depends on ARCH_INTEL_SOCFPGA && ARM64 && HAVE_ARM_SMCCC
|
2018-11-13 12:14:01 -06:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Intel Stratix10 service layer runs at privileged exception level,
|
|
|
|
interfaces with the service providers (FPGA manager is one of them)
|
|
|
|
and manages secure monitor call to communicate with secure monitor
|
|
|
|
software at secure monitor exception level.
|
|
|
|
|
|
|
|
Say Y here if you want Stratix10 service layer support.
|
|
|
|
|
2019-09-03 08:18:19 -05:00
|
|
|
config INTEL_STRATIX10_RSU
|
|
|
|
tristate "Intel Stratix10 Remote System Update"
|
|
|
|
depends on INTEL_STRATIX10_SERVICE
|
|
|
|
help
|
|
|
|
The Intel Remote System Update (RSU) driver exposes interfaces
|
|
|
|
access through the Intel Service Layer to user space via sysfs
|
|
|
|
device attribute nodes. The RSU interfaces report/control some of
|
|
|
|
the optional RSU features of the Stratix 10 SoC FPGA.
|
|
|
|
|
|
|
|
The RSU provides a way for customers to update the boot
|
|
|
|
configuration of a Stratix 10 SoC device with significantly reduced
|
|
|
|
risk of corrupting the bitstream storage and bricking the system.
|
|
|
|
|
|
|
|
Enable RSU support if you are using an Intel SoC FPGA with the RSU
|
|
|
|
feature enabled and you want Linux user space control.
|
|
|
|
|
|
|
|
Say Y here if you want Intel RSU support.
|
|
|
|
|
2022-05-12 16:22:13 +08:00
|
|
|
config MTK_ADSP_IPC
|
|
|
|
tristate "MTK ADSP IPC Protocol driver"
|
|
|
|
depends on MTK_ADSP_MBOX
|
|
|
|
help
|
|
|
|
Say yes here to add support for the MediaTek ADSP IPC
|
|
|
|
between host AP (Linux) and the firmware running on ADSP.
|
|
|
|
ADSP exists on some mtk processors.
|
|
|
|
Client might use shared memory to exchange information with ADSP.
|
|
|
|
|
2021-06-25 15:09:46 +02:00
|
|
|
config SYSFB
|
|
|
|
bool
|
2022-02-25 21:51:34 +01:00
|
|
|
select BOOT_VESA_SUPPORT
|
2024-02-12 10:06:09 +01:00
|
|
|
select SCREEN_INFO
|
2021-06-25 15:09:46 +02:00
|
|
|
|
2021-06-25 15:13:59 +02:00
|
|
|
config SYSFB_SIMPLEFB
|
2021-06-25 15:09:46 +02:00
|
|
|
bool "Mark VGA/VBE/EFI FB as generic system framebuffer"
|
2022-02-25 21:51:33 +01:00
|
|
|
depends on X86 || EFI
|
|
|
|
select SYSFB
|
2021-06-25 15:09:46 +02:00
|
|
|
help
|
|
|
|
Firmwares often provide initial graphics framebuffers so the BIOS,
|
|
|
|
bootloader or kernel can show basic video-output during boot for
|
|
|
|
user-guidance and debugging. Historically, x86 used the VESA BIOS
|
|
|
|
Extensions and EFI-framebuffers for this, which are mostly limited
|
2021-06-25 15:13:59 +02:00
|
|
|
to x86 BIOS or EFI systems.
|
2021-06-25 15:09:46 +02:00
|
|
|
This option, if enabled, marks VGA/VBE/EFI framebuffers as generic
|
|
|
|
framebuffers so the new generic system-framebuffer drivers can be
|
2021-06-25 15:13:59 +02:00
|
|
|
used instead. If the framebuffer is not compatible with the generic
|
2021-06-25 15:09:46 +02:00
|
|
|
modes, it is advertised as fallback platform framebuffer so legacy
|
|
|
|
drivers like efifb, vesafb and uvesafb can pick it up.
|
|
|
|
If this option is not selected, all system framebuffers are always
|
|
|
|
marked as fallback platform framebuffers as usual.
|
|
|
|
|
|
|
|
Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will
|
|
|
|
not be able to pick up generic system framebuffers if this option
|
|
|
|
is selected. You are highly encouraged to enable simplefb as
|
|
|
|
replacement if you select this option. simplefb can correctly deal
|
|
|
|
with generic system framebuffers. But you should still keep vesafb
|
|
|
|
and others enabled as fallback if a system framebuffer is
|
|
|
|
incompatible with simplefb.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
2025-03-11 18:18:57 +01:00
|
|
|
config TH1520_AON_PROTOCOL
|
|
|
|
tristate "Always-On firmware protocol"
|
|
|
|
depends on ARCH_THEAD || COMPILE_TEST
|
2025-03-14 16:48:13 +01:00
|
|
|
depends on MAILBOX
|
2025-03-11 18:18:57 +01:00
|
|
|
help
|
|
|
|
Power, clock, and resource management capabilities on the TH1520 SoC are
|
|
|
|
managed by the E902 core. Firmware running on this core communicates with
|
|
|
|
the kernel through the Always-On protocol, using hardware mailbox as a medium.
|
|
|
|
Say yes if you need such capabilities.
|
|
|
|
|
2016-10-18 18:08:34 -05:00
|
|
|
config TI_SCI_PROTOCOL
|
|
|
|
tristate "TI System Control Interface (TISCI) Message Protocol"
|
|
|
|
depends on TI_MESSAGE_MANAGER
|
2025-02-20 14:31:17 +01:00
|
|
|
default ARCH_K3
|
2016-10-18 18:08:34 -05:00
|
|
|
help
|
|
|
|
TI System Control Interface (TISCI) Message Protocol is used to manage
|
|
|
|
compute systems such as ARM, DSP etc with the system controller in
|
|
|
|
complex System on Chip(SoC) such as those found on certain keystone
|
|
|
|
generation SoC from TI.
|
|
|
|
|
|
|
|
System controller provides various facilities including power
|
|
|
|
management function support.
|
|
|
|
|
|
|
|
This protocol library is used by client drivers to use the features
|
|
|
|
provided by the system controller.
|
|
|
|
|
2019-04-10 10:47:28 +02:00
|
|
|
config TRUSTED_FOUNDATIONS
|
|
|
|
bool "Trusted Foundations secure monitor support"
|
2019-06-17 14:33:23 +02:00
|
|
|
depends on ARM && CPU_V7
|
2019-04-10 10:47:28 +02:00
|
|
|
help
|
|
|
|
Some devices (including most early Tegra-based consumer devices on
|
|
|
|
the market) are booted with the Trusted Foundations secure monitor
|
|
|
|
active, requiring some core operations to be performed by the secure
|
|
|
|
monitor instead of the kernel.
|
|
|
|
|
|
|
|
This option allows the kernel to invoke the secure monitor whenever
|
|
|
|
required on devices using Trusted Foundations. See the functions and
|
|
|
|
comments in linux/firmware/trusted_foundations.h or the device tree
|
|
|
|
bindings for "tlm,trusted-foundations" for details on how to use it.
|
|
|
|
|
|
|
|
Choose N if you don't know what this is about.
|
|
|
|
|
2019-08-22 03:43:17 +02:00
|
|
|
config TURRIS_MOX_RWTM
|
|
|
|
tristate "Turris Mox rWTM secure firmware driver"
|
|
|
|
depends on ARCH_MVEBU || COMPILE_TEST
|
|
|
|
depends on HAS_DMA && OF
|
|
|
|
depends on MAILBOX
|
|
|
|
select HW_RANDOM
|
|
|
|
select ARMADA_37XX_RWTM_MBOX
|
|
|
|
help
|
|
|
|
This driver communicates with the firmware on the Cortex-M3 secure
|
|
|
|
processor of the Turris Mox router. Enable if you are building for
|
|
|
|
Turris Mox, and you will be able to read the device serial number and
|
|
|
|
other manufacturing data and also utilize the Entropy Bit Generator
|
|
|
|
for hardware random number generation.
|
|
|
|
|
2025-02-04 14:14:15 +01:00
|
|
|
if TURRIS_MOX_RWTM
|
|
|
|
|
|
|
|
config TURRIS_MOX_RWTM_KEYCTL
|
|
|
|
bool "Turris Mox rWTM ECDSA message signing"
|
|
|
|
default y
|
|
|
|
depends on KEYS
|
|
|
|
depends on ASYMMETRIC_KEY_TYPE
|
|
|
|
select CZNIC_PLATFORMS
|
|
|
|
select TURRIS_SIGNING_KEY
|
|
|
|
help
|
|
|
|
Say Y here to add support for ECDSA message signing with board private
|
|
|
|
key (each Turris Mox has an ECDSA private key generated in the secure
|
|
|
|
coprocessor when manufactured). This functionality is exposed via the
|
|
|
|
keyctl() syscall.
|
|
|
|
|
|
|
|
endif # TURRIS_MOX_RWTM
|
|
|
|
|
2021-05-21 16:10:29 +01:00
|
|
|
source "drivers/firmware/arm_ffa/Kconfig"
|
2015-06-10 23:05:08 +02:00
|
|
|
source "drivers/firmware/broadcom/Kconfig"
|
2021-09-13 17:00:57 +01:00
|
|
|
source "drivers/firmware/cirrus/Kconfig"
|
2011-04-29 17:39:19 -07:00
|
|
|
source "drivers/firmware/google/Kconfig"
|
2013-02-08 15:48:51 +00:00
|
|
|
source "drivers/firmware/efi/Kconfig"
|
2018-10-07 21:04:42 +08:00
|
|
|
source "drivers/firmware/imx/Kconfig"
|
2016-08-27 15:43:43 +02:00
|
|
|
source "drivers/firmware/meson/Kconfig"
|
2023-10-20 14:18:43 +01:00
|
|
|
source "drivers/firmware/microchip/Kconfig"
|
2020-05-18 10:12:16 +01:00
|
|
|
source "drivers/firmware/psci/Kconfig"
|
2023-10-17 11:27:18 +02:00
|
|
|
source "drivers/firmware/qcom/Kconfig"
|
2025-02-13 13:05:15 +00:00
|
|
|
source "drivers/firmware/samsung/Kconfig"
|
2020-05-18 10:12:16 +01:00
|
|
|
source "drivers/firmware/smccc/Kconfig"
|
2016-08-19 19:05:04 +02:00
|
|
|
source "drivers/firmware/tegra/Kconfig"
|
2018-09-12 12:38:36 -07:00
|
|
|
source "drivers/firmware/xilinx/Kconfig"
|
2011-04-29 17:39:19 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
endmenu
|