linux/drivers/firmware/Kconfig
<<
>>
Prefs
   1#
   2# For a description of the syntax of this configuration file,
   3# see Documentation/kbuild/kconfig-language.txt.
   4#
   5
   6menu "Firmware Drivers"
   7
   8config ARM_PSCI_FW
   9        bool
  10
  11config ARM_PSCI_CHECKER
  12        bool "ARM PSCI checker"
  13        depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !TORTURE_TEST
  14        help
  15          Run the PSCI checker during startup. This checks that hotplug and
  16          suspend operations work correctly when using PSCI.
  17
  18          The torture tests may interfere with the PSCI checker by turning CPUs
  19          on and off through hotplug, so for now torture tests and PSCI checker
  20          are mutually exclusive.
  21
  22config ARM_SCMI_PROTOCOL
  23        bool "ARM System Control and Management Interface (SCMI) Message Protocol"
  24        depends on ARM || ARM64 || COMPILE_TEST
  25        depends on MAILBOX
  26        help
  27          ARM System Control and Management Interface (SCMI) protocol is a
  28          set of operating system-independent software interfaces that are
  29          used in system management. SCMI is extensible and currently provides
  30          interfaces for: Discovery and self-description of the interfaces
  31          it supports, Power domain management which is the ability to place
  32          a given device or domain into the various power-saving states that
  33          it supports, Performance management which is the ability to control
  34          the performance of a domain that is composed of compute engines
  35          such as application processors and other accelerators, Clock
  36          management which is the ability to set and inquire rates on platform
  37          managed clocks and Sensor management which is the ability to read
  38          sensor data, and be notified of sensor value.
  39
  40          This protocol library provides interface for all the client drivers
  41          making use of the features offered by the SCMI.
  42
  43config ARM_SCMI_POWER_DOMAIN
  44        tristate "SCMI power domain driver"
  45        depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF)
  46        default y
  47        select PM_GENERIC_DOMAINS if PM
  48        help
  49          This enables support for the SCMI power domains which can be
  50          enabled or disabled via the SCP firmware
  51
  52          This driver can also be built as a module.  If so, the module
  53          will be called scmi_pm_domain. Note this may needed early in boot
  54          before rootfs may be available.
  55
  56config ARM_SCPI_PROTOCOL
  57        tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
  58        depends on ARM || ARM64 || COMPILE_TEST
  59        depends on MAILBOX
  60        help
  61          System Control and Power Interface (SCPI) Message Protocol is
  62          defined for the purpose of communication between the Application
  63          Cores(AP) and the System Control Processor(SCP). The MHU peripheral
  64          provides a mechanism for inter-processor communication between SCP
  65          and AP.
  66
  67          SCP controls most of the power managament on the Application
  68          Processors. It offers control and management of: the core/cluster
  69          power states, various power domain DVFS including the core/cluster,
  70          certain system clocks configuration, thermal sensors and many
  71          others.
  72
  73          This protocol library provides interface for all the client drivers
  74          making use of the features offered by the SCP.
  75
  76config ARM_SCPI_POWER_DOMAIN
  77        tristate "SCPI power domain driver"
  78        depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
  79        default y
  80        select PM_GENERIC_DOMAINS if PM
  81        help
  82          This enables support for the SCPI power domains which can be
  83          enabled or disabled via the SCP firmware
  84
  85config ARM_SDE_INTERFACE
  86        bool "ARM Software Delegated Exception Interface (SDEI)"
  87        depends on ARM64
  88        help
  89          The Software Delegated Exception Interface (SDEI) is an ARM
  90          standard for registering callbacks from the platform firmware
  91          into the OS. This is typically used to implement RAS notifications.
  92
  93config EDD
  94        tristate "BIOS Enhanced Disk Drive calls determine boot disk"
  95        depends on X86
  96        help
  97          Say Y or M here if you want to enable BIOS Enhanced Disk Drive
  98          Services real mode BIOS calls to determine which disk
  99          BIOS tries boot from.  This information is then exported via sysfs.
 100
 101          This option is experimental and is known to fail to boot on some
 102          obscure configurations. Most disk controller BIOS vendors do
 103          not yet implement this feature.
 104
 105config EDD_OFF
 106        bool "Sets default behavior for EDD detection to off"
 107        depends on EDD
 108        default n
 109        help
 110          Say Y if you want EDD disabled by default, even though it is compiled into the
 111          kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
 112          using the kernel parameter 'edd={on|skipmbr|off}'.
 113
 114config FIRMWARE_MEMMAP
 115    bool "Add firmware-provided memory map to sysfs" if EXPERT
 116    default X86
 117    help
 118      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
 119      That memory map is used for example by kexec to set up parameter area
 120      for the next kernel, but can also be used for debugging purposes.
 121
 122      See also Documentation/ABI/testing/sysfs-firmware-memmap.
 123
 124config EFI_PCDP
 125        bool "Console device selection via EFI PCDP or HCDP table"
 126        depends on ACPI && EFI && IA64
 127        default y if IA64
 128        help
 129          If your firmware supplies the PCDP table, and you want to
 130          automatically use the primary console device it describes
 131          as the Linux console, say Y here.
 132
 133          If your firmware supplies the HCDP table, and you want to
 134          use the first serial port it describes as the Linux console,
 135          say Y here.  If your EFI ConOut path contains only a UART
 136          device, it will become the console automatically.  Otherwise,
 137          you must specify the "console=hcdp" kernel boot argument.
 138
 139          Neither the PCDP nor the HCDP affects naming of serial devices,
 140          so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
 141          on how the driver discovers devices.
 142
 143          You must also enable the appropriate drivers (serial, VGA, etc.)
 144
 145          See DIG64_HCDPv20_042804.pdf available from
 146          <http://www.dig64.org/specifications/> 
 147
 148config DELL_RBU
 149        tristate "BIOS update support for DELL systems via sysfs"
 150        depends on X86
 151        select FW_LOADER
 152        select FW_LOADER_USER_HELPER
 153        help
 154         Say m if you want to have the option of updating the BIOS for your
 155         DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
 156         supporting application to communicate with the BIOS regarding the new
 157         image for the image update to take effect.
 158         See <file:Documentation/dell_rbu.txt> for more details on the driver.
 159
 160config DCDBAS
 161        tristate "Dell Systems Management Base Driver"
 162        depends on X86
 163        help
 164          The Dell Systems Management Base Driver provides a sysfs interface
 165          for systems management software to perform System Management
 166          Interrupts (SMIs) and Host Control Actions (system power cycle or
 167          power off after OS shutdown) on certain Dell systems.
 168
 169          See <file:Documentation/dcdbas.txt> for more details on the driver
 170          and the Dell systems on which Dell systems management software makes
 171          use of this driver.
 172
 173          Say Y or M here to enable the driver for use by Dell systems
 174          management software such as Dell OpenManage.
 175
 176config DMIID
 177    bool "Export DMI identification via sysfs to userspace"
 178    depends on DMI
 179    default y
 180        help
 181          Say Y here if you want to query SMBIOS/DMI system identification
 182          information from userspace through /sys/class/dmi/id/ or if you want
 183          DMI-based module auto-loading.
 184
 185config DMI_SYSFS
 186        tristate "DMI table support in sysfs"
 187        depends on SYSFS && DMI
 188        default n
 189        help
 190          Say Y or M here to enable the exporting of the raw DMI table
 191          data via sysfs.  This is useful for consuming the data without
 192          requiring any access to /dev/mem at all.  Tables are found
 193          under /sys/firmware/dmi when this option is enabled and
 194          loaded.
 195
 196config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
 197        bool
 198
 199config ISCSI_IBFT_FIND
 200        bool "iSCSI Boot Firmware Table Attributes"
 201        depends on X86 && ACPI
 202        default n
 203        help
 204          This option enables the kernel to find the region of memory
 205          in which the ISCSI Boot Firmware Table (iBFT) resides. This
 206          is necessary for iSCSI Boot Firmware Table Attributes module to work
 207          properly.
 208
 209config ISCSI_IBFT
 210        tristate "iSCSI Boot Firmware Table Attributes module"
 211        select ISCSI_BOOT_SYSFS
 212        depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
 213        default n
 214        help
 215          This option enables support for detection and exposing of iSCSI
 216          Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
 217          detect iSCSI boot parameters dynamically during system boot, say Y.
 218          Otherwise, say N.
 219
 220config RASPBERRYPI_FIRMWARE
 221        tristate "Raspberry Pi Firmware Driver"
 222        depends on BCM2835_MBOX
 223        help
 224          This option enables support for communicating with the firmware on the
 225          Raspberry Pi.
 226
 227config FW_CFG_SYSFS
 228        tristate "QEMU fw_cfg device support in sysfs"
 229        depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
 230        depends on HAS_IOPORT_MAP
 231        default n
 232        help
 233          Say Y or M here to enable the exporting of the QEMU firmware
 234          configuration (fw_cfg) file entries via sysfs. Entries are
 235          found under /sys/firmware/fw_cfg when this option is enabled
 236          and loaded.
 237
 238config FW_CFG_SYSFS_CMDLINE
 239        bool "QEMU fw_cfg device parameter parsing"
 240        depends on FW_CFG_SYSFS
 241        help
 242          Allow the qemu_fw_cfg device to be initialized via the kernel
 243          command line or using a module parameter.
 244          WARNING: Using incorrect parameters (base address in particular)
 245          may crash your system.
 246
 247config INTEL_STRATIX10_SERVICE
 248        tristate "Intel Stratix10 Service Layer"
 249        depends on HAVE_ARM_SMCCC
 250        default n
 251        help
 252          Intel Stratix10 service layer runs at privileged exception level,
 253          interfaces with the service providers (FPGA manager is one of them)
 254          and manages secure monitor call to communicate with secure monitor
 255          software at secure monitor exception level.
 256
 257          Say Y here if you want Stratix10 service layer support.
 258
 259config INTEL_STRATIX10_RSU
 260        tristate "Intel Stratix10 Remote System Update"
 261        depends on INTEL_STRATIX10_SERVICE
 262        help
 263          The Intel Remote System Update (RSU) driver exposes interfaces
 264          access through the Intel Service Layer to user space via sysfs
 265          device attribute nodes. The RSU interfaces report/control some of
 266          the optional RSU features of the Stratix 10 SoC FPGA.
 267
 268          The RSU provides a way for customers to update the boot
 269          configuration of a Stratix 10 SoC device with significantly reduced
 270          risk of corrupting the bitstream storage and bricking the system.
 271
 272          Enable RSU support if you are using an Intel SoC FPGA with the RSU
 273          feature enabled and you want Linux user space control.
 274
 275          Say Y here if you want Intel RSU support.
 276
 277config QCOM_SCM
 278        bool
 279        depends on ARM || ARM64
 280        select RESET_CONTROLLER
 281
 282config QCOM_SCM_32
 283        def_bool y
 284        depends on QCOM_SCM && ARM
 285
 286config QCOM_SCM_64
 287        def_bool y
 288        depends on QCOM_SCM && ARM64
 289
 290config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
 291        bool "Qualcomm download mode enabled by default"
 292        depends on QCOM_SCM
 293        help
 294          A device with "download mode" enabled will upon an unexpected
 295          warm-restart enter a special debug mode that allows the user to
 296          "download" memory content over USB for offline postmortem analysis.
 297          The feature can be enabled/disabled on the kernel command line.
 298
 299          Say Y here to enable "download mode" by default.
 300
 301config TI_SCI_PROTOCOL
 302        tristate "TI System Control Interface (TISCI) Message Protocol"
 303        depends on TI_MESSAGE_MANAGER
 304        help
 305          TI System Control Interface (TISCI) Message Protocol is used to manage
 306          compute systems such as ARM, DSP etc with the system controller in
 307          complex System on Chip(SoC) such as those found on certain keystone
 308          generation SoC from TI.
 309
 310          System controller provides various facilities including power
 311          management function support.
 312
 313          This protocol library is used by client drivers to use the features
 314          provided by the system controller.
 315
 316config HAVE_ARM_SMCCC
 317        bool
 318
 319source "drivers/firmware/broadcom/Kconfig"
 320source "drivers/firmware/google/Kconfig"
 321source "drivers/firmware/efi/Kconfig"
 322source "drivers/firmware/meson/Kconfig"
 323source "drivers/firmware/tegra/Kconfig"
 324
 325endmenu
 326