#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

menu "Firmware Drivers"

config ARM_PSCI_FW
	bool

config ARM_PSCI_CHECKER
	bool "ARM PSCI checker"
	depends on ARM_PSCI_FW && HOTPLUG_CPU && !TORTURE_TEST
	help
	  Run the PSCI checker during startup. This checks that hotplug and
	  suspend operations work correctly when using PSCI.

	  The torture tests may interfere with the PSCI checker by turning CPUs
	  on and off through hotplug, so for now torture tests and PSCI checker
	  are mutually exclusive.

config ARM_SCPI_PROTOCOL
	tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
	depends on ARM || ARM64 || COMPILE_TEST
	depends on MAILBOX
	help
	  System Control and Power Interface (SCPI) Message Protocol is
	  defined for the purpose of communication between the Application
	  Cores(AP) and the System Control Processor(SCP). The MHU peripheral
	  provides a mechanism for inter-processor communication between SCP
	  and AP.

	  SCP controls most of the power managament on the Application
	  Processors. It offers control and management of: the core/cluster
	  power states, various power domain DVFS including the core/cluster,
	  certain system clocks configuration, thermal sensors and many
	  others.

	  This protocol library provides interface for all the client drivers
	  making use of the features offered by the SCP.

config ARM_SCPI_POWER_DOMAIN
	tristate "SCPI power domain driver"
	depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
	default y
	select PM_GENERIC_DOMAINS if PM
	help
	  This enables support for the SCPI power domains which can be
	  enabled or disabled via the SCP firmware

config EDD
	tristate "BIOS Enhanced Disk Drive calls determine boot disk"
	depends on X86
	help
	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
	  Services real mode BIOS calls to determine which disk
	  BIOS tries boot from.  This information is then exported via sysfs.

	  This option is experimental and is known to fail to boot on some
          obscure configurations. Most disk controller BIOS vendors do
          not yet implement this feature.

config EDD_OFF
	bool "Sets default behavior for EDD detection to off"
	depends on EDD
	default n
	help
	  Say Y if you want EDD disabled by default, even though it is compiled into the
	  kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
	  using the kernel parameter 'edd={on|skipmbr|off}'.

config FIRMWARE_MEMMAP
    bool "Add firmware-provided memory map to sysfs" if EXPERT
    default X86
    help
      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
      That memory map is used for example by kexec to set up parameter area
      for the next kernel, but can also be used for debugging purposes.

      See also Documentation/ABI/testing/sysfs-firmware-memmap.

config EFI_PCDP
	bool "Console device selection via EFI PCDP or HCDP table"
	depends on ACPI && EFI && IA64
	default y if IA64
	help
	  If your firmware supplies the PCDP table, and you want to
	  automatically use the primary console device it describes
	  as the Linux console, say Y here.

	  If your firmware supplies the HCDP table, and you want to
	  use the first serial port it describes as the Linux console,
	  say Y here.  If your EFI ConOut path contains only a UART
	  device, it will become the console automatically.  Otherwise,
	  you must specify the "console=hcdp" kernel boot argument.

	  Neither the PCDP nor the HCDP affects naming of serial devices,
	  so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
	  on how the driver discovers devices.

	  You must also enable the appropriate drivers (serial, VGA, etc.)

	  See DIG64_HCDPv20_042804.pdf available from
	  <http://www.dig64.org/specifications/> 

config DELL_RBU
	tristate "BIOS update support for DELL systems via sysfs"
	depends on X86
	select FW_LOADER
	select FW_LOADER_USER_HELPER
	help
	 Say m if you want to have the option of updating the BIOS for your
	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
	 supporting application to communicate with the BIOS regarding the new
	 image for the image update to take effect.
	 See <file:Documentation/dell_rbu.txt> for more details on the driver.

config DCDBAS
	tristate "Dell Systems Management Base Driver"
	depends on X86
	help
	  The Dell Systems Management Base Driver provides a sysfs interface
	  for systems management software to perform System Management
	  Interrupts (SMIs) and Host Control Actions (system power cycle or
	  power off after OS shutdown) on certain Dell systems.

	  See <file:Documentation/dcdbas.txt> for more details on the driver
	  and the Dell systems on which Dell systems management software makes
	  use of this driver.

	  Say Y or M here to enable the driver for use by Dell systems
	  management software such as Dell OpenManage.

config DMIID
    bool "Export DMI identification via sysfs to userspace"
    depends on DMI
    default y
	help
	  Say Y here if you want to query SMBIOS/DMI system identification
	  information from userspace through /sys/class/dmi/id/ or if you want
	  DMI-based module auto-loading.

config DMI_SYSFS
	tristate "DMI table support in sysfs"
	depends on SYSFS && DMI
	default n
	help
	  Say Y or M here to enable the exporting of the raw DMI table
	  data via sysfs.  This is useful for consuming the data without
	  requiring any access to /dev/mem at all.  Tables are found
	  under /sys/firmware/dmi when this option is enabled and
	  loaded.

config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
	bool

config ISCSI_IBFT_FIND
	bool "iSCSI Boot Firmware Table Attributes"
	depends on X86 && ACPI
	default n
	help
	  This option enables the kernel to find the region of memory
	  in which the ISCSI Boot Firmware Table (iBFT) resides. This
	  is necessary for iSCSI Boot Firmware Table Attributes module to work
	  properly.

config ISCSI_IBFT
	tristate "iSCSI Boot Firmware Table Attributes module"
	select ISCSI_BOOT_SYSFS
	depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
	default	n
	help
	  This option enables support for detection and exposing of iSCSI
	  Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
	  detect iSCSI boot parameters dynamically during system boot, say Y.
	  Otherwise, say N.

config RASPBERRYPI_FIRMWARE
	tristate "Raspberry Pi Firmware Driver"
	depends on BCM2835_MBOX
	help
	  This option enables support for communicating with the firmware on the
	  Raspberry Pi.

config FW_CFG_SYSFS
	tristate "QEMU fw_cfg device support in sysfs"
	depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
	depends on HAS_IOPORT_MAP
	default n
	help
	  Say Y or M here to enable the exporting of the QEMU firmware
	  configuration (fw_cfg) file entries via sysfs. Entries are
	  found under /sys/firmware/fw_cfg when this option is enabled
	  and loaded.

config FW_CFG_SYSFS_CMDLINE
	bool "QEMU fw_cfg device parameter parsing"
	depends on FW_CFG_SYSFS
	help
	  Allow the qemu_fw_cfg device to be initialized via the kernel
	  command line or using a module parameter.
	  WARNING: Using incorrect parameters (base address in particular)
	  may crash your system.

config QCOM_SCM
	bool
	depends on ARM || ARM64
	select RESET_CONTROLLER

config QCOM_SCM_32
	def_bool y
	depends on QCOM_SCM && ARM

config QCOM_SCM_64
	def_bool y
	depends on QCOM_SCM && ARM64

config TI_SCI_PROTOCOL
	tristate "TI System Control Interface (TISCI) Message Protocol"
	depends on TI_MESSAGE_MANAGER
	help
	  TI System Control Interface (TISCI) Message Protocol is used to manage
	  compute systems such as ARM, DSP etc with the system controller in
	  complex System on Chip(SoC) such as those found on certain keystone
	  generation SoC from TI.

	  System controller provides various facilities including power
	  management function support.

	  This protocol library is used by client drivers to use the features
	  provided by the system controller.

config HAVE_ARM_SMCCC
	bool

source "drivers/firmware/broadcom/Kconfig"
source "drivers/firmware/google/Kconfig"
source "drivers/firmware/efi/Kconfig"
source "drivers/firmware/meson/Kconfig"
source "drivers/firmware/tegra/Kconfig"

endmenu
