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