Kconfig 10 KB

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