xref: /openbmc/linux/drivers/firmware/Kconfig (revision ad6eb31e)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# For a description of the syntax of this configuration file,
31da177e4SLinus Torvalds# see Documentation/kbuild/kconfig-language.txt.
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsmenu "Firmware Drivers"
71da177e4SLinus Torvalds
8bff60792SMark Rutlandconfig ARM_PSCI_FW
9bff60792SMark Rutland	bool
10bff60792SMark Rutland
11ea8b1c4aSKevin Brodskyconfig ARM_PSCI_CHECKER
12ea8b1c4aSKevin Brodsky	bool "ARM PSCI checker"
13ea8b1c4aSKevin Brodsky	depends on ARM_PSCI_FW && HOTPLUG_CPU && !TORTURE_TEST
14ea8b1c4aSKevin Brodsky	help
15ea8b1c4aSKevin Brodsky	  Run the PSCI checker during startup. This checks that hotplug and
16ea8b1c4aSKevin Brodsky	  suspend operations work correctly when using PSCI.
17ea8b1c4aSKevin Brodsky
18ea8b1c4aSKevin Brodsky	  The torture tests may interfere with the PSCI checker by turning CPUs
19ea8b1c4aSKevin Brodsky	  on and off through hotplug, so for now torture tests and PSCI checker
20ea8b1c4aSKevin Brodsky	  are mutually exclusive.
21ea8b1c4aSKevin Brodsky
228cb7cf56SSudeep Hollaconfig ARM_SCPI_PROTOCOL
238cb7cf56SSudeep Holla	tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
2492f3e6ebSJean Delvare	depends on ARM || ARM64 || COMPILE_TEST
258f1498c0SSudeep Holla	depends on MAILBOX
268cb7cf56SSudeep Holla	help
278cb7cf56SSudeep Holla	  System Control and Power Interface (SCPI) Message Protocol is
288cb7cf56SSudeep Holla	  defined for the purpose of communication between the Application
298cb7cf56SSudeep Holla	  Cores(AP) and the System Control Processor(SCP). The MHU peripheral
308cb7cf56SSudeep Holla	  provides a mechanism for inter-processor communication between SCP
318cb7cf56SSudeep Holla	  and AP.
328cb7cf56SSudeep Holla
338cb7cf56SSudeep Holla	  SCP controls most of the power managament on the Application
348cb7cf56SSudeep Holla	  Processors. It offers control and management of: the core/cluster
358cb7cf56SSudeep Holla	  power states, various power domain DVFS including the core/cluster,
368cb7cf56SSudeep Holla	  certain system clocks configuration, thermal sensors and many
378cb7cf56SSudeep Holla	  others.
388cb7cf56SSudeep Holla
398cb7cf56SSudeep Holla	  This protocol library provides interface for all the client drivers
408cb7cf56SSudeep Holla	  making use of the features offered by the SCP.
418cb7cf56SSudeep Holla
428bec4337SSudeep Hollaconfig ARM_SCPI_POWER_DOMAIN
438bec4337SSudeep Holla	tristate "SCPI power domain driver"
44e517dfe6SArnd Bergmann	depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
458bec4337SSudeep Holla	default y
468bec4337SSudeep Holla	select PM_GENERIC_DOMAINS if PM
478bec4337SSudeep Holla	help
488bec4337SSudeep Holla	  This enables support for the SCPI power domains which can be
498bec4337SSudeep Holla	  enabled or disabled via the SCP firmware
508bec4337SSudeep Holla
51*ad6eb31eSJames Morseconfig ARM_SDE_INTERFACE
52*ad6eb31eSJames Morse	bool "ARM Software Delegated Exception Interface (SDEI)"
53*ad6eb31eSJames Morse	depends on ARM64
54*ad6eb31eSJames Morse	help
55*ad6eb31eSJames Morse	  The Software Delegated Exception Interface (SDEI) is an ARM
56*ad6eb31eSJames Morse	  standard for registering callbacks from the platform firmware
57*ad6eb31eSJames Morse	  into the OS. This is typically used to implement RAS notifications.
58*ad6eb31eSJames Morse
591da177e4SLinus Torvaldsconfig EDD
605d18639aSChris Wedgwood	tristate "BIOS Enhanced Disk Drive calls determine boot disk"
619b6e3e42SMike Frysinger	depends on X86
621da177e4SLinus Torvalds	help
631da177e4SLinus Torvalds	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
641da177e4SLinus Torvalds	  Services real mode BIOS calls to determine which disk
651da177e4SLinus Torvalds	  BIOS tries boot from.  This information is then exported via sysfs.
661da177e4SLinus Torvalds
671da177e4SLinus Torvalds	  This option is experimental and is known to fail to boot on some
681da177e4SLinus Torvalds          obscure configurations. Most disk controller BIOS vendors do
691da177e4SLinus Torvalds          not yet implement this feature.
701da177e4SLinus Torvalds
718c4dd606STim Gardnerconfig EDD_OFF
728c4dd606STim Gardner	bool "Sets default behavior for EDD detection to off"
738c4dd606STim Gardner	depends on EDD
748c4dd606STim Gardner	default n
758c4dd606STim Gardner	help
768c4dd606STim Gardner	  Say Y if you want EDD disabled by default, even though it is compiled into the
778c4dd606STim Gardner	  kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
788c4dd606STim Gardner	  using the kernel parameter 'edd={on|skipmbr|off}'.
798c4dd606STim Gardner
8069ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP
816a108a14SDavid Rientjes    bool "Add firmware-provided memory map to sysfs" if EXPERT
829b6e3e42SMike Frysinger    default X86
8369ac9cd6SBernhard Walle    help
8469ac9cd6SBernhard Walle      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
8569ac9cd6SBernhard Walle      That memory map is used for example by kexec to set up parameter area
8669ac9cd6SBernhard Walle      for the next kernel, but can also be used for debugging purposes.
8769ac9cd6SBernhard Walle
8869ac9cd6SBernhard Walle      See also Documentation/ABI/testing/sysfs-firmware-memmap.
8969ac9cd6SBernhard Walle
901da177e4SLinus Torvaldsconfig EFI_PCDP
911da177e4SLinus Torvalds	bool "Console device selection via EFI PCDP or HCDP table"
921da177e4SLinus Torvalds	depends on ACPI && EFI && IA64
931da177e4SLinus Torvalds	default y if IA64
941da177e4SLinus Torvalds	help
951da177e4SLinus Torvalds	  If your firmware supplies the PCDP table, and you want to
961da177e4SLinus Torvalds	  automatically use the primary console device it describes
971da177e4SLinus Torvalds	  as the Linux console, say Y here.
981da177e4SLinus Torvalds
991da177e4SLinus Torvalds	  If your firmware supplies the HCDP table, and you want to
1001da177e4SLinus Torvalds	  use the first serial port it describes as the Linux console,
1011da177e4SLinus Torvalds	  say Y here.  If your EFI ConOut path contains only a UART
1021da177e4SLinus Torvalds	  device, it will become the console automatically.  Otherwise,
1031da177e4SLinus Torvalds	  you must specify the "console=hcdp" kernel boot argument.
1041da177e4SLinus Torvalds
1051da177e4SLinus Torvalds	  Neither the PCDP nor the HCDP affects naming of serial devices,
1061da177e4SLinus Torvalds	  so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
1071da177e4SLinus Torvalds	  on how the driver discovers devices.
1081da177e4SLinus Torvalds
1091da177e4SLinus Torvalds	  You must also enable the appropriate drivers (serial, VGA, etc.)
1101da177e4SLinus Torvalds
111631dd1a8SJustin P. Mattock	  See DIG64_HCDPv20_042804.pdf available from
112631dd1a8SJustin P. Mattock	  <http://www.dig64.org/specifications/>
1131da177e4SLinus Torvalds
1146c54c28eSAbhay Salunkeconfig DELL_RBU
1156c54c28eSAbhay Salunke	tristate "BIOS update support for DELL systems via sysfs"
1166c52f137SDave Jones	depends on X86
1176c54c28eSAbhay Salunke	select FW_LOADER
118d05c39eaSTakashi Iwai	select FW_LOADER_USER_HELPER
1196c54c28eSAbhay Salunke	help
1206c54c28eSAbhay Salunke	 Say m if you want to have the option of updating the BIOS for your
1216c54c28eSAbhay Salunke	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
12209509603SMatt LaPlante	 supporting application to communicate with the BIOS regarding the new
1236c54c28eSAbhay Salunke	 image for the image update to take effect.
1246c54c28eSAbhay Salunke	 See <file:Documentation/dell_rbu.txt> for more details on the driver.
12590563ec4SDoug Warzecha
12690563ec4SDoug Warzechaconfig DCDBAS
12790563ec4SDoug Warzecha	tristate "Dell Systems Management Base Driver"
1280d078f6fSBrian Gerst	depends on X86
12990563ec4SDoug Warzecha	help
13090563ec4SDoug Warzecha	  The Dell Systems Management Base Driver provides a sysfs interface
13190563ec4SDoug Warzecha	  for systems management software to perform System Management
13290563ec4SDoug Warzecha	  Interrupts (SMIs) and Host Control Actions (system power cycle or
13390563ec4SDoug Warzecha	  power off after OS shutdown) on certain Dell systems.
13490563ec4SDoug Warzecha
13590563ec4SDoug Warzecha	  See <file:Documentation/dcdbas.txt> for more details on the driver
13690563ec4SDoug Warzecha	  and the Dell systems on which Dell systems management software makes
13790563ec4SDoug Warzecha	  use of this driver.
13890563ec4SDoug Warzecha
13990563ec4SDoug Warzecha	  Say Y or M here to enable the driver for use by Dell systems
14090563ec4SDoug Warzecha	  management software such as Dell OpenManage.
14190563ec4SDoug Warzecha
1424f5c791aSLennart Poetteringconfig DMIID
1434f5c791aSLennart Poettering    bool "Export DMI identification via sysfs to userspace"
1444f5c791aSLennart Poettering    depends on DMI
1454f5c791aSLennart Poettering    default y
1464f5c791aSLennart Poettering	help
1474f5c791aSLennart Poettering	  Say Y here if you want to query SMBIOS/DMI system identification
1484f5c791aSLennart Poettering	  information from userspace through /sys/class/dmi/id/ or if you want
1494f5c791aSLennart Poettering	  DMI-based module auto-loading.
1504f5c791aSLennart Poettering
151948af1f0SMike Waychisonconfig DMI_SYSFS
152948af1f0SMike Waychison	tristate "DMI table support in sysfs"
153948af1f0SMike Waychison	depends on SYSFS && DMI
154948af1f0SMike Waychison	default n
155948af1f0SMike Waychison	help
156948af1f0SMike Waychison	  Say Y or M here to enable the exporting of the raw DMI table
157948af1f0SMike Waychison	  data via sysfs.  This is useful for consuming the data without
158948af1f0SMike Waychison	  requiring any access to /dev/mem at all.  Tables are found
159948af1f0SMike Waychison	  under /sys/firmware/dmi when this option is enabled and
160948af1f0SMike Waychison	  loaded.
161948af1f0SMike Waychison
162cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK
163cf074402SArd Biesheuvel	bool
164cf074402SArd Biesheuvel
165138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND
166138fe4e0SKonrad Rzeszutek	bool "iSCSI Boot Firmware Table Attributes"
1679d24622cSLv Zheng	depends on X86 && ACPI
168138fe4e0SKonrad Rzeszutek	default n
169138fe4e0SKonrad Rzeszutek	help
170138fe4e0SKonrad Rzeszutek	  This option enables the kernel to find the region of memory
171138fe4e0SKonrad Rzeszutek	  in which the ISCSI Boot Firmware Table (iBFT) resides. This
172138fe4e0SKonrad Rzeszutek	  is necessary for iSCSI Boot Firmware Table Attributes module to work
173138fe4e0SKonrad Rzeszutek	  properly.
174138fe4e0SKonrad Rzeszutek
175138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT
176138fe4e0SKonrad Rzeszutek	tristate "iSCSI Boot Firmware Table Attributes module"
177b33a84a3SMike Christie	select ISCSI_BOOT_SYSFS
1783e0f686eSRandy Dunlap	depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
179138fe4e0SKonrad Rzeszutek	default	n
180138fe4e0SKonrad Rzeszutek	help
181138fe4e0SKonrad Rzeszutek	  This option enables support for detection and exposing of iSCSI
182138fe4e0SKonrad Rzeszutek	  Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
183138fe4e0SKonrad Rzeszutek	  detect iSCSI boot parameters dynamically during system boot, say Y.
184138fe4e0SKonrad Rzeszutek	  Otherwise, say N.
185138fe4e0SKonrad Rzeszutek
1864e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE
1874e3d6065SEric Anholt	tristate "Raspberry Pi Firmware Driver"
1884e3d6065SEric Anholt	depends on BCM2835_MBOX
1894e3d6065SEric Anholt	help
1904e3d6065SEric Anholt	  This option enables support for communicating with the firmware on the
1914e3d6065SEric Anholt	  Raspberry Pi.
1924e3d6065SEric Anholt
19375f3e8e4SGabriel Somloconfig FW_CFG_SYSFS
19475f3e8e4SGabriel Somlo	tristate "QEMU fw_cfg device support in sysfs"
19575f3e8e4SGabriel Somlo	depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
19628c09ec4SArnd Bergmann	depends on HAS_IOPORT_MAP
19775f3e8e4SGabriel Somlo	default n
19875f3e8e4SGabriel Somlo	help
19975f3e8e4SGabriel Somlo	  Say Y or M here to enable the exporting of the QEMU firmware
20075f3e8e4SGabriel Somlo	  configuration (fw_cfg) file entries via sysfs. Entries are
20175f3e8e4SGabriel Somlo	  found under /sys/firmware/fw_cfg when this option is enabled
20275f3e8e4SGabriel Somlo	  and loaded.
20375f3e8e4SGabriel Somlo
20475f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE
20575f3e8e4SGabriel Somlo	bool "QEMU fw_cfg device parameter parsing"
20675f3e8e4SGabriel Somlo	depends on FW_CFG_SYSFS
20775f3e8e4SGabriel Somlo	help
20875f3e8e4SGabriel Somlo	  Allow the qemu_fw_cfg device to be initialized via the kernel
20975f3e8e4SGabriel Somlo	  command line or using a module parameter.
21075f3e8e4SGabriel Somlo	  WARNING: Using incorrect parameters (base address in particular)
21175f3e8e4SGabriel Somlo	  may crash your system.
21275f3e8e4SGabriel Somlo
213916f743dSKumar Galaconfig QCOM_SCM
214916f743dSKumar Gala	bool
215916f743dSKumar Gala	depends on ARM || ARM64
216dd4fe5b2SBjorn Andersson	select RESET_CONTROLLER
217916f743dSKumar Gala
21850b956f3SAndy Grossconfig QCOM_SCM_32
21950b956f3SAndy Gross	def_bool y
22050b956f3SAndy Gross	depends on QCOM_SCM && ARM
22150b956f3SAndy Gross
22250b956f3SAndy Grossconfig QCOM_SCM_64
22350b956f3SAndy Gross	def_bool y
22450b956f3SAndy Gross	depends on QCOM_SCM && ARM64
22550b956f3SAndy Gross
2268c1b7dc9SBjorn Anderssonconfig QCOM_SCM_DOWNLOAD_MODE_DEFAULT
2278c1b7dc9SBjorn Andersson	bool "Qualcomm download mode enabled by default"
2288c1b7dc9SBjorn Andersson	depends on QCOM_SCM
2298c1b7dc9SBjorn Andersson	help
2308c1b7dc9SBjorn Andersson	  A device with "download mode" enabled will upon an unexpected
2318c1b7dc9SBjorn Andersson	  warm-restart enter a special debug mode that allows the user to
2328c1b7dc9SBjorn Andersson	  "download" memory content over USB for offline postmortem analysis.
2338c1b7dc9SBjorn Andersson	  The feature can be enabled/disabled on the kernel command line.
2348c1b7dc9SBjorn Andersson
2358c1b7dc9SBjorn Andersson	  Say Y here to enable "download mode" by default.
2368c1b7dc9SBjorn Andersson
237aa276781SNishanth Menonconfig TI_SCI_PROTOCOL
238aa276781SNishanth Menon	tristate "TI System Control Interface (TISCI) Message Protocol"
239aa276781SNishanth Menon	depends on TI_MESSAGE_MANAGER
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
25298dd64f3SJens Wiklanderconfig HAVE_ARM_SMCCC
25398dd64f3SJens Wiklander	bool
25498dd64f3SJens Wiklander
255f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig"
25674c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig"
25704851772SMatt Flemingsource "drivers/firmware/efi/Kconfig"
2582c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig"
259ca791d7fSThierry Redingsource "drivers/firmware/tegra/Kconfig"
26074c5b31cSMike Waychison
2611da177e4SLinus Torvaldsendmenu
262