xref: /openbmc/linux/drivers/firmware/Kconfig (revision 2c4ddb21)
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
118cb7cf56SSudeep Hollaconfig ARM_SCPI_PROTOCOL
128cb7cf56SSudeep Holla	tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
138f1498c0SSudeep Holla	depends on MAILBOX
148cb7cf56SSudeep Holla	help
158cb7cf56SSudeep Holla	  System Control and Power Interface (SCPI) Message Protocol is
168cb7cf56SSudeep Holla	  defined for the purpose of communication between the Application
178cb7cf56SSudeep Holla	  Cores(AP) and the System Control Processor(SCP). The MHU peripheral
188cb7cf56SSudeep Holla	  provides a mechanism for inter-processor communication between SCP
198cb7cf56SSudeep Holla	  and AP.
208cb7cf56SSudeep Holla
218cb7cf56SSudeep Holla	  SCP controls most of the power managament on the Application
228cb7cf56SSudeep Holla	  Processors. It offers control and management of: the core/cluster
238cb7cf56SSudeep Holla	  power states, various power domain DVFS including the core/cluster,
248cb7cf56SSudeep Holla	  certain system clocks configuration, thermal sensors and many
258cb7cf56SSudeep Holla	  others.
268cb7cf56SSudeep Holla
278cb7cf56SSudeep Holla	  This protocol library provides interface for all the client drivers
288cb7cf56SSudeep Holla	  making use of the features offered by the SCP.
298cb7cf56SSudeep Holla
308bec4337SSudeep Hollaconfig ARM_SCPI_POWER_DOMAIN
318bec4337SSudeep Holla	tristate "SCPI power domain driver"
32e517dfe6SArnd Bergmann	depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
338bec4337SSudeep Holla	default y
348bec4337SSudeep Holla	select PM_GENERIC_DOMAINS if PM
358bec4337SSudeep Holla	help
368bec4337SSudeep Holla	  This enables support for the SCPI power domains which can be
378bec4337SSudeep Holla	  enabled or disabled via the SCP firmware
388bec4337SSudeep Holla
391da177e4SLinus Torvaldsconfig EDD
405d18639aSChris Wedgwood	tristate "BIOS Enhanced Disk Drive calls determine boot disk"
419b6e3e42SMike Frysinger	depends on X86
421da177e4SLinus Torvalds	help
431da177e4SLinus Torvalds	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
441da177e4SLinus Torvalds	  Services real mode BIOS calls to determine which disk
451da177e4SLinus Torvalds	  BIOS tries boot from.  This information is then exported via sysfs.
461da177e4SLinus Torvalds
471da177e4SLinus Torvalds	  This option is experimental and is known to fail to boot on some
481da177e4SLinus Torvalds          obscure configurations. Most disk controller BIOS vendors do
491da177e4SLinus Torvalds          not yet implement this feature.
501da177e4SLinus Torvalds
518c4dd606STim Gardnerconfig EDD_OFF
528c4dd606STim Gardner	bool "Sets default behavior for EDD detection to off"
538c4dd606STim Gardner	depends on EDD
548c4dd606STim Gardner	default n
558c4dd606STim Gardner	help
568c4dd606STim Gardner	  Say Y if you want EDD disabled by default, even though it is compiled into the
578c4dd606STim Gardner	  kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
588c4dd606STim Gardner	  using the kernel parameter 'edd={on|skipmbr|off}'.
598c4dd606STim Gardner
6069ac9cd6SBernhard Walleconfig FIRMWARE_MEMMAP
616a108a14SDavid Rientjes    bool "Add firmware-provided memory map to sysfs" if EXPERT
629b6e3e42SMike Frysinger    default X86
6369ac9cd6SBernhard Walle    help
6469ac9cd6SBernhard Walle      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
6569ac9cd6SBernhard Walle      That memory map is used for example by kexec to set up parameter area
6669ac9cd6SBernhard Walle      for the next kernel, but can also be used for debugging purposes.
6769ac9cd6SBernhard Walle
6869ac9cd6SBernhard Walle      See also Documentation/ABI/testing/sysfs-firmware-memmap.
6969ac9cd6SBernhard Walle
701da177e4SLinus Torvaldsconfig EFI_PCDP
711da177e4SLinus Torvalds	bool "Console device selection via EFI PCDP or HCDP table"
721da177e4SLinus Torvalds	depends on ACPI && EFI && IA64
731da177e4SLinus Torvalds	default y if IA64
741da177e4SLinus Torvalds	help
751da177e4SLinus Torvalds	  If your firmware supplies the PCDP table, and you want to
761da177e4SLinus Torvalds	  automatically use the primary console device it describes
771da177e4SLinus Torvalds	  as the Linux console, say Y here.
781da177e4SLinus Torvalds
791da177e4SLinus Torvalds	  If your firmware supplies the HCDP table, and you want to
801da177e4SLinus Torvalds	  use the first serial port it describes as the Linux console,
811da177e4SLinus Torvalds	  say Y here.  If your EFI ConOut path contains only a UART
821da177e4SLinus Torvalds	  device, it will become the console automatically.  Otherwise,
831da177e4SLinus Torvalds	  you must specify the "console=hcdp" kernel boot argument.
841da177e4SLinus Torvalds
851da177e4SLinus Torvalds	  Neither the PCDP nor the HCDP affects naming of serial devices,
861da177e4SLinus Torvalds	  so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
871da177e4SLinus Torvalds	  on how the driver discovers devices.
881da177e4SLinus Torvalds
891da177e4SLinus Torvalds	  You must also enable the appropriate drivers (serial, VGA, etc.)
901da177e4SLinus Torvalds
91631dd1a8SJustin P. Mattock	  See DIG64_HCDPv20_042804.pdf available from
92631dd1a8SJustin P. Mattock	  <http://www.dig64.org/specifications/>
931da177e4SLinus Torvalds
946c54c28eSAbhay Salunkeconfig DELL_RBU
956c54c28eSAbhay Salunke	tristate "BIOS update support for DELL systems via sysfs"
966c52f137SDave Jones	depends on X86
976c54c28eSAbhay Salunke	select FW_LOADER
98d05c39eaSTakashi Iwai	select FW_LOADER_USER_HELPER
996c54c28eSAbhay Salunke	help
1006c54c28eSAbhay Salunke	 Say m if you want to have the option of updating the BIOS for your
1016c54c28eSAbhay Salunke	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
10209509603SMatt LaPlante	 supporting application to communicate with the BIOS regarding the new
1036c54c28eSAbhay Salunke	 image for the image update to take effect.
1046c54c28eSAbhay Salunke	 See <file:Documentation/dell_rbu.txt> for more details on the driver.
10590563ec4SDoug Warzecha
10690563ec4SDoug Warzechaconfig DCDBAS
10790563ec4SDoug Warzecha	tristate "Dell Systems Management Base Driver"
1080d078f6fSBrian Gerst	depends on X86
10990563ec4SDoug Warzecha	help
11090563ec4SDoug Warzecha	  The Dell Systems Management Base Driver provides a sysfs interface
11190563ec4SDoug Warzecha	  for systems management software to perform System Management
11290563ec4SDoug Warzecha	  Interrupts (SMIs) and Host Control Actions (system power cycle or
11390563ec4SDoug Warzecha	  power off after OS shutdown) on certain Dell systems.
11490563ec4SDoug Warzecha
11590563ec4SDoug Warzecha	  See <file:Documentation/dcdbas.txt> for more details on the driver
11690563ec4SDoug Warzecha	  and the Dell systems on which Dell systems management software makes
11790563ec4SDoug Warzecha	  use of this driver.
11890563ec4SDoug Warzecha
11990563ec4SDoug Warzecha	  Say Y or M here to enable the driver for use by Dell systems
12090563ec4SDoug Warzecha	  management software such as Dell OpenManage.
12190563ec4SDoug Warzecha
1224f5c791aSLennart Poetteringconfig DMIID
1234f5c791aSLennart Poettering    bool "Export DMI identification via sysfs to userspace"
1244f5c791aSLennart Poettering    depends on DMI
1254f5c791aSLennart Poettering    default y
1264f5c791aSLennart Poettering	help
1274f5c791aSLennart Poettering	  Say Y here if you want to query SMBIOS/DMI system identification
1284f5c791aSLennart Poettering	  information from userspace through /sys/class/dmi/id/ or if you want
1294f5c791aSLennart Poettering	  DMI-based module auto-loading.
1304f5c791aSLennart Poettering
131948af1f0SMike Waychisonconfig DMI_SYSFS
132948af1f0SMike Waychison	tristate "DMI table support in sysfs"
133948af1f0SMike Waychison	depends on SYSFS && DMI
134948af1f0SMike Waychison	default n
135948af1f0SMike Waychison	help
136948af1f0SMike Waychison	  Say Y or M here to enable the exporting of the raw DMI table
137948af1f0SMike Waychison	  data via sysfs.  This is useful for consuming the data without
138948af1f0SMike Waychison	  requiring any access to /dev/mem at all.  Tables are found
139948af1f0SMike Waychison	  under /sys/firmware/dmi when this option is enabled and
140948af1f0SMike Waychison	  loaded.
141948af1f0SMike Waychison
142cf074402SArd Biesheuvelconfig DMI_SCAN_MACHINE_NON_EFI_FALLBACK
143cf074402SArd Biesheuvel	bool
144cf074402SArd Biesheuvel
145138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT_FIND
146138fe4e0SKonrad Rzeszutek	bool "iSCSI Boot Firmware Table Attributes"
1479d24622cSLv Zheng	depends on X86 && ACPI
148138fe4e0SKonrad Rzeszutek	default n
149138fe4e0SKonrad Rzeszutek	help
150138fe4e0SKonrad Rzeszutek	  This option enables the kernel to find the region of memory
151138fe4e0SKonrad Rzeszutek	  in which the ISCSI Boot Firmware Table (iBFT) resides. This
152138fe4e0SKonrad Rzeszutek	  is necessary for iSCSI Boot Firmware Table Attributes module to work
153138fe4e0SKonrad Rzeszutek	  properly.
154138fe4e0SKonrad Rzeszutek
155138fe4e0SKonrad Rzeszutekconfig ISCSI_IBFT
156138fe4e0SKonrad Rzeszutek	tristate "iSCSI Boot Firmware Table Attributes module"
157b33a84a3SMike Christie	select ISCSI_BOOT_SYSFS
1583e0f686eSRandy Dunlap	depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
159138fe4e0SKonrad Rzeszutek	default	n
160138fe4e0SKonrad Rzeszutek	help
161138fe4e0SKonrad Rzeszutek	  This option enables support for detection and exposing of iSCSI
162138fe4e0SKonrad Rzeszutek	  Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
163138fe4e0SKonrad Rzeszutek	  detect iSCSI boot parameters dynamically during system boot, say Y.
164138fe4e0SKonrad Rzeszutek	  Otherwise, say N.
165138fe4e0SKonrad Rzeszutek
1664e3d6065SEric Anholtconfig RASPBERRYPI_FIRMWARE
1674e3d6065SEric Anholt	tristate "Raspberry Pi Firmware Driver"
1684e3d6065SEric Anholt	depends on BCM2835_MBOX
1694e3d6065SEric Anholt	help
1704e3d6065SEric Anholt	  This option enables support for communicating with the firmware on the
1714e3d6065SEric Anholt	  Raspberry Pi.
1724e3d6065SEric Anholt
17375f3e8e4SGabriel Somloconfig FW_CFG_SYSFS
17475f3e8e4SGabriel Somlo	tristate "QEMU fw_cfg device support in sysfs"
17575f3e8e4SGabriel Somlo	depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
17628c09ec4SArnd Bergmann	depends on HAS_IOPORT_MAP
17775f3e8e4SGabriel Somlo	default n
17875f3e8e4SGabriel Somlo	help
17975f3e8e4SGabriel Somlo	  Say Y or M here to enable the exporting of the QEMU firmware
18075f3e8e4SGabriel Somlo	  configuration (fw_cfg) file entries via sysfs. Entries are
18175f3e8e4SGabriel Somlo	  found under /sys/firmware/fw_cfg when this option is enabled
18275f3e8e4SGabriel Somlo	  and loaded.
18375f3e8e4SGabriel Somlo
18475f3e8e4SGabriel Somloconfig FW_CFG_SYSFS_CMDLINE
18575f3e8e4SGabriel Somlo	bool "QEMU fw_cfg device parameter parsing"
18675f3e8e4SGabriel Somlo	depends on FW_CFG_SYSFS
18775f3e8e4SGabriel Somlo	help
18875f3e8e4SGabriel Somlo	  Allow the qemu_fw_cfg device to be initialized via the kernel
18975f3e8e4SGabriel Somlo	  command line or using a module parameter.
19075f3e8e4SGabriel Somlo	  WARNING: Using incorrect parameters (base address in particular)
19175f3e8e4SGabriel Somlo	  may crash your system.
19275f3e8e4SGabriel Somlo
193916f743dSKumar Galaconfig QCOM_SCM
194916f743dSKumar Gala	bool
195916f743dSKumar Gala	depends on ARM || ARM64
196dd4fe5b2SBjorn Andersson	select RESET_CONTROLLER
197916f743dSKumar Gala
19850b956f3SAndy Grossconfig QCOM_SCM_32
19950b956f3SAndy Gross	def_bool y
20050b956f3SAndy Gross	depends on QCOM_SCM && ARM
20150b956f3SAndy Gross
20250b956f3SAndy Grossconfig QCOM_SCM_64
20350b956f3SAndy Gross	def_bool y
20450b956f3SAndy Gross	depends on QCOM_SCM && ARM64
20550b956f3SAndy Gross
20698dd64f3SJens Wiklanderconfig HAVE_ARM_SMCCC
20798dd64f3SJens Wiklander	bool
20898dd64f3SJens Wiklander
209f6e734a8SRafał Miłeckisource "drivers/firmware/broadcom/Kconfig"
21074c5b31cSMike Waychisonsource "drivers/firmware/google/Kconfig"
21104851772SMatt Flemingsource "drivers/firmware/efi/Kconfig"
212*2c4ddb21SCarlo Caionesource "drivers/firmware/meson/Kconfig"
21374c5b31cSMike Waychison
2141da177e4SLinus Torvaldsendmenu
215