13d0407baSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 23d0407baSopenharmony_ci# 33d0407baSopenharmony_ci# For a description of the syntax of this configuration file, 43d0407baSopenharmony_ci# see Documentation/kbuild/kconfig-language.rst. 53d0407baSopenharmony_ci# 63d0407baSopenharmony_ci 73d0407baSopenharmony_cimenu "Firmware Drivers" 83d0407baSopenharmony_ci 93d0407baSopenharmony_ciconfig ARM_SCMI_PROTOCOL 103d0407baSopenharmony_ci tristate "ARM System Control and Management Interface (SCMI) Message Protocol" 113d0407baSopenharmony_ci depends on ARM || ARM64 || COMPILE_TEST 123d0407baSopenharmony_ci depends on MAILBOX 133d0407baSopenharmony_ci help 143d0407baSopenharmony_ci ARM System Control and Management Interface (SCMI) protocol is a 153d0407baSopenharmony_ci set of operating system-independent software interfaces that are 163d0407baSopenharmony_ci used in system management. SCMI is extensible and currently provides 173d0407baSopenharmony_ci interfaces for: Discovery and self-description of the interfaces 183d0407baSopenharmony_ci it supports, Power domain management which is the ability to place 193d0407baSopenharmony_ci a given device or domain into the various power-saving states that 203d0407baSopenharmony_ci it supports, Performance management which is the ability to control 213d0407baSopenharmony_ci the performance of a domain that is composed of compute engines 223d0407baSopenharmony_ci such as application processors and other accelerators, Clock 233d0407baSopenharmony_ci management which is the ability to set and inquire rates on platform 243d0407baSopenharmony_ci managed clocks and Sensor management which is the ability to read 253d0407baSopenharmony_ci sensor data, and be notified of sensor value. 263d0407baSopenharmony_ci 273d0407baSopenharmony_ci This protocol library provides interface for all the client drivers 283d0407baSopenharmony_ci making use of the features offered by the SCMI. 293d0407baSopenharmony_ci 303d0407baSopenharmony_ciconfig ARM_SCMI_POWER_DOMAIN 313d0407baSopenharmony_ci tristate "SCMI power domain driver" 323d0407baSopenharmony_ci depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF) 333d0407baSopenharmony_ci default y 343d0407baSopenharmony_ci select PM_GENERIC_DOMAINS if PM 353d0407baSopenharmony_ci help 363d0407baSopenharmony_ci This enables support for the SCMI power domains which can be 373d0407baSopenharmony_ci enabled or disabled via the SCP firmware 383d0407baSopenharmony_ci 393d0407baSopenharmony_ci This driver can also be built as a module. If so, the module 403d0407baSopenharmony_ci will be called scmi_pm_domain. Note this may needed early in boot 413d0407baSopenharmony_ci before rootfs may be available. 423d0407baSopenharmony_ci 433d0407baSopenharmony_ciconfig ARM_SCPI_PROTOCOL 443d0407baSopenharmony_ci tristate "ARM System Control and Power Interface (SCPI) Message Protocol" 453d0407baSopenharmony_ci depends on ARM || ARM64 || COMPILE_TEST 463d0407baSopenharmony_ci depends on MAILBOX 473d0407baSopenharmony_ci help 483d0407baSopenharmony_ci System Control and Power Interface (SCPI) Message Protocol is 493d0407baSopenharmony_ci defined for the purpose of communication between the Application 503d0407baSopenharmony_ci Cores(AP) and the System Control Processor(SCP). The MHU peripheral 513d0407baSopenharmony_ci provides a mechanism for inter-processor communication between SCP 523d0407baSopenharmony_ci and AP. 533d0407baSopenharmony_ci 543d0407baSopenharmony_ci SCP controls most of the power managament on the Application 553d0407baSopenharmony_ci Processors. It offers control and management of: the core/cluster 563d0407baSopenharmony_ci power states, various power domain DVFS including the core/cluster, 573d0407baSopenharmony_ci certain system clocks configuration, thermal sensors and many 583d0407baSopenharmony_ci others. 593d0407baSopenharmony_ci 603d0407baSopenharmony_ci This protocol library provides interface for all the client drivers 613d0407baSopenharmony_ci making use of the features offered by the SCP. 623d0407baSopenharmony_ci 633d0407baSopenharmony_ciconfig ARM_SCPI_POWER_DOMAIN 643d0407baSopenharmony_ci tristate "SCPI power domain driver" 653d0407baSopenharmony_ci depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF) 663d0407baSopenharmony_ci default y 673d0407baSopenharmony_ci select PM_GENERIC_DOMAINS if PM 683d0407baSopenharmony_ci help 693d0407baSopenharmony_ci This enables support for the SCPI power domains which can be 703d0407baSopenharmony_ci enabled or disabled via the SCP firmware 713d0407baSopenharmony_ci 723d0407baSopenharmony_ciconfig ARM_SDE_INTERFACE 733d0407baSopenharmony_ci bool "ARM Software Delegated Exception Interface (SDEI)" 743d0407baSopenharmony_ci depends on ARM64 753d0407baSopenharmony_ci help 763d0407baSopenharmony_ci The Software Delegated Exception Interface (SDEI) is an ARM 773d0407baSopenharmony_ci standard for registering callbacks from the platform firmware 783d0407baSopenharmony_ci into the OS. This is typically used to implement RAS notifications. 793d0407baSopenharmony_ci 803d0407baSopenharmony_ciconfig EDD 813d0407baSopenharmony_ci tristate "BIOS Enhanced Disk Drive calls determine boot disk" 823d0407baSopenharmony_ci depends on X86 833d0407baSopenharmony_ci help 843d0407baSopenharmony_ci Say Y or M here if you want to enable BIOS Enhanced Disk Drive 853d0407baSopenharmony_ci Services real mode BIOS calls to determine which disk 863d0407baSopenharmony_ci BIOS tries boot from. This information is then exported via sysfs. 873d0407baSopenharmony_ci 883d0407baSopenharmony_ci This option is experimental and is known to fail to boot on some 893d0407baSopenharmony_ci obscure configurations. Most disk controller BIOS vendors do 903d0407baSopenharmony_ci not yet implement this feature. 913d0407baSopenharmony_ci 923d0407baSopenharmony_ciconfig EDD_OFF 933d0407baSopenharmony_ci bool "Sets default behavior for EDD detection to off" 943d0407baSopenharmony_ci depends on EDD 953d0407baSopenharmony_ci default n 963d0407baSopenharmony_ci help 973d0407baSopenharmony_ci Say Y if you want EDD disabled by default, even though it is compiled into the 983d0407baSopenharmony_ci kernel. Say N if you want EDD enabled by default. EDD can be dynamically set 993d0407baSopenharmony_ci using the kernel parameter 'edd={on|skipmbr|off}'. 1003d0407baSopenharmony_ci 1013d0407baSopenharmony_ciconfig FIRMWARE_MEMMAP 1023d0407baSopenharmony_ci bool "Add firmware-provided memory map to sysfs" if EXPERT 1033d0407baSopenharmony_ci default X86 1043d0407baSopenharmony_ci help 1053d0407baSopenharmony_ci Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 1063d0407baSopenharmony_ci That memory map is used for example by kexec to set up parameter area 1073d0407baSopenharmony_ci for the next kernel, but can also be used for debugging purposes. 1083d0407baSopenharmony_ci 1093d0407baSopenharmony_ci See also Documentation/ABI/testing/sysfs-firmware-memmap. 1103d0407baSopenharmony_ci 1113d0407baSopenharmony_ciconfig EFI_PCDP 1123d0407baSopenharmony_ci bool "Console device selection via EFI PCDP or HCDP table" 1133d0407baSopenharmony_ci depends on ACPI && EFI && IA64 1143d0407baSopenharmony_ci default y if IA64 1153d0407baSopenharmony_ci help 1163d0407baSopenharmony_ci If your firmware supplies the PCDP table, and you want to 1173d0407baSopenharmony_ci automatically use the primary console device it describes 1183d0407baSopenharmony_ci as the Linux console, say Y here. 1193d0407baSopenharmony_ci 1203d0407baSopenharmony_ci If your firmware supplies the HCDP table, and you want to 1213d0407baSopenharmony_ci use the first serial port it describes as the Linux console, 1223d0407baSopenharmony_ci say Y here. If your EFI ConOut path contains only a UART 1233d0407baSopenharmony_ci device, it will become the console automatically. Otherwise, 1243d0407baSopenharmony_ci you must specify the "console=hcdp" kernel boot argument. 1253d0407baSopenharmony_ci 1263d0407baSopenharmony_ci Neither the PCDP nor the HCDP affects naming of serial devices, 1273d0407baSopenharmony_ci so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending 1283d0407baSopenharmony_ci on how the driver discovers devices. 1293d0407baSopenharmony_ci 1303d0407baSopenharmony_ci You must also enable the appropriate drivers (serial, VGA, etc.) 1313d0407baSopenharmony_ci 1323d0407baSopenharmony_ci See DIG64_HCDPv20_042804.pdf available from 1333d0407baSopenharmony_ci <http://www.dig64.org/specifications/> 1343d0407baSopenharmony_ci 1353d0407baSopenharmony_ciconfig DMIID 1363d0407baSopenharmony_ci bool "Export DMI identification via sysfs to userspace" 1373d0407baSopenharmony_ci depends on DMI 1383d0407baSopenharmony_ci default y 1393d0407baSopenharmony_ci help 1403d0407baSopenharmony_ci Say Y here if you want to query SMBIOS/DMI system identification 1413d0407baSopenharmony_ci information from userspace through /sys/class/dmi/id/ or if you want 1423d0407baSopenharmony_ci DMI-based module auto-loading. 1433d0407baSopenharmony_ci 1443d0407baSopenharmony_ciconfig DMI_SYSFS 1453d0407baSopenharmony_ci tristate "DMI table support in sysfs" 1463d0407baSopenharmony_ci depends on SYSFS && DMI 1473d0407baSopenharmony_ci default n 1483d0407baSopenharmony_ci help 1493d0407baSopenharmony_ci Say Y or M here to enable the exporting of the raw DMI table 1503d0407baSopenharmony_ci data via sysfs. This is useful for consuming the data without 1513d0407baSopenharmony_ci requiring any access to /dev/mem at all. Tables are found 1523d0407baSopenharmony_ci under /sys/firmware/dmi when this option is enabled and 1533d0407baSopenharmony_ci loaded. 1543d0407baSopenharmony_ci 1553d0407baSopenharmony_ciconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK 1563d0407baSopenharmony_ci bool 1573d0407baSopenharmony_ci 1583d0407baSopenharmony_ciconfig ISCSI_IBFT_FIND 1593d0407baSopenharmony_ci bool "iSCSI Boot Firmware Table Attributes" 1603d0407baSopenharmony_ci depends on X86 && ISCSI_IBFT 1613d0407baSopenharmony_ci default n 1623d0407baSopenharmony_ci help 1633d0407baSopenharmony_ci This option enables the kernel to find the region of memory 1643d0407baSopenharmony_ci in which the ISCSI Boot Firmware Table (iBFT) resides. This 1653d0407baSopenharmony_ci is necessary for iSCSI Boot Firmware Table Attributes module to work 1663d0407baSopenharmony_ci properly. 1673d0407baSopenharmony_ci 1683d0407baSopenharmony_ciconfig ISCSI_IBFT 1693d0407baSopenharmony_ci tristate "iSCSI Boot Firmware Table Attributes module" 1703d0407baSopenharmony_ci select ISCSI_BOOT_SYSFS 1713d0407baSopenharmony_ci select ISCSI_IBFT_FIND if X86 1723d0407baSopenharmony_ci depends on ACPI && SCSI && SCSI_LOWLEVEL 1733d0407baSopenharmony_ci default n 1743d0407baSopenharmony_ci help 1753d0407baSopenharmony_ci This option enables support for detection and exposing of iSCSI 1763d0407baSopenharmony_ci Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to 1773d0407baSopenharmony_ci detect iSCSI boot parameters dynamically during system boot, say Y. 1783d0407baSopenharmony_ci Otherwise, say N. 1793d0407baSopenharmony_ci 1803d0407baSopenharmony_ciconfig RASPBERRYPI_FIRMWARE 1813d0407baSopenharmony_ci tristate "Raspberry Pi Firmware Driver" 1823d0407baSopenharmony_ci depends on BCM2835_MBOX 1833d0407baSopenharmony_ci help 1843d0407baSopenharmony_ci This option enables support for communicating with the firmware on the 1853d0407baSopenharmony_ci Raspberry Pi. 1863d0407baSopenharmony_ci 1873d0407baSopenharmony_ciconfig FW_CFG_SYSFS 1883d0407baSopenharmony_ci tristate "QEMU fw_cfg device support in sysfs" 1893d0407baSopenharmony_ci depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || SPARC || X86) 1903d0407baSopenharmony_ci depends on HAS_IOPORT_MAP 1913d0407baSopenharmony_ci default n 1923d0407baSopenharmony_ci help 1933d0407baSopenharmony_ci Say Y or M here to enable the exporting of the QEMU firmware 1943d0407baSopenharmony_ci configuration (fw_cfg) file entries via sysfs. Entries are 1953d0407baSopenharmony_ci found under /sys/firmware/fw_cfg when this option is enabled 1963d0407baSopenharmony_ci and loaded. 1973d0407baSopenharmony_ci 1983d0407baSopenharmony_ciconfig FW_CFG_SYSFS_CMDLINE 1993d0407baSopenharmony_ci bool "QEMU fw_cfg device parameter parsing" 2003d0407baSopenharmony_ci depends on FW_CFG_SYSFS 2013d0407baSopenharmony_ci help 2023d0407baSopenharmony_ci Allow the qemu_fw_cfg device to be initialized via the kernel 2033d0407baSopenharmony_ci command line or using a module parameter. 2043d0407baSopenharmony_ci WARNING: Using incorrect parameters (base address in particular) 2053d0407baSopenharmony_ci may crash your system. 2063d0407baSopenharmony_ci 2073d0407baSopenharmony_ciconfig INTEL_STRATIX10_SERVICE 2083d0407baSopenharmony_ci tristate "Intel Stratix10 Service Layer" 2093d0407baSopenharmony_ci depends on (ARCH_STRATIX10 || ARCH_AGILEX) && HAVE_ARM_SMCCC 2103d0407baSopenharmony_ci default n 2113d0407baSopenharmony_ci help 2123d0407baSopenharmony_ci Intel Stratix10 service layer runs at privileged exception level, 2133d0407baSopenharmony_ci interfaces with the service providers (FPGA manager is one of them) 2143d0407baSopenharmony_ci and manages secure monitor call to communicate with secure monitor 2153d0407baSopenharmony_ci software at secure monitor exception level. 2163d0407baSopenharmony_ci 2173d0407baSopenharmony_ci Say Y here if you want Stratix10 service layer support. 2183d0407baSopenharmony_ci 2193d0407baSopenharmony_ciconfig INTEL_STRATIX10_RSU 2203d0407baSopenharmony_ci tristate "Intel Stratix10 Remote System Update" 2213d0407baSopenharmony_ci depends on INTEL_STRATIX10_SERVICE 2223d0407baSopenharmony_ci help 2233d0407baSopenharmony_ci The Intel Remote System Update (RSU) driver exposes interfaces 2243d0407baSopenharmony_ci access through the Intel Service Layer to user space via sysfs 2253d0407baSopenharmony_ci device attribute nodes. The RSU interfaces report/control some of 2263d0407baSopenharmony_ci the optional RSU features of the Stratix 10 SoC FPGA. 2273d0407baSopenharmony_ci 2283d0407baSopenharmony_ci The RSU provides a way for customers to update the boot 2293d0407baSopenharmony_ci configuration of a Stratix 10 SoC device with significantly reduced 2303d0407baSopenharmony_ci risk of corrupting the bitstream storage and bricking the system. 2313d0407baSopenharmony_ci 2323d0407baSopenharmony_ci Enable RSU support if you are using an Intel SoC FPGA with the RSU 2333d0407baSopenharmony_ci feature enabled and you want Linux user space control. 2343d0407baSopenharmony_ci 2353d0407baSopenharmony_ci Say Y here if you want Intel RSU support. 2363d0407baSopenharmony_ci 2373d0407baSopenharmony_ciconfig QCOM_SCM 2383d0407baSopenharmony_ci bool 2393d0407baSopenharmony_ci depends on ARM || ARM64 2403d0407baSopenharmony_ci depends on HAVE_ARM_SMCCC 2413d0407baSopenharmony_ci select RESET_CONTROLLER 2423d0407baSopenharmony_ci 2433d0407baSopenharmony_ciconfig QCOM_SCM_DOWNLOAD_MODE_DEFAULT 2443d0407baSopenharmony_ci bool "Qualcomm download mode enabled by default" 2453d0407baSopenharmony_ci depends on QCOM_SCM 2463d0407baSopenharmony_ci help 2473d0407baSopenharmony_ci A device with "download mode" enabled will upon an unexpected 2483d0407baSopenharmony_ci warm-restart enter a special debug mode that allows the user to 2493d0407baSopenharmony_ci "download" memory content over USB for offline postmortem analysis. 2503d0407baSopenharmony_ci The feature can be enabled/disabled on the kernel command line. 2513d0407baSopenharmony_ci 2523d0407baSopenharmony_ci Say Y here to enable "download mode" by default. 2533d0407baSopenharmony_ci 2543d0407baSopenharmony_ciconfig ROCKCHIP_SIP 2553d0407baSopenharmony_ci tristate "Rockchip SIP interface" 2563d0407baSopenharmony_ci depends on HAVE_ARM_SMCCC && ARCH_ROCKCHIP 2573d0407baSopenharmony_ci help 2583d0407baSopenharmony_ci Say Y here if you want to enable SIP callbacks for Rockchip platforms 2593d0407baSopenharmony_ci This option enables support for communicating with the ATF. 2603d0407baSopenharmony_ci 2613d0407baSopenharmony_ciconfig TI_SCI_PROTOCOL 2623d0407baSopenharmony_ci tristate "TI System Control Interface (TISCI) Message Protocol" 2633d0407baSopenharmony_ci depends on TI_MESSAGE_MANAGER 2643d0407baSopenharmony_ci help 2653d0407baSopenharmony_ci TI System Control Interface (TISCI) Message Protocol is used to manage 2663d0407baSopenharmony_ci compute systems such as ARM, DSP etc with the system controller in 2673d0407baSopenharmony_ci complex System on Chip(SoC) such as those found on certain keystone 2683d0407baSopenharmony_ci generation SoC from TI. 2693d0407baSopenharmony_ci 2703d0407baSopenharmony_ci System controller provides various facilities including power 2713d0407baSopenharmony_ci management function support. 2723d0407baSopenharmony_ci 2733d0407baSopenharmony_ci This protocol library is used by client drivers to use the features 2743d0407baSopenharmony_ci provided by the system controller. 2753d0407baSopenharmony_ci 2763d0407baSopenharmony_ciconfig TRUSTED_FOUNDATIONS 2773d0407baSopenharmony_ci bool "Trusted Foundations secure monitor support" 2783d0407baSopenharmony_ci depends on ARM && CPU_V7 2793d0407baSopenharmony_ci help 2803d0407baSopenharmony_ci Some devices (including most early Tegra-based consumer devices on 2813d0407baSopenharmony_ci the market) are booted with the Trusted Foundations secure monitor 2823d0407baSopenharmony_ci active, requiring some core operations to be performed by the secure 2833d0407baSopenharmony_ci monitor instead of the kernel. 2843d0407baSopenharmony_ci 2853d0407baSopenharmony_ci This option allows the kernel to invoke the secure monitor whenever 2863d0407baSopenharmony_ci required on devices using Trusted Foundations. See the functions and 2873d0407baSopenharmony_ci comments in linux/firmware/trusted_foundations.h or the device tree 2883d0407baSopenharmony_ci bindings for "tlm,trusted-foundations" for details on how to use it. 2893d0407baSopenharmony_ci 2903d0407baSopenharmony_ci Choose N if you don't know what this is about. 2913d0407baSopenharmony_ci 2923d0407baSopenharmony_ciconfig TURRIS_MOX_RWTM 2933d0407baSopenharmony_ci tristate "Turris Mox rWTM secure firmware driver" 2943d0407baSopenharmony_ci depends on ARCH_MVEBU || COMPILE_TEST 2953d0407baSopenharmony_ci depends on HAS_DMA && OF 2963d0407baSopenharmony_ci depends on MAILBOX 2973d0407baSopenharmony_ci select HW_RANDOM 2983d0407baSopenharmony_ci select ARMADA_37XX_RWTM_MBOX 2993d0407baSopenharmony_ci help 3003d0407baSopenharmony_ci This driver communicates with the firmware on the Cortex-M3 secure 3013d0407baSopenharmony_ci processor of the Turris Mox router. Enable if you are building for 3023d0407baSopenharmony_ci Turris Mox, and you will be able to read the device serial number and 3033d0407baSopenharmony_ci other manufacturing data and also utilize the Entropy Bit Generator 3043d0407baSopenharmony_ci for hardware random number generation. 3053d0407baSopenharmony_ci 3063d0407baSopenharmony_cisource "drivers/firmware/broadcom/Kconfig" 3073d0407baSopenharmony_cisource "drivers/firmware/google/Kconfig" 3083d0407baSopenharmony_cisource "drivers/firmware/efi/Kconfig" 3093d0407baSopenharmony_cisource "drivers/firmware/imx/Kconfig" 3103d0407baSopenharmony_cisource "drivers/firmware/meson/Kconfig" 3113d0407baSopenharmony_cisource "drivers/firmware/psci/Kconfig" 3123d0407baSopenharmony_cisource "drivers/firmware/smccc/Kconfig" 3133d0407baSopenharmony_cisource "drivers/firmware/tegra/Kconfig" 3143d0407baSopenharmony_cisource "drivers/firmware/xilinx/Kconfig" 3153d0407baSopenharmony_ci 3163d0407baSopenharmony_ciendmenu 317