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 318bec4337SSudeep Hollaconfig ARM_SCPI_POWER_DOMAIN 328bec4337SSudeep Holla tristate "SCPI power domain driver" 33e517dfe6SArnd Bergmann depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF) 348bec4337SSudeep Holla default y 358bec4337SSudeep Holla select PM_GENERIC_DOMAINS if PM 368bec4337SSudeep Holla help 378bec4337SSudeep Holla This enables support for the SCPI power domains which can be 388bec4337SSudeep Holla enabled or disabled via the SCP firmware 398bec4337SSudeep Holla 40ad6eb31eSJames Morseconfig ARM_SDE_INTERFACE 41ad6eb31eSJames Morse bool "ARM Software Delegated Exception Interface (SDEI)" 42ad6eb31eSJames Morse depends on ARM64 43dc4e8c07SShuai Xue depends on ACPI_APEI_GHES 44ad6eb31eSJames Morse help 45ad6eb31eSJames Morse The Software Delegated Exception Interface (SDEI) is an ARM 46ad6eb31eSJames Morse standard for registering callbacks from the platform firmware 47ad6eb31eSJames Morse into the OS. This is typically used to implement RAS notifications. 48ad6eb31eSJames Morse 491da177e4SLinus Torvaldsconfig EDD 505d18639aSChris Wedgwood tristate "BIOS Enhanced Disk Drive calls determine boot disk" 519b6e3e42SMike Frysinger depends on X86 521da177e4SLinus Torvalds help 531da177e4SLinus Torvalds Say Y or M here if you want to enable BIOS Enhanced Disk Drive 541da177e4SLinus Torvalds Services real mode BIOS calls to determine which disk 551da177e4SLinus Torvalds BIOS tries boot from. This information is then exported via sysfs. 561da177e4SLinus Torvalds 571da177e4SLinus Torvalds This option is experimental and is known to fail to boot on some 581da177e4SLinus Torvalds obscure configurations. Most disk controller BIOS vendors do 591da177e4SLinus Torvalds not yet implement this feature. 601da177e4SLinus Torvalds 618c4dd606STim Gardnerconfig EDD_OFF 628c4dd606STim Gardner bool "Sets default behavior for EDD detection to off" 638c4dd606STim Gardner depends on EDD 648c4dd606STim Gardner default n 658c4dd606STim Gardner help 668c4dd606STim Gardner Say Y if you want EDD disabled by default, even though it is compiled into the 678c4dd606STim Gardner kernel. Say N if you want EDD enabled by default. EDD can be dynamically set 688c4dd606STim Gardner using the kernel parameter 'edd={on|skipmbr|off}'. 698c4dd606STim Gardner 7069ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP 716a108a14SDavid Rientjes bool "Add firmware-provided memory map to sysfs" if EXPERT 729b6e3e42SMike Frysinger default X86 7369ac9cd6SBernhard Walle help 7469ac9cd6SBernhard Walle Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 7569ac9cd6SBernhard Walle That memory map is used for example by kexec to set up parameter area 7669ac9cd6SBernhard Walle for the next kernel, but can also be used for debugging purposes. 7769ac9cd6SBernhard Walle 7869ac9cd6SBernhard Walle See also Documentation/ABI/testing/sysfs-firmware-memmap. 7969ac9cd6SBernhard Walle 801da177e4SLinus Torvaldsconfig EFI_PCDP 811da177e4SLinus Torvalds bool "Console device selection via EFI PCDP or HCDP table" 821da177e4SLinus Torvalds depends on ACPI && EFI && IA64 831da177e4SLinus Torvalds default y if IA64 841da177e4SLinus Torvalds help 851da177e4SLinus Torvalds If your firmware supplies the PCDP table, and you want to 861da177e4SLinus Torvalds automatically use the primary console device it describes 871da177e4SLinus Torvalds as the Linux console, say Y here. 881da177e4SLinus Torvalds 891da177e4SLinus Torvalds If your firmware supplies the HCDP table, and you want to 901da177e4SLinus Torvalds use the first serial port it describes as the Linux console, 911da177e4SLinus Torvalds say Y here. If your EFI ConOut path contains only a UART 921da177e4SLinus Torvalds device, it will become the console automatically. Otherwise, 931da177e4SLinus Torvalds you must specify the "console=hcdp" kernel boot argument. 941da177e4SLinus Torvalds 951da177e4SLinus Torvalds Neither the PCDP nor the HCDP affects naming of serial devices, 961da177e4SLinus Torvalds so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending 971da177e4SLinus Torvalds on how the driver discovers devices. 981da177e4SLinus Torvalds 991da177e4SLinus Torvalds You must also enable the appropriate drivers (serial, VGA, etc.) 1001da177e4SLinus Torvalds 101631dd1a8SJustin P. Mattock See DIG64_HCDPv20_042804.pdf available from 102631dd1a8SJustin P. Mattock <http://www.dig64.org/specifications/> 1031da177e4SLinus Torvalds 1044f5c791aSLennart Poetteringconfig DMIID 1054f5c791aSLennart Poettering bool "Export DMI identification via sysfs to userspace" 1064f5c791aSLennart Poettering depends on DMI 1074f5c791aSLennart Poettering default y 1084f5c791aSLennart Poettering help 1094f5c791aSLennart Poettering Say Y here if you want to query SMBIOS/DMI system identification 1104f5c791aSLennart Poettering information from userspace through /sys/class/dmi/id/ or if you want 1114f5c791aSLennart Poettering DMI-based module auto-loading. 1124f5c791aSLennart Poettering 113948af1f0SMike Waychisonconfig DMI_SYSFS 114948af1f0SMike Waychison tristate "DMI table support in sysfs" 115948af1f0SMike Waychison depends on SYSFS && DMI 116948af1f0SMike Waychison default n 117948af1f0SMike Waychison help 118948af1f0SMike Waychison Say Y or M here to enable the exporting of the raw DMI table 119948af1f0SMike Waychison data via sysfs. This is useful for consuming the data without 120948af1f0SMike Waychison requiring any access to /dev/mem at all. Tables are found 121948af1f0SMike Waychison under /sys/firmware/dmi when this option is enabled and 122948af1f0SMike Waychison loaded. 123948af1f0SMike Waychison 124cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK 125cf074402SArd Biesheuvel bool 126cf074402SArd Biesheuvel 127138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND 128138fe4e0SKonrad Rzeszutek bool "iSCSI Boot Firmware Table Attributes" 12994bccc34SThomas Tai depends on X86 && ISCSI_IBFT 130138fe4e0SKonrad Rzeszutek default n 131138fe4e0SKonrad Rzeszutek help 132138fe4e0SKonrad Rzeszutek This option enables the kernel to find the region of memory 133138fe4e0SKonrad Rzeszutek in which the ISCSI Boot Firmware Table (iBFT) resides. This 134138fe4e0SKonrad Rzeszutek is necessary for iSCSI Boot Firmware Table Attributes module to work 135138fe4e0SKonrad Rzeszutek properly. 136138fe4e0SKonrad Rzeszutek 137138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT 138138fe4e0SKonrad Rzeszutek tristate "iSCSI Boot Firmware Table Attributes module" 139b33a84a3SMike Christie select ISCSI_BOOT_SYSFS 14094bccc34SThomas Tai select ISCSI_IBFT_FIND if X86 14194bccc34SThomas Tai depends on ACPI && SCSI && SCSI_LOWLEVEL 142138fe4e0SKonrad Rzeszutek default n 143138fe4e0SKonrad Rzeszutek help 144138fe4e0SKonrad Rzeszutek This option enables support for detection and exposing of iSCSI 145138fe4e0SKonrad Rzeszutek Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to 146138fe4e0SKonrad Rzeszutek detect iSCSI boot parameters dynamically during system boot, say Y. 147138fe4e0SKonrad Rzeszutek Otherwise, say N. 148138fe4e0SKonrad Rzeszutek 1494e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE 15083a06a10SNicolas Saenz Julienne tristate "Raspberry Pi Firmware Driver" 1514e3d6065SEric Anholt depends on BCM2835_MBOX 1524e3d6065SEric Anholt help 1534e3d6065SEric Anholt This option enables support for communicating with the firmware on the 1544e3d6065SEric Anholt Raspberry Pi. 1554e3d6065SEric Anholt 15675f3e8e4SGabriel Somloconfig FW_CFG_SYSFS 15775f3e8e4SGabriel Somlo tristate "QEMU fw_cfg device support in sysfs" 1586b698713SHelge Deller depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || SPARC || X86) 15928c09ec4SArnd Bergmann depends on HAS_IOPORT_MAP 16075f3e8e4SGabriel Somlo default n 16175f3e8e4SGabriel Somlo help 16275f3e8e4SGabriel Somlo Say Y or M here to enable the exporting of the QEMU firmware 16375f3e8e4SGabriel Somlo configuration (fw_cfg) file entries via sysfs. Entries are 16475f3e8e4SGabriel Somlo found under /sys/firmware/fw_cfg when this option is enabled 16575f3e8e4SGabriel Somlo and loaded. 16675f3e8e4SGabriel Somlo 16775f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE 16875f3e8e4SGabriel Somlo bool "QEMU fw_cfg device parameter parsing" 16975f3e8e4SGabriel Somlo depends on FW_CFG_SYSFS 17075f3e8e4SGabriel Somlo help 17175f3e8e4SGabriel Somlo Allow the qemu_fw_cfg device to be initialized via the kernel 17275f3e8e4SGabriel Somlo command line or using a module parameter. 17375f3e8e4SGabriel Somlo WARNING: Using incorrect parameters (base address in particular) 17475f3e8e4SGabriel Somlo may crash your system. 17575f3e8e4SGabriel Somlo 1767ca5ce89SRichard Gongconfig INTEL_STRATIX10_SERVICE 1777ca5ce89SRichard Gong tristate "Intel Stratix10 Service Layer" 17838ad957bSKrzysztof Kozlowski depends on ARCH_INTEL_SOCFPGA && ARM64 && HAVE_ARM_SMCCC 1797ca5ce89SRichard Gong default n 1807ca5ce89SRichard Gong help 1817ca5ce89SRichard Gong Intel Stratix10 service layer runs at privileged exception level, 1827ca5ce89SRichard Gong interfaces with the service providers (FPGA manager is one of them) 1837ca5ce89SRichard Gong and manages secure monitor call to communicate with secure monitor 1847ca5ce89SRichard Gong software at secure monitor exception level. 1857ca5ce89SRichard Gong 1867ca5ce89SRichard Gong Say Y here if you want Stratix10 service layer support. 1877ca5ce89SRichard Gong 1884526ebbcSRichard Gongconfig INTEL_STRATIX10_RSU 1894526ebbcSRichard Gong tristate "Intel Stratix10 Remote System Update" 1904526ebbcSRichard Gong depends on INTEL_STRATIX10_SERVICE 1914526ebbcSRichard Gong help 1924526ebbcSRichard Gong The Intel Remote System Update (RSU) driver exposes interfaces 1934526ebbcSRichard Gong access through the Intel Service Layer to user space via sysfs 1944526ebbcSRichard Gong device attribute nodes. The RSU interfaces report/control some of 1954526ebbcSRichard Gong the optional RSU features of the Stratix 10 SoC FPGA. 1964526ebbcSRichard Gong 1974526ebbcSRichard Gong The RSU provides a way for customers to update the boot 1984526ebbcSRichard Gong configuration of a Stratix 10 SoC device with significantly reduced 1994526ebbcSRichard Gong risk of corrupting the bitstream storage and bricking the system. 2004526ebbcSRichard Gong 2014526ebbcSRichard Gong Enable RSU support if you are using an Intel SoC FPGA with the RSU 2024526ebbcSRichard Gong feature enabled and you want Linux user space control. 2034526ebbcSRichard Gong 2044526ebbcSRichard Gong Say Y here if you want Intel RSU support. 2054526ebbcSRichard Gong 2069db69df4STingHan Shenconfig MTK_ADSP_IPC 2079db69df4STingHan Shen tristate "MTK ADSP IPC Protocol driver" 2089db69df4STingHan Shen depends on MTK_ADSP_MBOX 2099db69df4STingHan Shen help 2109db69df4STingHan Shen Say yes here to add support for the MediaTek ADSP IPC 2119db69df4STingHan Shen between host AP (Linux) and the firmware running on ADSP. 2129db69df4STingHan Shen ADSP exists on some mtk processors. 2139db69df4STingHan Shen Client might use shared memory to exchange information with ADSP. 2149db69df4STingHan Shen 215916f743dSKumar Galaconfig QCOM_SCM 216424953cfSArnd Bergmann tristate 217916f743dSKumar Gala 2188c1b7dc9SBjorn Anderssonconfig QCOM_SCM_DOWNLOAD_MODE_DEFAULT 2198c1b7dc9SBjorn Andersson bool "Qualcomm download mode enabled by default" 2208c1b7dc9SBjorn Andersson depends on QCOM_SCM 2218c1b7dc9SBjorn Andersson help 2228c1b7dc9SBjorn Andersson A device with "download mode" enabled will upon an unexpected 2238c1b7dc9SBjorn Andersson warm-restart enter a special debug mode that allows the user to 2248c1b7dc9SBjorn Andersson "download" memory content over USB for offline postmortem analysis. 2258c1b7dc9SBjorn Andersson The feature can be enabled/disabled on the kernel command line. 2268c1b7dc9SBjorn Andersson 2278c1b7dc9SBjorn Andersson Say Y here to enable "download mode" by default. 2288c1b7dc9SBjorn Andersson 229d391c582SJavier Martinez Canillasconfig SYSFB 230d391c582SJavier Martinez Canillas bool 2318b766b0fSMichal Suchanek select BOOT_VESA_SUPPORT 232*5b4d995dSThomas Zimmermann select SCREEN_INFO 233d391c582SJavier Martinez Canillas 2348633ef82SJavier Martinez Canillasconfig SYSFB_SIMPLEFB 235d391c582SJavier Martinez Canillas bool "Mark VGA/VBE/EFI FB as generic system framebuffer" 236a4a072d9SMichal Suchanek depends on X86 || EFI 237a4a072d9SMichal Suchanek select SYSFB 238d391c582SJavier Martinez Canillas help 239d391c582SJavier Martinez Canillas Firmwares often provide initial graphics framebuffers so the BIOS, 240d391c582SJavier Martinez Canillas bootloader or kernel can show basic video-output during boot for 241d391c582SJavier Martinez Canillas user-guidance and debugging. Historically, x86 used the VESA BIOS 242d391c582SJavier Martinez Canillas Extensions and EFI-framebuffers for this, which are mostly limited 2438633ef82SJavier Martinez Canillas to x86 BIOS or EFI systems. 244d391c582SJavier Martinez Canillas This option, if enabled, marks VGA/VBE/EFI framebuffers as generic 245d391c582SJavier Martinez Canillas framebuffers so the new generic system-framebuffer drivers can be 2468633ef82SJavier Martinez Canillas used instead. If the framebuffer is not compatible with the generic 247d391c582SJavier Martinez Canillas modes, it is advertised as fallback platform framebuffer so legacy 248d391c582SJavier Martinez Canillas drivers like efifb, vesafb and uvesafb can pick it up. 249d391c582SJavier Martinez Canillas If this option is not selected, all system framebuffers are always 250d391c582SJavier Martinez Canillas marked as fallback platform framebuffers as usual. 251d391c582SJavier Martinez Canillas 252d391c582SJavier Martinez Canillas Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will 253d391c582SJavier Martinez Canillas not be able to pick up generic system framebuffers if this option 254d391c582SJavier Martinez Canillas is selected. You are highly encouraged to enable simplefb as 255d391c582SJavier Martinez Canillas replacement if you select this option. simplefb can correctly deal 256d391c582SJavier Martinez Canillas with generic system framebuffers. But you should still keep vesafb 257d391c582SJavier Martinez Canillas and others enabled as fallback if a system framebuffer is 258d391c582SJavier Martinez Canillas incompatible with simplefb. 259d391c582SJavier Martinez Canillas 260d391c582SJavier Martinez Canillas If unsure, say Y. 261d391c582SJavier Martinez Canillas 262aa276781SNishanth Menonconfig TI_SCI_PROTOCOL 263aa276781SNishanth Menon tristate "TI System Control Interface (TISCI) Message Protocol" 264aa276781SNishanth Menon depends on TI_MESSAGE_MANAGER 265aa276781SNishanth Menon help 266aa276781SNishanth Menon TI System Control Interface (TISCI) Message Protocol is used to manage 267aa276781SNishanth Menon compute systems such as ARM, DSP etc with the system controller in 268aa276781SNishanth Menon complex System on Chip(SoC) such as those found on certain keystone 269aa276781SNishanth Menon generation SoC from TI. 270aa276781SNishanth Menon 271aa276781SNishanth Menon System controller provides various facilities including power 272aa276781SNishanth Menon management function support. 273aa276781SNishanth Menon 274aa276781SNishanth Menon This protocol library is used by client drivers to use the features 275aa276781SNishanth Menon provided by the system controller. 276aa276781SNishanth Menon 2774cb5d9ecSThierry Redingconfig TRUSTED_FOUNDATIONS 2784cb5d9ecSThierry Reding bool "Trusted Foundations secure monitor support" 279cad47b32SArnd Bergmann depends on ARM && CPU_V7 2804cb5d9ecSThierry Reding help 2814cb5d9ecSThierry Reding Some devices (including most early Tegra-based consumer devices on 2824cb5d9ecSThierry Reding the market) are booted with the Trusted Foundations secure monitor 2834cb5d9ecSThierry Reding active, requiring some core operations to be performed by the secure 2844cb5d9ecSThierry Reding monitor instead of the kernel. 2854cb5d9ecSThierry Reding 2864cb5d9ecSThierry Reding This option allows the kernel to invoke the secure monitor whenever 2874cb5d9ecSThierry Reding required on devices using Trusted Foundations. See the functions and 2884cb5d9ecSThierry Reding comments in linux/firmware/trusted_foundations.h or the device tree 2894cb5d9ecSThierry Reding bindings for "tlm,trusted-foundations" for details on how to use it. 2904cb5d9ecSThierry Reding 2914cb5d9ecSThierry Reding Choose N if you don't know what this is about. 2924cb5d9ecSThierry Reding 293389711b3SMarek Behúnconfig TURRIS_MOX_RWTM 294389711b3SMarek Behún tristate "Turris Mox rWTM secure firmware driver" 295389711b3SMarek Behún depends on ARCH_MVEBU || COMPILE_TEST 296389711b3SMarek Behún depends on HAS_DMA && OF 297389711b3SMarek Behún depends on MAILBOX 298389711b3SMarek Behún select HW_RANDOM 299389711b3SMarek Behún select ARMADA_37XX_RWTM_MBOX 300389711b3SMarek Behún help 301389711b3SMarek Behún This driver communicates with the firmware on the Cortex-M3 secure 302389711b3SMarek Behún processor of the Turris Mox router. Enable if you are building for 303389711b3SMarek Behún Turris Mox, and you will be able to read the device serial number and 304389711b3SMarek Behún other manufacturing data and also utilize the Entropy Bit Generator 305389711b3SMarek Behún for hardware random number generation. 306389711b3SMarek Behún 307e7818584SSudeep Hollasource "drivers/firmware/arm_ffa/Kconfig" 308f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig" 309f6bc909eSSimon Trimmersource "drivers/firmware/cirrus/Kconfig" 31074c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig" 31104851772SMatt Flemingsource "drivers/firmware/efi/Kconfig" 312edbee095SDong Aishengsource "drivers/firmware/imx/Kconfig" 3132c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig" 314e5bfb21dSSudeep Hollasource "drivers/firmware/psci/Kconfig" 315e5bfb21dSSudeep Hollasource "drivers/firmware/smccc/Kconfig" 316ca791d7fSThierry Redingsource "drivers/firmware/tegra/Kconfig" 31776582671SRajan Vajasource "drivers/firmware/xilinx/Kconfig" 31874c5b31cSMike Waychison 3191da177e4SLinus Torvaldsendmenu 320