xref: /openbmc/linux/drivers/firmware/Kconfig (revision aa4f886f)
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"
1395140ed1SArnd Bergmann	depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !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
22*aa4f886fSSudeep Hollaconfig ARM_SCMI_PROTOCOL
23*aa4f886fSSudeep Holla	bool "ARM System Control and Management Interface (SCMI) Message Protocol"
24*aa4f886fSSudeep Holla	depends on ARM || ARM64 || COMPILE_TEST
25*aa4f886fSSudeep Holla	depends on MAILBOX
26*aa4f886fSSudeep Holla	help
27*aa4f886fSSudeep Holla	  ARM System Control and Management Interface (SCMI) protocol is a
28*aa4f886fSSudeep Holla	  set of operating system-independent software interfaces that are
29*aa4f886fSSudeep Holla	  used in system management. SCMI is extensible and currently provides
30*aa4f886fSSudeep Holla	  interfaces for: Discovery and self-description of the interfaces
31*aa4f886fSSudeep Holla	  it supports, Power domain management which is the ability to place
32*aa4f886fSSudeep Holla	  a given device or domain into the various power-saving states that
33*aa4f886fSSudeep Holla	  it supports, Performance management which is the ability to control
34*aa4f886fSSudeep Holla	  the performance of a domain that is composed of compute engines
35*aa4f886fSSudeep Holla	  such as application processors and other accelerators, Clock
36*aa4f886fSSudeep Holla	  management which is the ability to set and inquire rates on platform
37*aa4f886fSSudeep Holla	  managed clocks and Sensor management which is the ability to read
38*aa4f886fSSudeep Holla	  sensor data, and be notified of sensor value.
39*aa4f886fSSudeep Holla
40*aa4f886fSSudeep Holla	  This protocol library provides interface for all the client drivers
41*aa4f886fSSudeep Holla	  making use of the features offered by the SCMI.
42*aa4f886fSSudeep Holla
438cb7cf56SSudeep Hollaconfig ARM_SCPI_PROTOCOL
448cb7cf56SSudeep Holla	tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
4592f3e6ebSJean Delvare	depends on ARM || ARM64 || COMPILE_TEST
468f1498c0SSudeep Holla	depends on MAILBOX
478cb7cf56SSudeep Holla	help
488cb7cf56SSudeep Holla	  System Control and Power Interface (SCPI) Message Protocol is
498cb7cf56SSudeep Holla	  defined for the purpose of communication between the Application
508cb7cf56SSudeep Holla	  Cores(AP) and the System Control Processor(SCP). The MHU peripheral
518cb7cf56SSudeep Holla	  provides a mechanism for inter-processor communication between SCP
528cb7cf56SSudeep Holla	  and AP.
538cb7cf56SSudeep Holla
548cb7cf56SSudeep Holla	  SCP controls most of the power managament on the Application
558cb7cf56SSudeep Holla	  Processors. It offers control and management of: the core/cluster
568cb7cf56SSudeep Holla	  power states, various power domain DVFS including the core/cluster,
578cb7cf56SSudeep Holla	  certain system clocks configuration, thermal sensors and many
588cb7cf56SSudeep Holla	  others.
598cb7cf56SSudeep Holla
608cb7cf56SSudeep Holla	  This protocol library provides interface for all the client drivers
618cb7cf56SSudeep Holla	  making use of the features offered by the SCP.
628cb7cf56SSudeep Holla
638bec4337SSudeep Hollaconfig ARM_SCPI_POWER_DOMAIN
648bec4337SSudeep Holla	tristate "SCPI power domain driver"
65e517dfe6SArnd Bergmann	depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
668bec4337SSudeep Holla	default y
678bec4337SSudeep Holla	select PM_GENERIC_DOMAINS if PM
688bec4337SSudeep Holla	help
698bec4337SSudeep Holla	  This enables support for the SCPI power domains which can be
708bec4337SSudeep Holla	  enabled or disabled via the SCP firmware
718bec4337SSudeep Holla
72ad6eb31eSJames Morseconfig ARM_SDE_INTERFACE
73ad6eb31eSJames Morse	bool "ARM Software Delegated Exception Interface (SDEI)"
74ad6eb31eSJames Morse	depends on ARM64
75ad6eb31eSJames Morse	help
76ad6eb31eSJames Morse	  The Software Delegated Exception Interface (SDEI) is an ARM
77ad6eb31eSJames Morse	  standard for registering callbacks from the platform firmware
78ad6eb31eSJames Morse	  into the OS. This is typically used to implement RAS notifications.
79ad6eb31eSJames Morse
801da177e4SLinus Torvaldsconfig EDD
815d18639aSChris Wedgwood	tristate "BIOS Enhanced Disk Drive calls determine boot disk"
829b6e3e42SMike Frysinger	depends on X86
831da177e4SLinus Torvalds	help
841da177e4SLinus Torvalds	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
851da177e4SLinus Torvalds	  Services real mode BIOS calls to determine which disk
861da177e4SLinus Torvalds	  BIOS tries boot from.  This information is then exported via sysfs.
871da177e4SLinus Torvalds
881da177e4SLinus Torvalds	  This option is experimental and is known to fail to boot on some
891da177e4SLinus Torvalds          obscure configurations. Most disk controller BIOS vendors do
901da177e4SLinus Torvalds          not yet implement this feature.
911da177e4SLinus Torvalds
928c4dd606STim Gardnerconfig EDD_OFF
938c4dd606STim Gardner	bool "Sets default behavior for EDD detection to off"
948c4dd606STim Gardner	depends on EDD
958c4dd606STim Gardner	default n
968c4dd606STim Gardner	help
978c4dd606STim Gardner	  Say Y if you want EDD disabled by default, even though it is compiled into the
988c4dd606STim Gardner	  kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
998c4dd606STim Gardner	  using the kernel parameter 'edd={on|skipmbr|off}'.
1008c4dd606STim Gardner
10169ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP
1026a108a14SDavid Rientjes    bool "Add firmware-provided memory map to sysfs" if EXPERT
1039b6e3e42SMike Frysinger    default X86
10469ac9cd6SBernhard Walle    help
10569ac9cd6SBernhard Walle      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
10669ac9cd6SBernhard Walle      That memory map is used for example by kexec to set up parameter area
10769ac9cd6SBernhard Walle      for the next kernel, but can also be used for debugging purposes.
10869ac9cd6SBernhard Walle
10969ac9cd6SBernhard Walle      See also Documentation/ABI/testing/sysfs-firmware-memmap.
11069ac9cd6SBernhard Walle
1111da177e4SLinus Torvaldsconfig EFI_PCDP
1121da177e4SLinus Torvalds	bool "Console device selection via EFI PCDP or HCDP table"
1131da177e4SLinus Torvalds	depends on ACPI && EFI && IA64
1141da177e4SLinus Torvalds	default y if IA64
1151da177e4SLinus Torvalds	help
1161da177e4SLinus Torvalds	  If your firmware supplies the PCDP table, and you want to
1171da177e4SLinus Torvalds	  automatically use the primary console device it describes
1181da177e4SLinus Torvalds	  as the Linux console, say Y here.
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvalds	  If your firmware supplies the HCDP table, and you want to
1211da177e4SLinus Torvalds	  use the first serial port it describes as the Linux console,
1221da177e4SLinus Torvalds	  say Y here.  If your EFI ConOut path contains only a UART
1231da177e4SLinus Torvalds	  device, it will become the console automatically.  Otherwise,
1241da177e4SLinus Torvalds	  you must specify the "console=hcdp" kernel boot argument.
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvalds	  Neither the PCDP nor the HCDP affects naming of serial devices,
1271da177e4SLinus Torvalds	  so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
1281da177e4SLinus Torvalds	  on how the driver discovers devices.
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvalds	  You must also enable the appropriate drivers (serial, VGA, etc.)
1311da177e4SLinus Torvalds
132631dd1a8SJustin P. Mattock	  See DIG64_HCDPv20_042804.pdf available from
133631dd1a8SJustin P. Mattock	  <http://www.dig64.org/specifications/>
1341da177e4SLinus Torvalds
1356c54c28eSAbhay Salunkeconfig DELL_RBU
1366c54c28eSAbhay Salunke	tristate "BIOS update support for DELL systems via sysfs"
1376c52f137SDave Jones	depends on X86
1386c54c28eSAbhay Salunke	select FW_LOADER
139d05c39eaSTakashi Iwai	select FW_LOADER_USER_HELPER
1406c54c28eSAbhay Salunke	help
1416c54c28eSAbhay Salunke	 Say m if you want to have the option of updating the BIOS for your
1426c54c28eSAbhay Salunke	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
14309509603SMatt LaPlante	 supporting application to communicate with the BIOS regarding the new
1446c54c28eSAbhay Salunke	 image for the image update to take effect.
1456c54c28eSAbhay Salunke	 See <file:Documentation/dell_rbu.txt> for more details on the driver.
14690563ec4SDoug Warzecha
14790563ec4SDoug Warzechaconfig DCDBAS
14890563ec4SDoug Warzecha	tristate "Dell Systems Management Base Driver"
1490d078f6fSBrian Gerst	depends on X86
15090563ec4SDoug Warzecha	help
15190563ec4SDoug Warzecha	  The Dell Systems Management Base Driver provides a sysfs interface
15290563ec4SDoug Warzecha	  for systems management software to perform System Management
15390563ec4SDoug Warzecha	  Interrupts (SMIs) and Host Control Actions (system power cycle or
15490563ec4SDoug Warzecha	  power off after OS shutdown) on certain Dell systems.
15590563ec4SDoug Warzecha
15690563ec4SDoug Warzecha	  See <file:Documentation/dcdbas.txt> for more details on the driver
15790563ec4SDoug Warzecha	  and the Dell systems on which Dell systems management software makes
15890563ec4SDoug Warzecha	  use of this driver.
15990563ec4SDoug Warzecha
16090563ec4SDoug Warzecha	  Say Y or M here to enable the driver for use by Dell systems
16190563ec4SDoug Warzecha	  management software such as Dell OpenManage.
16290563ec4SDoug Warzecha
1634f5c791aSLennart Poetteringconfig DMIID
1644f5c791aSLennart Poettering    bool "Export DMI identification via sysfs to userspace"
1654f5c791aSLennart Poettering    depends on DMI
1664f5c791aSLennart Poettering    default y
1674f5c791aSLennart Poettering	help
1684f5c791aSLennart Poettering	  Say Y here if you want to query SMBIOS/DMI system identification
1694f5c791aSLennart Poettering	  information from userspace through /sys/class/dmi/id/ or if you want
1704f5c791aSLennart Poettering	  DMI-based module auto-loading.
1714f5c791aSLennart Poettering
172948af1f0SMike Waychisonconfig DMI_SYSFS
173948af1f0SMike Waychison	tristate "DMI table support in sysfs"
174948af1f0SMike Waychison	depends on SYSFS && DMI
175948af1f0SMike Waychison	default n
176948af1f0SMike Waychison	help
177948af1f0SMike Waychison	  Say Y or M here to enable the exporting of the raw DMI table
178948af1f0SMike Waychison	  data via sysfs.  This is useful for consuming the data without
179948af1f0SMike Waychison	  requiring any access to /dev/mem at all.  Tables are found
180948af1f0SMike Waychison	  under /sys/firmware/dmi when this option is enabled and
181948af1f0SMike Waychison	  loaded.
182948af1f0SMike Waychison
183cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK
184cf074402SArd Biesheuvel	bool
185cf074402SArd Biesheuvel
186138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND
187138fe4e0SKonrad Rzeszutek	bool "iSCSI Boot Firmware Table Attributes"
1889d24622cSLv Zheng	depends on X86 && ACPI
189138fe4e0SKonrad Rzeszutek	default n
190138fe4e0SKonrad Rzeszutek	help
191138fe4e0SKonrad Rzeszutek	  This option enables the kernel to find the region of memory
192138fe4e0SKonrad Rzeszutek	  in which the ISCSI Boot Firmware Table (iBFT) resides. This
193138fe4e0SKonrad Rzeszutek	  is necessary for iSCSI Boot Firmware Table Attributes module to work
194138fe4e0SKonrad Rzeszutek	  properly.
195138fe4e0SKonrad Rzeszutek
196138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT
197138fe4e0SKonrad Rzeszutek	tristate "iSCSI Boot Firmware Table Attributes module"
198b33a84a3SMike Christie	select ISCSI_BOOT_SYSFS
1993e0f686eSRandy Dunlap	depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
200138fe4e0SKonrad Rzeszutek	default	n
201138fe4e0SKonrad Rzeszutek	help
202138fe4e0SKonrad Rzeszutek	  This option enables support for detection and exposing of iSCSI
203138fe4e0SKonrad Rzeszutek	  Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
204138fe4e0SKonrad Rzeszutek	  detect iSCSI boot parameters dynamically during system boot, say Y.
205138fe4e0SKonrad Rzeszutek	  Otherwise, say N.
206138fe4e0SKonrad Rzeszutek
2074e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE
2084e3d6065SEric Anholt	tristate "Raspberry Pi Firmware Driver"
2094e3d6065SEric Anholt	depends on BCM2835_MBOX
2104e3d6065SEric Anholt	help
2114e3d6065SEric Anholt	  This option enables support for communicating with the firmware on the
2124e3d6065SEric Anholt	  Raspberry Pi.
2134e3d6065SEric Anholt
21475f3e8e4SGabriel Somloconfig FW_CFG_SYSFS
21575f3e8e4SGabriel Somlo	tristate "QEMU fw_cfg device support in sysfs"
21675f3e8e4SGabriel Somlo	depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
21728c09ec4SArnd Bergmann	depends on HAS_IOPORT_MAP
21875f3e8e4SGabriel Somlo	default n
21975f3e8e4SGabriel Somlo	help
22075f3e8e4SGabriel Somlo	  Say Y or M here to enable the exporting of the QEMU firmware
22175f3e8e4SGabriel Somlo	  configuration (fw_cfg) file entries via sysfs. Entries are
22275f3e8e4SGabriel Somlo	  found under /sys/firmware/fw_cfg when this option is enabled
22375f3e8e4SGabriel Somlo	  and loaded.
22475f3e8e4SGabriel Somlo
22575f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE
22675f3e8e4SGabriel Somlo	bool "QEMU fw_cfg device parameter parsing"
22775f3e8e4SGabriel Somlo	depends on FW_CFG_SYSFS
22875f3e8e4SGabriel Somlo	help
22975f3e8e4SGabriel Somlo	  Allow the qemu_fw_cfg device to be initialized via the kernel
23075f3e8e4SGabriel Somlo	  command line or using a module parameter.
23175f3e8e4SGabriel Somlo	  WARNING: Using incorrect parameters (base address in particular)
23275f3e8e4SGabriel Somlo	  may crash your system.
23375f3e8e4SGabriel Somlo
234916f743dSKumar Galaconfig QCOM_SCM
235916f743dSKumar Gala	bool
236916f743dSKumar Gala	depends on ARM || ARM64
237dd4fe5b2SBjorn Andersson	select RESET_CONTROLLER
238916f743dSKumar Gala
23950b956f3SAndy Grossconfig QCOM_SCM_32
24050b956f3SAndy Gross	def_bool y
24150b956f3SAndy Gross	depends on QCOM_SCM && ARM
24250b956f3SAndy Gross
24350b956f3SAndy Grossconfig QCOM_SCM_64
24450b956f3SAndy Gross	def_bool y
24550b956f3SAndy Gross	depends on QCOM_SCM && ARM64
24650b956f3SAndy Gross
2478c1b7dc9SBjorn Anderssonconfig QCOM_SCM_DOWNLOAD_MODE_DEFAULT
2488c1b7dc9SBjorn Andersson	bool "Qualcomm download mode enabled by default"
2498c1b7dc9SBjorn Andersson	depends on QCOM_SCM
2508c1b7dc9SBjorn Andersson	help
2518c1b7dc9SBjorn Andersson	  A device with "download mode" enabled will upon an unexpected
2528c1b7dc9SBjorn Andersson	  warm-restart enter a special debug mode that allows the user to
2538c1b7dc9SBjorn Andersson	  "download" memory content over USB for offline postmortem analysis.
2548c1b7dc9SBjorn Andersson	  The feature can be enabled/disabled on the kernel command line.
2558c1b7dc9SBjorn Andersson
2568c1b7dc9SBjorn Andersson	  Say Y here to enable "download mode" by default.
2578c1b7dc9SBjorn Andersson
258aa276781SNishanth Menonconfig TI_SCI_PROTOCOL
259aa276781SNishanth Menon	tristate "TI System Control Interface (TISCI) Message Protocol"
260aa276781SNishanth Menon	depends on TI_MESSAGE_MANAGER
261aa276781SNishanth Menon	help
262aa276781SNishanth Menon	  TI System Control Interface (TISCI) Message Protocol is used to manage
263aa276781SNishanth Menon	  compute systems such as ARM, DSP etc with the system controller in
264aa276781SNishanth Menon	  complex System on Chip(SoC) such as those found on certain keystone
265aa276781SNishanth Menon	  generation SoC from TI.
266aa276781SNishanth Menon
267aa276781SNishanth Menon	  System controller provides various facilities including power
268aa276781SNishanth Menon	  management function support.
269aa276781SNishanth Menon
270aa276781SNishanth Menon	  This protocol library is used by client drivers to use the features
271aa276781SNishanth Menon	  provided by the system controller.
272aa276781SNishanth Menon
27398dd64f3SJens Wiklanderconfig HAVE_ARM_SMCCC
27498dd64f3SJens Wiklander	bool
27598dd64f3SJens Wiklander
276f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig"
27774c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig"
27804851772SMatt Flemingsource "drivers/firmware/efi/Kconfig"
2792c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig"
280ca791d7fSThierry Redingsource "drivers/firmware/tegra/Kconfig"
28174c5b31cSMike Waychison
2821da177e4SLinus Torvaldsendmenu
283