Kconfig 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  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 DMIID
  125. bool "Export DMI identification via sysfs to userspace"
  126. depends on DMI
  127. default y
  128. help
  129. Say Y here if you want to query SMBIOS/DMI system identification
  130. information from userspace through /sys/class/dmi/id/ or if you want
  131. DMI-based module auto-loading.
  132. config DMI_SYSFS
  133. tristate "DMI table support in sysfs"
  134. depends on SYSFS && DMI
  135. default n
  136. help
  137. Say Y or M here to enable the exporting of the raw DMI table
  138. data via sysfs. This is useful for consuming the data without
  139. requiring any access to /dev/mem at all. Tables are found
  140. under /sys/firmware/dmi when this option is enabled and
  141. loaded.
  142. config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
  143. bool
  144. config ISCSI_IBFT_FIND
  145. bool "iSCSI Boot Firmware Table Attributes"
  146. depends on X86 && ACPI
  147. default n
  148. help
  149. This option enables the kernel to find the region of memory
  150. in which the ISCSI Boot Firmware Table (iBFT) resides. This
  151. is necessary for iSCSI Boot Firmware Table Attributes module to work
  152. properly.
  153. config ISCSI_IBFT
  154. tristate "iSCSI Boot Firmware Table Attributes module"
  155. select ISCSI_BOOT_SYSFS
  156. depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
  157. default n
  158. help
  159. This option enables support for detection and exposing of iSCSI
  160. Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
  161. detect iSCSI boot parameters dynamically during system boot, say Y.
  162. Otherwise, say N.
  163. config RASPBERRYPI_FIRMWARE
  164. tristate "Raspberry Pi Firmware Driver"
  165. depends on BCM2835_MBOX
  166. help
  167. This option enables support for communicating with the firmware on the
  168. Raspberry Pi.
  169. config FW_CFG_SYSFS
  170. tristate "QEMU fw_cfg device support in sysfs"
  171. depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
  172. depends on HAS_IOPORT_MAP
  173. default n
  174. help
  175. Say Y or M here to enable the exporting of the QEMU firmware
  176. configuration (fw_cfg) file entries via sysfs. Entries are
  177. found under /sys/firmware/fw_cfg when this option is enabled
  178. and loaded.
  179. config FW_CFG_SYSFS_CMDLINE
  180. bool "QEMU fw_cfg device parameter parsing"
  181. depends on FW_CFG_SYSFS
  182. help
  183. Allow the qemu_fw_cfg device to be initialized via the kernel
  184. command line or using a module parameter.
  185. WARNING: Using incorrect parameters (base address in particular)
  186. may crash your system.
  187. config QCOM_SCM
  188. bool
  189. depends on ARM || ARM64
  190. select RESET_CONTROLLER
  191. config QCOM_SCM_32
  192. def_bool y
  193. depends on QCOM_SCM && ARM
  194. config QCOM_SCM_64
  195. def_bool y
  196. depends on QCOM_SCM && ARM64
  197. config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
  198. bool "Qualcomm download mode enabled by default"
  199. depends on QCOM_SCM
  200. help
  201. A device with "download mode" enabled will upon an unexpected
  202. warm-restart enter a special debug mode that allows the user to
  203. "download" memory content over USB for offline postmortem analysis.
  204. The feature can be enabled/disabled on the kernel command line.
  205. Say Y here to enable "download mode" by default.
  206. config TI_SCI_PROTOCOL
  207. tristate "TI System Control Interface (TISCI) Message Protocol"
  208. depends on TI_MESSAGE_MANAGER
  209. help
  210. TI System Control Interface (TISCI) Message Protocol is used to manage
  211. compute systems such as ARM, DSP etc with the system controller in
  212. complex System on Chip(SoC) such as those found on certain keystone
  213. generation SoC from TI.
  214. System controller provides various facilities including power
  215. management function support.
  216. This protocol library is used by client drivers to use the features
  217. provided by the system controller.
  218. config HAVE_ARM_SMCCC
  219. bool
  220. source "drivers/firmware/broadcom/Kconfig"
  221. source "drivers/firmware/google/Kconfig"
  222. source "drivers/firmware/efi/Kconfig"
  223. source "drivers/firmware/imx/Kconfig"
  224. source "drivers/firmware/meson/Kconfig"
  225. source "drivers/firmware/tegra/Kconfig"
  226. source "drivers/firmware/xilinx/Kconfig"
  227. endmenu