1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# For a description of the syntax of this configuration file, 4cd238effSMauro Carvalho Chehab# see Documentation/kbuild/kconfig-language.rst. 51da177e4SLinus Torvalds# 61da177e4SLinus Torvalds 71da177e4SLinus Torvaldsmenu "Firmware Drivers" 81da177e4SLinus Torvalds 9e8419c24SCristian Marussisource "drivers/firmware/arm_scmi/Kconfig" 10898216c9SSudeep Holla 118cb7cf56SSudeep Hollaconfig ARM_SCPI_PROTOCOL 128cb7cf56SSudeep Holla tristate "ARM System Control and Power Interface (SCPI) Message Protocol" 1392f3e6ebSJean Delvare depends on ARM || ARM64 || COMPILE_TEST 148f1498c0SSudeep Holla depends on MAILBOX 158cb7cf56SSudeep Holla help 168cb7cf56SSudeep Holla System Control and Power Interface (SCPI) Message Protocol is 178cb7cf56SSudeep Holla defined for the purpose of communication between the Application 188cb7cf56SSudeep Holla Cores(AP) and the System Control Processor(SCP). The MHU peripheral 198cb7cf56SSudeep Holla provides a mechanism for inter-processor communication between SCP 208cb7cf56SSudeep Holla and AP. 218cb7cf56SSudeep Holla 2254da51a8SColin Ian King SCP controls most of the power management on the Application 238cb7cf56SSudeep Holla Processors. It offers control and management of: the core/cluster 248cb7cf56SSudeep Holla power states, various power domain DVFS including the core/cluster, 258cb7cf56SSudeep Holla certain system clocks configuration, thermal sensors and many 268cb7cf56SSudeep Holla others. 278cb7cf56SSudeep Holla 288cb7cf56SSudeep Holla This protocol library provides interface for all the client drivers 298cb7cf56SSudeep Holla making use of the features offered by the SCP. 308cb7cf56SSudeep Holla 31ad6eb31eSJames Morseconfig ARM_SDE_INTERFACE 32ad6eb31eSJames Morse bool "ARM Software Delegated Exception Interface (SDEI)" 33ad6eb31eSJames Morse depends on ARM64 34ad6eb31eSJames Morse help 35ad6eb31eSJames Morse The Software Delegated Exception Interface (SDEI) is an ARM 36ad6eb31eSJames Morse standard for registering callbacks from the platform firmware 37ad6eb31eSJames Morse into the OS. This is typically used to implement RAS notifications. 38ad6eb31eSJames Morse 391da177e4SLinus Torvaldsconfig EDD 405d18639aSChris Wedgwood tristate "BIOS Enhanced Disk Drive calls determine boot disk" 419b6e3e42SMike Frysinger depends on X86 421da177e4SLinus Torvalds help 431da177e4SLinus Torvalds Say Y or M here if you want to enable BIOS Enhanced Disk Drive 441da177e4SLinus Torvalds Services real mode BIOS calls to determine which disk 451da177e4SLinus Torvalds BIOS tries boot from. This information is then exported via sysfs. 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds This option is experimental and is known to fail to boot on some 481da177e4SLinus Torvalds obscure configurations. Most disk controller BIOS vendors do 491da177e4SLinus Torvalds not yet implement this feature. 501da177e4SLinus Torvalds 518c4dd606STim Gardnerconfig EDD_OFF 528c4dd606STim Gardner bool "Sets default behavior for EDD detection to off" 538c4dd606STim Gardner depends on EDD 548c4dd606STim Gardner default n 558c4dd606STim Gardner help 568c4dd606STim Gardner Say Y if you want EDD disabled by default, even though it is compiled into the 578c4dd606STim Gardner kernel. Say N if you want EDD enabled by default. EDD can be dynamically set 588c4dd606STim Gardner using the kernel parameter 'edd={on|skipmbr|off}'. 598c4dd606STim Gardner 6069ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP 616a108a14SDavid Rientjes bool "Add firmware-provided memory map to sysfs" if EXPERT 629b6e3e42SMike Frysinger default X86 6369ac9cd6SBernhard Walle help 6469ac9cd6SBernhard Walle Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 6569ac9cd6SBernhard Walle That memory map is used for example by kexec to set up parameter area 6669ac9cd6SBernhard Walle for the next kernel, but can also be used for debugging purposes. 6769ac9cd6SBernhard Walle 6869ac9cd6SBernhard Walle See also Documentation/ABI/testing/sysfs-firmware-memmap. 6969ac9cd6SBernhard Walle 704f5c791aSLennart Poetteringconfig DMIID 714f5c791aSLennart Poettering bool "Export DMI identification via sysfs to userspace" 724f5c791aSLennart Poettering depends on DMI 734f5c791aSLennart Poettering default y 744f5c791aSLennart Poettering help 754f5c791aSLennart Poettering Say Y here if you want to query SMBIOS/DMI system identification 764f5c791aSLennart Poettering information from userspace through /sys/class/dmi/id/ or if you want 774f5c791aSLennart Poettering DMI-based module auto-loading. 784f5c791aSLennart Poettering 79948af1f0SMike Waychisonconfig DMI_SYSFS 80948af1f0SMike Waychison tristate "DMI table support in sysfs" 81948af1f0SMike Waychison depends on SYSFS && DMI 82948af1f0SMike Waychison default n 83948af1f0SMike Waychison help 84948af1f0SMike Waychison Say Y or M here to enable the exporting of the raw DMI table 85948af1f0SMike Waychison data via sysfs. This is useful for consuming the data without 86948af1f0SMike Waychison requiring any access to /dev/mem at all. Tables are found 87948af1f0SMike Waychison under /sys/firmware/dmi when this option is enabled and 88948af1f0SMike Waychison loaded. 89948af1f0SMike Waychison 90cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK 91cf074402SArd Biesheuvel bool 92cf074402SArd Biesheuvel 93138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND 94138fe4e0SKonrad Rzeszutek bool "iSCSI Boot Firmware Table Attributes" 9594bccc34SThomas Tai depends on X86 && ISCSI_IBFT 96138fe4e0SKonrad Rzeszutek default n 97138fe4e0SKonrad Rzeszutek help 98138fe4e0SKonrad Rzeszutek This option enables the kernel to find the region of memory 99138fe4e0SKonrad Rzeszutek in which the ISCSI Boot Firmware Table (iBFT) resides. This 100138fe4e0SKonrad Rzeszutek is necessary for iSCSI Boot Firmware Table Attributes module to work 101138fe4e0SKonrad Rzeszutek properly. 102138fe4e0SKonrad Rzeszutek 103138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT 104138fe4e0SKonrad Rzeszutek tristate "iSCSI Boot Firmware Table Attributes module" 105b33a84a3SMike Christie select ISCSI_BOOT_SYSFS 10694bccc34SThomas Tai select ISCSI_IBFT_FIND if X86 10794bccc34SThomas Tai depends on ACPI && SCSI && SCSI_LOWLEVEL 108138fe4e0SKonrad Rzeszutek default n 109138fe4e0SKonrad Rzeszutek help 110138fe4e0SKonrad Rzeszutek This option enables support for detection and exposing of iSCSI 111138fe4e0SKonrad Rzeszutek Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to 112138fe4e0SKonrad Rzeszutek detect iSCSI boot parameters dynamically during system boot, say Y. 113138fe4e0SKonrad Rzeszutek Otherwise, say N. 114138fe4e0SKonrad Rzeszutek 1154e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE 11683a06a10SNicolas Saenz Julienne tristate "Raspberry Pi Firmware Driver" 1174e3d6065SEric Anholt depends on BCM2835_MBOX 1184e3d6065SEric Anholt help 1194e3d6065SEric Anholt This option enables support for communicating with the firmware on the 1204e3d6065SEric Anholt Raspberry Pi. 1214e3d6065SEric Anholt 12275f3e8e4SGabriel Somloconfig FW_CFG_SYSFS 12375f3e8e4SGabriel Somlo tristate "QEMU fw_cfg device support in sysfs" 124f2de37a5SBjörn Töpel depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || RISCV || SPARC || X86) 12528c09ec4SArnd Bergmann depends on HAS_IOPORT_MAP 12675f3e8e4SGabriel Somlo default n 12775f3e8e4SGabriel Somlo help 12875f3e8e4SGabriel Somlo Say Y or M here to enable the exporting of the QEMU firmware 12975f3e8e4SGabriel Somlo configuration (fw_cfg) file entries via sysfs. Entries are 13075f3e8e4SGabriel Somlo found under /sys/firmware/fw_cfg when this option is enabled 13175f3e8e4SGabriel Somlo and loaded. 13275f3e8e4SGabriel Somlo 13375f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE 13475f3e8e4SGabriel Somlo bool "QEMU fw_cfg device parameter parsing" 13575f3e8e4SGabriel Somlo depends on FW_CFG_SYSFS 13675f3e8e4SGabriel Somlo help 13775f3e8e4SGabriel Somlo Allow the qemu_fw_cfg device to be initialized via the kernel 13875f3e8e4SGabriel Somlo command line or using a module parameter. 13975f3e8e4SGabriel Somlo WARNING: Using incorrect parameters (base address in particular) 14075f3e8e4SGabriel Somlo may crash your system. 14175f3e8e4SGabriel Somlo 1427ca5ce89SRichard Gongconfig INTEL_STRATIX10_SERVICE 1437ca5ce89SRichard Gong tristate "Intel Stratix10 Service Layer" 14438ad957bSKrzysztof Kozlowski depends on ARCH_INTEL_SOCFPGA && ARM64 && HAVE_ARM_SMCCC 1457ca5ce89SRichard Gong default n 1467ca5ce89SRichard Gong help 1477ca5ce89SRichard Gong Intel Stratix10 service layer runs at privileged exception level, 1487ca5ce89SRichard Gong interfaces with the service providers (FPGA manager is one of them) 1497ca5ce89SRichard Gong and manages secure monitor call to communicate with secure monitor 1507ca5ce89SRichard Gong software at secure monitor exception level. 1517ca5ce89SRichard Gong 1527ca5ce89SRichard Gong Say Y here if you want Stratix10 service layer support. 1537ca5ce89SRichard Gong 1544526ebbcSRichard Gongconfig INTEL_STRATIX10_RSU 1554526ebbcSRichard Gong tristate "Intel Stratix10 Remote System Update" 1564526ebbcSRichard Gong depends on INTEL_STRATIX10_SERVICE 1574526ebbcSRichard Gong help 1584526ebbcSRichard Gong The Intel Remote System Update (RSU) driver exposes interfaces 1594526ebbcSRichard Gong access through the Intel Service Layer to user space via sysfs 1604526ebbcSRichard Gong device attribute nodes. The RSU interfaces report/control some of 1614526ebbcSRichard Gong the optional RSU features of the Stratix 10 SoC FPGA. 1624526ebbcSRichard Gong 1634526ebbcSRichard Gong The RSU provides a way for customers to update the boot 1644526ebbcSRichard Gong configuration of a Stratix 10 SoC device with significantly reduced 1654526ebbcSRichard Gong risk of corrupting the bitstream storage and bricking the system. 1664526ebbcSRichard Gong 1674526ebbcSRichard Gong Enable RSU support if you are using an Intel SoC FPGA with the RSU 1684526ebbcSRichard Gong feature enabled and you want Linux user space control. 1694526ebbcSRichard Gong 1704526ebbcSRichard Gong Say Y here if you want Intel RSU support. 1714526ebbcSRichard Gong 1729db69df4STingHan Shenconfig MTK_ADSP_IPC 1739db69df4STingHan Shen tristate "MTK ADSP IPC Protocol driver" 1749db69df4STingHan Shen depends on MTK_ADSP_MBOX 1759db69df4STingHan Shen help 1769db69df4STingHan Shen Say yes here to add support for the MediaTek ADSP IPC 1779db69df4STingHan Shen between host AP (Linux) and the firmware running on ADSP. 1789db69df4STingHan Shen ADSP exists on some mtk processors. 1799db69df4STingHan Shen Client might use shared memory to exchange information with ADSP. 1809db69df4STingHan Shen 181d391c582SJavier Martinez Canillasconfig SYSFB 182d391c582SJavier Martinez Canillas bool 1838b766b0fSMichal Suchanek select BOOT_VESA_SUPPORT 18475fa9b7eSThomas Zimmermann select SCREEN_INFO 185d391c582SJavier Martinez Canillas 1868633ef82SJavier Martinez Canillasconfig SYSFB_SIMPLEFB 187d391c582SJavier Martinez Canillas bool "Mark VGA/VBE/EFI FB as generic system framebuffer" 188a4a072d9SMichal Suchanek depends on X86 || EFI 189a4a072d9SMichal Suchanek select SYSFB 190d391c582SJavier Martinez Canillas help 191d391c582SJavier Martinez Canillas Firmwares often provide initial graphics framebuffers so the BIOS, 192d391c582SJavier Martinez Canillas bootloader or kernel can show basic video-output during boot for 193d391c582SJavier Martinez Canillas user-guidance and debugging. Historically, x86 used the VESA BIOS 194d391c582SJavier Martinez Canillas Extensions and EFI-framebuffers for this, which are mostly limited 1958633ef82SJavier Martinez Canillas to x86 BIOS or EFI systems. 196d391c582SJavier Martinez Canillas This option, if enabled, marks VGA/VBE/EFI framebuffers as generic 197d391c582SJavier Martinez Canillas framebuffers so the new generic system-framebuffer drivers can be 1988633ef82SJavier Martinez Canillas used instead. If the framebuffer is not compatible with the generic 199d391c582SJavier Martinez Canillas modes, it is advertised as fallback platform framebuffer so legacy 200d391c582SJavier Martinez Canillas drivers like efifb, vesafb and uvesafb can pick it up. 201d391c582SJavier Martinez Canillas If this option is not selected, all system framebuffers are always 202d391c582SJavier Martinez Canillas marked as fallback platform framebuffers as usual. 203d391c582SJavier Martinez Canillas 204d391c582SJavier Martinez Canillas Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will 205d391c582SJavier Martinez Canillas not be able to pick up generic system framebuffers if this option 206d391c582SJavier Martinez Canillas is selected. You are highly encouraged to enable simplefb as 207d391c582SJavier Martinez Canillas replacement if you select this option. simplefb can correctly deal 208d391c582SJavier Martinez Canillas with generic system framebuffers. But you should still keep vesafb 209d391c582SJavier Martinez Canillas and others enabled as fallback if a system framebuffer is 210d391c582SJavier Martinez Canillas incompatible with simplefb. 211d391c582SJavier Martinez Canillas 212d391c582SJavier Martinez Canillas If unsure, say Y. 213d391c582SJavier Martinez Canillas 214e4b3cbd8SMichal Wilczynskiconfig TH1520_AON_PROTOCOL 215e4b3cbd8SMichal Wilczynski tristate "Always-On firmware protocol" 216e4b3cbd8SMichal Wilczynski depends on ARCH_THEAD || COMPILE_TEST 21751f0b891SArnd Bergmann depends on MAILBOX 218e4b3cbd8SMichal Wilczynski help 219e4b3cbd8SMichal Wilczynski Power, clock, and resource management capabilities on the TH1520 SoC are 220e4b3cbd8SMichal Wilczynski managed by the E902 core. Firmware running on this core communicates with 221e4b3cbd8SMichal Wilczynski the kernel through the Always-On protocol, using hardware mailbox as a medium. 222e4b3cbd8SMichal Wilczynski Say yes if you need such capabilities. 223e4b3cbd8SMichal Wilczynski 224aa276781SNishanth Menonconfig TI_SCI_PROTOCOL 225aa276781SNishanth Menon tristate "TI System Control Interface (TISCI) Message Protocol" 226aa276781SNishanth Menon depends on TI_MESSAGE_MANAGER 2279a9b7cd7SGuillaume La Roque default ARCH_K3 228aa276781SNishanth Menon help 229aa276781SNishanth Menon TI System Control Interface (TISCI) Message Protocol is used to manage 230aa276781SNishanth Menon compute systems such as ARM, DSP etc with the system controller in 231aa276781SNishanth Menon complex System on Chip(SoC) such as those found on certain keystone 232aa276781SNishanth Menon generation SoC from TI. 233aa276781SNishanth Menon 234aa276781SNishanth Menon System controller provides various facilities including power 235aa276781SNishanth Menon management function support. 236aa276781SNishanth Menon 237aa276781SNishanth Menon This protocol library is used by client drivers to use the features 238aa276781SNishanth Menon provided by the system controller. 239aa276781SNishanth Menon 2404cb5d9ecSThierry Redingconfig TRUSTED_FOUNDATIONS 2414cb5d9ecSThierry Reding bool "Trusted Foundations secure monitor support" 242cad47b32SArnd Bergmann depends on ARM && CPU_V7 2434cb5d9ecSThierry Reding help 2444cb5d9ecSThierry Reding Some devices (including most early Tegra-based consumer devices on 2454cb5d9ecSThierry Reding the market) are booted with the Trusted Foundations secure monitor 2464cb5d9ecSThierry Reding active, requiring some core operations to be performed by the secure 2474cb5d9ecSThierry Reding monitor instead of the kernel. 2484cb5d9ecSThierry Reding 2494cb5d9ecSThierry Reding This option allows the kernel to invoke the secure monitor whenever 2504cb5d9ecSThierry Reding required on devices using Trusted Foundations. See the functions and 2514cb5d9ecSThierry Reding comments in linux/firmware/trusted_foundations.h or the device tree 2524cb5d9ecSThierry Reding bindings for "tlm,trusted-foundations" for details on how to use it. 2534cb5d9ecSThierry Reding 2544cb5d9ecSThierry Reding Choose N if you don't know what this is about. 2554cb5d9ecSThierry Reding 256389711b3SMarek Behúnconfig TURRIS_MOX_RWTM 257389711b3SMarek Behún tristate "Turris Mox rWTM secure firmware driver" 258389711b3SMarek Behún depends on ARCH_MVEBU || COMPILE_TEST 259389711b3SMarek Behún depends on HAS_DMA && OF 260389711b3SMarek Behún depends on MAILBOX 261389711b3SMarek Behún select HW_RANDOM 262389711b3SMarek Behún select ARMADA_37XX_RWTM_MBOX 263389711b3SMarek Behún help 264389711b3SMarek Behún This driver communicates with the firmware on the Cortex-M3 secure 265389711b3SMarek Behún processor of the Turris Mox router. Enable if you are building for 266389711b3SMarek Behún Turris Mox, and you will be able to read the device serial number and 267389711b3SMarek Behún other manufacturing data and also utilize the Entropy Bit Generator 268389711b3SMarek Behún for hardware random number generation. 269389711b3SMarek Behún 270*ba8755abSMarek Behúnif TURRIS_MOX_RWTM 271*ba8755abSMarek Behún 272*ba8755abSMarek Behúnconfig TURRIS_MOX_RWTM_KEYCTL 273*ba8755abSMarek Behún bool "Turris Mox rWTM ECDSA message signing" 274*ba8755abSMarek Behún default y 275*ba8755abSMarek Behún depends on KEYS 276*ba8755abSMarek Behún depends on ASYMMETRIC_KEY_TYPE 277*ba8755abSMarek Behún select CZNIC_PLATFORMS 278*ba8755abSMarek Behún select TURRIS_SIGNING_KEY 279*ba8755abSMarek Behún help 280*ba8755abSMarek Behún Say Y here to add support for ECDSA message signing with board private 281*ba8755abSMarek Behún key (each Turris Mox has an ECDSA private key generated in the secure 282*ba8755abSMarek Behún coprocessor when manufactured). This functionality is exposed via the 283*ba8755abSMarek Behún keyctl() syscall. 284*ba8755abSMarek Behún 285*ba8755abSMarek Behúnendif # TURRIS_MOX_RWTM 286*ba8755abSMarek Behún 287e7818584SSudeep Hollasource "drivers/firmware/arm_ffa/Kconfig" 288f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig" 289f6bc909eSSimon Trimmersource "drivers/firmware/cirrus/Kconfig" 29074c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig" 29104851772SMatt Flemingsource "drivers/firmware/efi/Kconfig" 292edbee095SDong Aishengsource "drivers/firmware/imx/Kconfig" 2932c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig" 294ec5b0f11SConor Dooleysource "drivers/firmware/microchip/Kconfig" 295e5bfb21dSSudeep Hollasource "drivers/firmware/psci/Kconfig" 296bdac188eSBartosz Golaszewskisource "drivers/firmware/qcom/Kconfig" 297a88927b5STudor Ambarussource "drivers/firmware/samsung/Kconfig" 298e5bfb21dSSudeep Hollasource "drivers/firmware/smccc/Kconfig" 299ca791d7fSThierry Redingsource "drivers/firmware/tegra/Kconfig" 30076582671SRajan Vajasource "drivers/firmware/xilinx/Kconfig" 30174c5b31cSMike Waychison 3021da177e4SLinus Torvaldsendmenu 303