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 390c2c5659SKiryl Shutsemau (Meta)config ARM_SDEI_NMI 400c2c5659SKiryl Shutsemau (Meta) bool "SDEI-based cross-CPU NMI service (arm64)" 410c2c5659SKiryl Shutsemau (Meta) depends on ARM_SDE_INTERFACE 420c2c5659SKiryl Shutsemau (Meta) help 430c2c5659SKiryl Shutsemau (Meta) Provides SDEI-based cross-CPU NMI delivery for hooks that need 440c2c5659SKiryl Shutsemau (Meta) to reach interrupt-masked CPUs on silicon that lacks FEAT_NMI: 450c2c5659SKiryl Shutsemau (Meta) 460c2c5659SKiryl Shutsemau (Meta) - arch_trigger_cpumask_backtrace() (sysrq-l, RCU stalls, 470c2c5659SKiryl Shutsemau (Meta) hardlockup_all_cpu_backtrace, soft-lockup secondary dumps, 480c2c5659SKiryl Shutsemau (Meta) hung-task auxiliary dumps) 49d639f762SKiryl Shutsemau (Meta) - smp_send_stop() escalation (reboot/halt and the 50d639f762SKiryl Shutsemau (Meta) panic / kdump crash stop) 510c2c5659SKiryl Shutsemau (Meta) 520c2c5659SKiryl Shutsemau (Meta) The driver registers a handler for the SDEI software-signalled 530c2c5659SKiryl Shutsemau (Meta) event (event 0) and reaches a target CPU by signalling it with 540c2c5659SKiryl Shutsemau (Meta) SDEI_EVENT_SIGNAL. Firmware delivers the event out of EL3 550c2c5659SKiryl Shutsemau (Meta) regardless of the target's PSTATE.DAIF -- forced delivery into a 560c2c5659SKiryl Shutsemau (Meta) CPU wedged with interrupts locally masked. 570c2c5659SKiryl Shutsemau (Meta) 580c2c5659SKiryl Shutsemau (Meta) If unsure, say N. 590c2c5659SKiryl Shutsemau (Meta) 601da177e4SLinus Torvaldsconfig EDD 615d18639aSChris Wedgwood tristate "BIOS Enhanced Disk Drive calls determine boot disk" 629b6e3e42SMike Frysinger depends on X86 631da177e4SLinus Torvalds help 641da177e4SLinus Torvalds Say Y or M here if you want to enable BIOS Enhanced Disk Drive 651da177e4SLinus Torvalds Services real mode BIOS calls to determine which disk 661da177e4SLinus Torvalds BIOS tries boot from. This information is then exported via sysfs. 671da177e4SLinus Torvalds 681da177e4SLinus Torvalds This option is experimental and is known to fail to boot on some 691da177e4SLinus Torvalds obscure configurations. Most disk controller BIOS vendors do 701da177e4SLinus Torvalds not yet implement this feature. 711da177e4SLinus Torvalds 728c4dd606STim Gardnerconfig EDD_OFF 738c4dd606STim Gardner bool "Sets default behavior for EDD detection to off" 748c4dd606STim Gardner depends on EDD 758c4dd606STim Gardner default n 768c4dd606STim Gardner help 778c4dd606STim Gardner Say Y if you want EDD disabled by default, even though it is compiled into the 788c4dd606STim Gardner kernel. Say N if you want EDD enabled by default. EDD can be dynamically set 798c4dd606STim Gardner using the kernel parameter 'edd={on|skipmbr|off}'. 808c4dd606STim Gardner 8169ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP 826a108a14SDavid Rientjes bool "Add firmware-provided memory map to sysfs" if EXPERT 839b6e3e42SMike Frysinger default X86 8469ac9cd6SBernhard Walle help 8569ac9cd6SBernhard Walle Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 8669ac9cd6SBernhard Walle That memory map is used for example by kexec to set up parameter area 8769ac9cd6SBernhard Walle for the next kernel, but can also be used for debugging purposes. 8869ac9cd6SBernhard Walle 8969ac9cd6SBernhard Walle See also Documentation/ABI/testing/sysfs-firmware-memmap. 9069ac9cd6SBernhard Walle 914f5c791aSLennart Poetteringconfig DMIID 924f5c791aSLennart Poettering bool "Export DMI identification via sysfs to userspace" 934f5c791aSLennart Poettering depends on DMI 944f5c791aSLennart Poettering default y 954f5c791aSLennart Poettering help 964f5c791aSLennart Poettering Say Y here if you want to query SMBIOS/DMI system identification 974f5c791aSLennart Poettering information from userspace through /sys/class/dmi/id/ or if you want 984f5c791aSLennart Poettering DMI-based module auto-loading. 994f5c791aSLennart Poettering 100948af1f0SMike Waychisonconfig DMI_SYSFS 101948af1f0SMike Waychison tristate "DMI table support in sysfs" 102948af1f0SMike Waychison depends on SYSFS && DMI 103948af1f0SMike Waychison default n 104948af1f0SMike Waychison help 105948af1f0SMike Waychison Say Y or M here to enable the exporting of the raw DMI table 106948af1f0SMike Waychison data via sysfs. This is useful for consuming the data without 107948af1f0SMike Waychison requiring any access to /dev/mem at all. Tables are found 108948af1f0SMike Waychison under /sys/firmware/dmi when this option is enabled and 109948af1f0SMike Waychison loaded. 110948af1f0SMike Waychison 111cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK 112cf074402SArd Biesheuvel bool 113cf074402SArd Biesheuvel 114138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND 115138fe4e0SKonrad Rzeszutek bool "iSCSI Boot Firmware Table Attributes" 11694bccc34SThomas Tai depends on X86 && ISCSI_IBFT 117138fe4e0SKonrad Rzeszutek default n 118138fe4e0SKonrad Rzeszutek help 119138fe4e0SKonrad Rzeszutek This option enables the kernel to find the region of memory 120138fe4e0SKonrad Rzeszutek in which the ISCSI Boot Firmware Table (iBFT) resides. This 121138fe4e0SKonrad Rzeszutek is necessary for iSCSI Boot Firmware Table Attributes module to work 122138fe4e0SKonrad Rzeszutek properly. 123138fe4e0SKonrad Rzeszutek 124138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT 125138fe4e0SKonrad Rzeszutek tristate "iSCSI Boot Firmware Table Attributes module" 126b33a84a3SMike Christie select ISCSI_BOOT_SYSFS 12794bccc34SThomas Tai select ISCSI_IBFT_FIND if X86 12894bccc34SThomas Tai depends on ACPI && SCSI && SCSI_LOWLEVEL 129138fe4e0SKonrad Rzeszutek default n 130138fe4e0SKonrad Rzeszutek help 131138fe4e0SKonrad Rzeszutek This option enables support for detection and exposing of iSCSI 132138fe4e0SKonrad Rzeszutek Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to 133138fe4e0SKonrad Rzeszutek detect iSCSI boot parameters dynamically during system boot, say Y. 134138fe4e0SKonrad Rzeszutek Otherwise, say N. 135138fe4e0SKonrad Rzeszutek 1364e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE 13783a06a10SNicolas Saenz Julienne tristate "Raspberry Pi Firmware Driver" 138e8f908b9SChen-Yu Tsai depends on ARCH_BCM2835 || COMPILE_TEST 139e8f908b9SChen-Yu Tsai depends on ARM || ARM64 140e8f908b9SChen-Yu Tsai depends on MAILBOX 141e8f908b9SChen-Yu Tsai default ARCH_BCM2835 1424e3d6065SEric Anholt help 1434e3d6065SEric Anholt This option enables support for communicating with the firmware on the 1444e3d6065SEric Anholt Raspberry Pi. 1454e3d6065SEric Anholt 14675f3e8e4SGabriel Somloconfig FW_CFG_SYSFS 14775f3e8e4SGabriel Somlo tristate "QEMU fw_cfg device support in sysfs" 1487222e8c8SHuacai Chen depends on SYSFS && (ARM || ARM64 || LOONGARCH || PARISC || PPC_PMAC || RISCV || SPARC || X86) 14928c09ec4SArnd Bergmann depends on HAS_IOPORT_MAP 15075f3e8e4SGabriel Somlo default n 15175f3e8e4SGabriel Somlo help 15275f3e8e4SGabriel Somlo Say Y or M here to enable the exporting of the QEMU firmware 15375f3e8e4SGabriel Somlo configuration (fw_cfg) file entries via sysfs. Entries are 15475f3e8e4SGabriel Somlo found under /sys/firmware/fw_cfg when this option is enabled 15575f3e8e4SGabriel Somlo and loaded. 15675f3e8e4SGabriel Somlo 15775f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE 15875f3e8e4SGabriel Somlo bool "QEMU fw_cfg device parameter parsing" 15975f3e8e4SGabriel Somlo depends on FW_CFG_SYSFS 16075f3e8e4SGabriel Somlo help 16175f3e8e4SGabriel Somlo Allow the qemu_fw_cfg device to be initialized via the kernel 16275f3e8e4SGabriel Somlo command line or using a module parameter. 16375f3e8e4SGabriel Somlo WARNING: Using incorrect parameters (base address in particular) 16475f3e8e4SGabriel Somlo may crash your system. 16575f3e8e4SGabriel Somlo 1667ca5ce89SRichard Gongconfig INTEL_STRATIX10_SERVICE 1677ca5ce89SRichard Gong tristate "Intel Stratix10 Service Layer" 16838ad957bSKrzysztof Kozlowski depends on ARCH_INTEL_SOCFPGA && ARM64 && HAVE_ARM_SMCCC 1697ca5ce89SRichard Gong default n 1707ca5ce89SRichard Gong help 1717ca5ce89SRichard Gong Intel Stratix10 service layer runs at privileged exception level, 1727ca5ce89SRichard Gong interfaces with the service providers (FPGA manager is one of them) 1737ca5ce89SRichard Gong and manages secure monitor call to communicate with secure monitor 1747ca5ce89SRichard Gong software at secure monitor exception level. 1757ca5ce89SRichard Gong 1767ca5ce89SRichard Gong Say Y here if you want Stratix10 service layer support. 1777ca5ce89SRichard Gong 1784526ebbcSRichard Gongconfig INTEL_STRATIX10_RSU 1794526ebbcSRichard Gong tristate "Intel Stratix10 Remote System Update" 1804526ebbcSRichard Gong depends on INTEL_STRATIX10_SERVICE 1814526ebbcSRichard Gong help 1824526ebbcSRichard Gong The Intel Remote System Update (RSU) driver exposes interfaces 1834526ebbcSRichard Gong access through the Intel Service Layer to user space via sysfs 1844526ebbcSRichard Gong device attribute nodes. The RSU interfaces report/control some of 1854526ebbcSRichard Gong the optional RSU features of the Stratix 10 SoC FPGA. 1864526ebbcSRichard Gong 1874526ebbcSRichard Gong The RSU provides a way for customers to update the boot 1884526ebbcSRichard Gong configuration of a Stratix 10 SoC device with significantly reduced 1894526ebbcSRichard Gong risk of corrupting the bitstream storage and bricking the system. 1904526ebbcSRichard Gong 1914526ebbcSRichard Gong Enable RSU support if you are using an Intel SoC FPGA with the RSU 1924526ebbcSRichard Gong feature enabled and you want Linux user space control. 1934526ebbcSRichard Gong 1944526ebbcSRichard Gong Say Y here if you want Intel RSU support. 1954526ebbcSRichard Gong 1969db69df4STingHan Shenconfig MTK_ADSP_IPC 1979db69df4STingHan Shen tristate "MTK ADSP IPC Protocol driver" 1989db69df4STingHan Shen depends on MTK_ADSP_MBOX 1999db69df4STingHan Shen help 2009db69df4STingHan Shen Say yes here to add support for the MediaTek ADSP IPC 2019db69df4STingHan Shen between host AP (Linux) and the firmware running on ADSP. 2029db69df4STingHan Shen ADSP exists on some mtk processors. 2039db69df4STingHan Shen Client might use shared memory to exchange information with ADSP. 2049db69df4STingHan Shen 205d391c582SJavier Martinez Canillasconfig SYSFB 206d391c582SJavier Martinez Canillas bool 2078b766b0fSMichal Suchanek select BOOT_VESA_SUPPORT 20875fa9b7eSThomas Zimmermann select SCREEN_INFO 209d391c582SJavier Martinez Canillas 2108633ef82SJavier Martinez Canillasconfig SYSFB_SIMPLEFB 211*cc79eaf8SThomas Zimmermann bool "Mark VGA/VBE/EFI FB as generic system framebuffer (deprecated)" 212a4a072d9SMichal Suchanek depends on X86 || EFI 213a4a072d9SMichal Suchanek select SYSFB 214d391c582SJavier Martinez Canillas help 215*cc79eaf8SThomas Zimmermann Firmware often provides initial graphics framebuffers so the BIOS, 216d391c582SJavier Martinez Canillas bootloader or kernel can show basic video-output during boot for 217*cc79eaf8SThomas Zimmermann user-guidance and debugging. 218d391c582SJavier Martinez Canillas 219*cc79eaf8SThomas Zimmermann This option, if enabled, marks VBE/EFI framebuffers as system 220*cc79eaf8SThomas Zimmermann framebuffers so the generic simpledrm driver can be used. 221d391c582SJavier Martinez Canillas 222*cc79eaf8SThomas Zimmermann This option is deprecated and will be removed in the near future. If 223*cc79eaf8SThomas Zimmermann unsure, say N and select efidrm, vesadrm instead. The dedicated DRM 224*cc79eaf8SThomas Zimmermann drivers provide the same functionality plus additional features. 225d391c582SJavier Martinez Canillas 226e4b3cbd8SMichal Wilczynskiconfig TH1520_AON_PROTOCOL 227e4b3cbd8SMichal Wilczynski tristate "Always-On firmware protocol" 228e4b3cbd8SMichal Wilczynski depends on ARCH_THEAD || COMPILE_TEST 22951f0b891SArnd Bergmann depends on MAILBOX 230e4b3cbd8SMichal Wilczynski help 231e4b3cbd8SMichal Wilczynski Power, clock, and resource management capabilities on the TH1520 SoC are 232e4b3cbd8SMichal Wilczynski managed by the E902 core. Firmware running on this core communicates with 233e4b3cbd8SMichal Wilczynski the kernel through the Always-On protocol, using hardware mailbox as a medium. 234e4b3cbd8SMichal Wilczynski Say yes if you need such capabilities. 235e4b3cbd8SMichal Wilczynski 236aa276781SNishanth Menonconfig TI_SCI_PROTOCOL 237aa276781SNishanth Menon tristate "TI System Control Interface (TISCI) Message Protocol" 238aa276781SNishanth Menon depends on TI_MESSAGE_MANAGER 2399a9b7cd7SGuillaume La Roque default ARCH_K3 240aa276781SNishanth Menon help 241aa276781SNishanth Menon TI System Control Interface (TISCI) Message Protocol is used to manage 242aa276781SNishanth Menon compute systems such as ARM, DSP etc with the system controller in 243aa276781SNishanth Menon complex System on Chip(SoC) such as those found on certain keystone 244aa276781SNishanth Menon generation SoC from TI. 245aa276781SNishanth Menon 246aa276781SNishanth Menon System controller provides various facilities including power 247aa276781SNishanth Menon management function support. 248aa276781SNishanth Menon 249aa276781SNishanth Menon This protocol library is used by client drivers to use the features 250aa276781SNishanth Menon provided by the system controller. 251aa276781SNishanth Menon 2524cb5d9ecSThierry Redingconfig TRUSTED_FOUNDATIONS 2534cb5d9ecSThierry Reding bool "Trusted Foundations secure monitor support" 254cad47b32SArnd Bergmann depends on ARM && CPU_V7 2554cb5d9ecSThierry Reding help 2564cb5d9ecSThierry Reding Some devices (including most early Tegra-based consumer devices on 2574cb5d9ecSThierry Reding the market) are booted with the Trusted Foundations secure monitor 2584cb5d9ecSThierry Reding active, requiring some core operations to be performed by the secure 2594cb5d9ecSThierry Reding monitor instead of the kernel. 2604cb5d9ecSThierry Reding 2614cb5d9ecSThierry Reding This option allows the kernel to invoke the secure monitor whenever 2624cb5d9ecSThierry Reding required on devices using Trusted Foundations. See the functions and 2634cb5d9ecSThierry Reding comments in linux/firmware/trusted_foundations.h or the device tree 2644cb5d9ecSThierry Reding bindings for "tlm,trusted-foundations" for details on how to use it. 2654cb5d9ecSThierry Reding 2664cb5d9ecSThierry Reding Choose N if you don't know what this is about. 2674cb5d9ecSThierry Reding 268389711b3SMarek Behúnconfig TURRIS_MOX_RWTM 269389711b3SMarek Behún tristate "Turris Mox rWTM secure firmware driver" 270389711b3SMarek Behún depends on ARCH_MVEBU || COMPILE_TEST 271389711b3SMarek Behún depends on HAS_DMA && OF 272389711b3SMarek Behún depends on MAILBOX 273389711b3SMarek Behún select HW_RANDOM 274389711b3SMarek Behún select ARMADA_37XX_RWTM_MBOX 275389711b3SMarek Behún help 276389711b3SMarek Behún This driver communicates with the firmware on the Cortex-M3 secure 277389711b3SMarek Behún processor of the Turris Mox router. Enable if you are building for 278389711b3SMarek Behún Turris Mox, and you will be able to read the device serial number and 279389711b3SMarek Behún other manufacturing data and also utilize the Entropy Bit Generator 280389711b3SMarek Behún for hardware random number generation. 281389711b3SMarek Behún 282ba8755abSMarek Behúnif TURRIS_MOX_RWTM 283ba8755abSMarek Behún 284ba8755abSMarek Behúnconfig TURRIS_MOX_RWTM_KEYCTL 285ba8755abSMarek Behún bool "Turris Mox rWTM ECDSA message signing" 286ba8755abSMarek Behún default y 287ba8755abSMarek Behún depends on KEYS 288ba8755abSMarek Behún depends on ASYMMETRIC_KEY_TYPE 289ba8755abSMarek Behún select CZNIC_PLATFORMS 290ba8755abSMarek Behún select TURRIS_SIGNING_KEY 291ba8755abSMarek Behún help 292ba8755abSMarek Behún Say Y here to add support for ECDSA message signing with board private 293ba8755abSMarek Behún key (each Turris Mox has an ECDSA private key generated in the secure 294ba8755abSMarek Behún coprocessor when manufactured). This functionality is exposed via the 295ba8755abSMarek Behún keyctl() syscall. 296ba8755abSMarek Behún 297ba8755abSMarek Behúnendif # TURRIS_MOX_RWTM 298ba8755abSMarek Behún 299e7818584SSudeep Hollasource "drivers/firmware/arm_ffa/Kconfig" 300f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig" 301f6bc909eSSimon Trimmersource "drivers/firmware/cirrus/Kconfig" 30274c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig" 30304851772SMatt Flemingsource "drivers/firmware/efi/Kconfig" 304edbee095SDong Aishengsource "drivers/firmware/imx/Kconfig" 3052c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig" 306ec5b0f11SConor Dooleysource "drivers/firmware/microchip/Kconfig" 307e5bfb21dSSudeep Hollasource "drivers/firmware/psci/Kconfig" 308bdac188eSBartosz Golaszewskisource "drivers/firmware/qcom/Kconfig" 309a88927b5STudor Ambarussource "drivers/firmware/samsung/Kconfig" 310e5bfb21dSSudeep Hollasource "drivers/firmware/smccc/Kconfig" 311ca791d7fSThierry Redingsource "drivers/firmware/tegra/Kconfig" 31276582671SRajan Vajasource "drivers/firmware/xilinx/Kconfig" 31374c5b31cSMike Waychison 3141da177e4SLinus Torvaldsendmenu 315