Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / misc / Kconfig
blob09cbe3f0ab1e56f85852c0cb50cfc03cae659d2b
1 # SPDX-License-Identifier: GPL-2.0-only
3 # Misc strange devices
6 menu "Misc devices"
8 config SENSORS_LIS3LV02D
9         tristate
10         depends on INPUT
12 config AD525X_DPOT
13         tristate "Analog Devices Digital Potentiometers"
14         depends on (I2C || SPI) && SYSFS
15         help
16           If you say yes here, you get support for the Analog Devices
17           AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
18           AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
19           AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
20           AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
21           AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
22           AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
23           ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
24           AD5271, AD5272, AD5274
25           digital potentiometer chips.
27           See Documentation/misc-devices/ad525x_dpot.rst for the
28           userspace interface.
30           This driver can also be built as a module.  If so, the module
31           will be called ad525x_dpot.
33 config AD525X_DPOT_I2C
34         tristate "support I2C bus connection"
35         depends on AD525X_DPOT && I2C
36         help
37           Say Y here if you have a digital potentiometers hooked to an I2C bus.
39           To compile this driver as a module, choose M here: the
40           module will be called ad525x_dpot-i2c.
42 config AD525X_DPOT_SPI
43         tristate "support SPI bus connection"
44         depends on AD525X_DPOT && SPI_MASTER
45         help
46           Say Y here if you have a digital potentiometers hooked to an SPI bus.
48           If unsure, say N (but it's safe to say "Y").
50           To compile this driver as a module, choose M here: the
51           module will be called ad525x_dpot-spi.
53 config DUMMY_IRQ
54         tristate "Dummy IRQ handler"
55         help
56           This module accepts a single 'irq' parameter, which it should register for.
57           The sole purpose of this module is to help with debugging of systems on
58           which spurious IRQs would happen on disabled IRQ vector.
60 config IBM_ASM
61         tristate "Device driver for IBM RSA service processor"
62         depends on X86 && PCI && INPUT
63         depends on SERIAL_8250 || SERIAL_8250=n
64         help
65           This option enables device driver support for in-band access to the
66           IBM RSA (Condor) service processor in eServer xSeries systems.
67           The ibmasm device driver allows user space application to access
68           ASM (Advanced Systems Management) functions on the service
69           processor. The driver is meant to be used in conjunction with
70           a user space API.
71           The ibmasm driver also enables the OS to use the UART on the
72           service processor board as a regular serial port. To make use of
73           this feature serial driver support (CONFIG_SERIAL_8250) must be
74           enabled.
76           WARNING: This software may not be supported or function
77           correctly on your IBM server. Please consult the IBM ServerProven
78           website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
79           for information on the specific driver level and support statement
80           for your IBM server.
82 config IBMVMC
83         tristate "IBM Virtual Management Channel support"
84         depends on PPC_PSERIES
85         help
86           This is the IBM POWER Virtual Management Channel
88           This driver is to be used for the POWER Virtual
89           Management Channel virtual adapter on the PowerVM
90           platform. It provides both request/response and
91           async message support through the /dev/ibmvmc node.
93           To compile this driver as a module, choose M here: the
94           module will be called ibmvmc.
96 config PHANTOM
97         tristate "Sensable PHANToM (PCI)"
98         depends on PCI
99         help
100           Say Y here if you want to build a driver for Sensable PHANToM device.
102           This driver is only for PCI PHANToMs.
104           If you choose to build module, its name will be phantom. If unsure,
105           say N here.
107 config RPMB
108         tristate "RPMB partition interface"
109         depends on MMC
110         help
111           Unified RPMB unit interface for RPMB capable devices such as eMMC and
112           UFS. Provides interface for in-kernel security controllers to access
113           RPMB unit.
115           If unsure, select N.
117 config TIFM_CORE
118         tristate "TI Flash Media interface support"
119         depends on PCI
120         help
121           If you want support for Texas Instruments(R) Flash Media adapters
122           you should select this option and then also choose an appropriate
123           host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
124           support', if you have a TI PCI74xx compatible card reader, for
125           example.
126           You will also have to select some flash card format drivers. MMC/SD
127           cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
128           Interface support (MMC_TIFM_SD)'.
130           To compile this driver as a module, choose M here: the module will
131           be called tifm_core.
133 config TIFM_7XX1
134         tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
135         depends on PCI && TIFM_CORE
136         default TIFM_CORE
137         help
138           This option enables support for Texas Instruments(R) PCI74xx and
139           PCI76xx families of Flash Media adapters, found in many laptops.
140           To make actual use of the device, you will have to select some
141           flash card format drivers, as outlined in the TIFM_CORE Help.
143           To compile this driver as a module, choose M here: the module will
144           be called tifm_7xx1.
146 config ICS932S401
147         tristate "Integrated Circuits ICS932S401"
148         depends on I2C
149         help
150           If you say yes here you get support for the Integrated Circuits
151           ICS932S401 clock control chips.
153           This driver can also be built as a module. If so, the module
154           will be called ics932s401.
156 config ATMEL_SSC
157         tristate "Device driver for Atmel SSC peripheral"
158         depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
159         help
160           This option enables device driver support for Atmel Synchronized
161           Serial Communication peripheral (SSC).
163           The SSC peripheral supports a wide variety of serial frame based
164           communications, i.e. I2S, SPI, etc.
166           If unsure, say N.
168 config ENCLOSURE_SERVICES
169         tristate "Enclosure Services"
170         help
171           Provides support for intelligent enclosures (bays which
172           contain storage devices).  You also need either a host
173           driver (SCSI/ATA) which supports enclosures
174           or a SCSI enclosure device (SES) to use these services.
176 config SGI_XP
177         tristate "Support communication between SGI SSIs"
178         depends on NET
179         depends on X86_UV && SMP
180         depends on X86_64 || BROKEN
181         select SGI_GRU if X86_64 && SMP
182         help
183           An SGI machine can be divided into multiple Single System
184           Images which act independently of each other and have
185           hardware based memory protection from the others.  Enabling
186           this feature will allow for direct communication between SSIs
187           based on a network adapter and DMA messaging.
189 config SMPRO_ERRMON
190         tristate "Ampere Computing SMPro error monitor driver"
191         depends on MFD_SMPRO || COMPILE_TEST
192         help
193           Say Y here to get support for the SMpro error monitor function
194           provided by Ampere Computing's Altra and Altra Max SoCs. Upon
195           loading, the driver creates sysfs files which can be use to gather
196           multiple HW error data reported via read and write system calls.
198           To compile this driver as a module, say M here. The driver will be
199           called smpro-errmon.
201 config SMPRO_MISC
202         tristate "Ampere Computing SMPro miscellaneous driver"
203         depends on MFD_SMPRO || COMPILE_TEST
204         help
205           Say Y here to get support for the SMpro error miscellalenous function
206           provided by Ampere Computing's Altra and Altra Max SoCs.
208           To compile this driver as a module, say M here. The driver will be
209           called smpro-misc.
211 config CS5535_MFGPT
212         tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
213         depends on MFD_CS5535
214         help
215           This driver provides access to MFGPT functionality for other
216           drivers that need timers.  MFGPTs are available in the CS5535 and
217           CS5536 companion chips that are found in AMD Geode and several
218           other platforms.  They have a better resolution and max interval
219           than the generic PIT, and are suitable for use as high-res timers.
220           You probably don't want to enable this manually; other drivers that
221           make use of it should enable it.
223 config CS5535_MFGPT_DEFAULT_IRQ
224         int
225         depends on CS5535_MFGPT
226         default 7
227         help
228           MFGPTs on the CS5535 require an interrupt.  The selected IRQ
229           can be overridden as a module option as well as by driver that
230           use the cs5535_mfgpt_ API; however, different architectures might
231           want to use a different IRQ by default.  This is here for
232           architectures to set as necessary.
234 config CS5535_CLOCK_EVENT_SRC
235         tristate "CS5535/CS5536 high-res timer (MFGPT) events"
236         depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
237         help
238           This driver provides a clock event source based on the MFGPT
239           timer(s) in the CS5535 and CS5536 companion chips.
240           MFGPTs have a better resolution and max interval than the
241           generic PIT, and are suitable for use as high-res timers.
243 config GEHC_ACHC
244         tristate "GEHC ACHC support"
245         depends on SPI && SYSFS
246         depends on SOC_IMX53 || COMPILE_TEST
247         select FW_LOADER
248         help
249           Support for GE ACHC microcontroller, that is part of the GE
250           PPD device.
252           To compile this driver as a module, choose M here: the
253           module will be called gehc-achc.
255 config HI6421V600_IRQ
256         tristate "HiSilicon Hi6421v600 IRQ and powerkey"
257         depends on OF
258         depends on SPMI
259         depends on HAS_IOMEM
260         select MFD_CORE
261         select REGMAP_SPMI
262         help
263           This driver provides IRQ handling for Hi6421v600, used on
264           some Kirin chipsets, like the one at Hikey 970.
266 config HP_ILO
267         tristate "Channel interface driver for the HP iLO processor"
268         depends on PCI
269         help
270           The channel interface driver allows applications to communicate
271           with iLO management processors present on HP ProLiant servers.
272           Upon loading, the driver creates /dev/hpilo/dXccbN files, which
273           can be used to gather data from the management processor, via
274           read and write system calls.
276           To compile this driver as a module, choose M here: the
277           module will be called hpilo.
279 config QCOM_COINCELL
280         tristate "Qualcomm coincell charger support"
281         depends on MFD_SPMI_PMIC || COMPILE_TEST
282         help
283           This driver supports the coincell block found inside of
284           Qualcomm PMICs.  The coincell charger provides a means to
285           charge a coincell battery or backup capacitor which is used
286           to maintain PMIC register and RTC state in the absence of
287           external power.
289 config QCOM_FASTRPC
290         tristate "Qualcomm FastRPC"
291         depends on ARCH_QCOM || COMPILE_TEST
292         depends on RPMSG
293         select DMA_SHARED_BUFFER
294         select QCOM_SCM
295         help
296           Provides a communication mechanism that allows for clients to
297           make remote method invocations across processor boundary to
298           applications DSP processor. Say M if you want to enable this
299           module.
301 config SGI_GRU
302         tristate "SGI GRU driver"
303         depends on X86_UV && SMP
304         select MMU_NOTIFIER
305         help
306           The GRU is a hardware resource located in the system chipset. The GRU
307           contains memory that can be mmapped into the user address space.
308           This memory is used to communicate with the GRU to perform functions
309           such as load/store, scatter/gather, bcopy, AMOs, etc.  The GRU is
310           directly accessed by user instructions using user virtual addresses.
311           GRU instructions (ex., bcopy) use user virtual addresses for operands.
313           If you are not running on a SGI UV system, say N.
315 config SGI_GRU_DEBUG
316         bool  "SGI GRU driver debug"
317         depends on SGI_GRU
318         help
319           This option enables additional debugging code for the SGI GRU driver.
320           If you are unsure, say N.
322 config APDS9802ALS
323         tristate "Medfield Avago APDS9802 ALS Sensor module"
324         depends on I2C
325         help
326           If you say yes here you get support for the ALS APDS9802 ambient
327           light sensor.
329           This driver can also be built as a module.  If so, the module
330           will be called apds9802als.
332 config ISL29003
333         tristate "Intersil ISL29003 ambient light sensor"
334         depends on I2C && SYSFS
335         help
336           If you say yes here you get support for the Intersil ISL29003
337           ambient light sensor.
339           This driver can also be built as a module.  If so, the module
340           will be called isl29003.
342 config ISL29020
343         tristate "Intersil ISL29020 ambient light sensor"
344         depends on I2C
345         help
346           If you say yes here you get support for the Intersil ISL29020
347           ambient light sensor.
349           This driver can also be built as a module.  If so, the module
350           will be called isl29020.
352 config SENSORS_TSL2550
353         tristate "Taos TSL2550 ambient light sensor"
354         depends on I2C && SYSFS
355         help
356           If you say yes here you get support for the Taos TSL2550
357           ambient light sensor.
359           This driver can also be built as a module.  If so, the module
360           will be called tsl2550.
362 config SENSORS_BH1770
363          tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
364          depends on I2C
365         help
366            Say Y here if you want to build a driver for BH1770GLC (ROHM) or
367            SFH7770 (Osram) combined ambient light and proximity sensor chip.
369            To compile this driver as a module, choose M here: the
370            module will be called bh1770glc. If unsure, say N here.
372 config SENSORS_APDS990X
373          tristate "APDS990X combined als and proximity sensors"
374          depends on I2C
375         help
376            Say Y here if you want to build a driver for Avago APDS990x
377            combined ambient light and proximity sensor chip.
379            To compile this driver as a module, choose M here: the
380            module will be called apds990x. If unsure, say N here.
382 config HMC6352
383         tristate "Honeywell HMC6352 compass"
384         depends on I2C
385         help
386           This driver provides support for the Honeywell HMC6352 compass,
387           providing configuration and heading data via sysfs.
389 config DS1682
390         tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
391         depends on I2C
392         help
393           If you say yes here you get support for Dallas Semiconductor
394           DS1682 Total Elapsed Time Recorder.
396           This driver can also be built as a module.  If so, the module
397           will be called ds1682.
399 config VMWARE_BALLOON
400         tristate "VMware Balloon Driver"
401         depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
402         select MEMORY_BALLOON
403         help
404           This is VMware physical memory management driver which acts
405           like a "balloon" that can be inflated to reclaim physical pages
406           by reserving them in the guest and invalidating them in the
407           monitor, freeing up the underlying machine pages so they can
408           be allocated to other guests. The balloon can also be deflated
409           to allow the guest to use more physical memory.
411           If unsure, say N.
413           To compile this driver as a module, choose M here: the
414           module will be called vmw_balloon.
416 config PCH_PHUB
417         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
418         select GENERIC_NET_UTILS
419         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
420         help
421           This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
422           Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
423           processor. The Topcliff has MAC address and Option ROM data in SROM.
424           This driver can access MAC address and Option ROM data in SROM.
426           This driver also can be used for LAPIS Semiconductor's IOH,
427           ML7213/ML7223/ML7831.
428           ML7213 which is for IVI(In-Vehicle Infotainment) use.
429           ML7223 IOH is for MP(Media Phone) use.
430           ML7831 IOH is for general purpose use.
431           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
432           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
434           To compile this driver as a module, choose M here: the module will
435           be called pch_phub.
437 config LATTICE_ECP3_CONFIG
438         tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
439         depends on SPI && SYSFS
440         select FW_LOADER
441         help
442           This option enables support for bitstream configuration (programming
443           or loading) of the Lattice ECP3 FPGA family via SPI.
445           If unsure, say N.
447 config SRAM
448         bool "Generic on-chip SRAM driver"
449         depends on HAS_IOMEM
450         select GENERIC_ALLOCATOR
451         select SRAM_EXEC if ARM
452         help
453           This driver allows you to declare a memory region to be managed by
454           the genalloc API. It is supposed to be used for small on-chip SRAM
455           areas found on many SoCs.
457 config SRAM_EXEC
458         bool
460 config DW_XDATA_PCIE
461         depends on PCI
462         tristate "Synopsys DesignWare xData PCIe driver"
463         help
464           This driver allows controlling Synopsys DesignWare PCIe traffic
465           generator IP also known as xData, present in Synopsys DesignWare
466           PCIe Endpoint prototype.
468           If unsure, say N.
470 config PCI_ENDPOINT_TEST
471         depends on PCI
472         select CRC32
473         tristate "PCI Endpoint Test driver"
474         help
475            Enable this configuration option to enable the host side test driver
476            for PCI Endpoint.
478 config XILINX_SDFEC
479         tristate "Xilinx SDFEC 16"
480         depends on HAS_IOMEM
481         help
482           This option enables support for the Xilinx SDFEC (Soft Decision
483           Forward Error Correction) driver. This enables a char driver
484           for the SDFEC.
486           You may select this driver if your design instantiates the
487           SDFEC(16nm) hardened block. To compile this as a module choose M.
489           If unsure, say N.
491 config MISC_RTSX
492         tristate
493         default MISC_RTSX_PCI || MISC_RTSX_USB
495 config HISI_HIKEY_USB
496         tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
497         depends on (OF && GPIOLIB) || COMPILE_TEST
498         depends on USB_ROLE_SWITCH
499         help
500           If you say yes here this adds support for the on-board USB GPIO hub
501           found on HiKey 960/970 boards, which is necessary to support
502           switching between the dual-role USB-C port and the USB-A host ports
503           using only one USB controller.
505 config OPEN_DICE
506         tristate "Open Profile for DICE driver"
507         depends on OF_RESERVED_MEM
508         depends on HAS_IOMEM
509         help
510           This driver exposes a DICE reserved memory region to userspace via
511           a character device. The memory region contains Compound Device
512           Identifiers (CDIs) generated by firmware as an output of DICE
513           measured boot flow. Userspace can use CDIs for remote attestation
514           and sealing.
516           If unsure, say N.
518 config NTSYNC
519         tristate "NT synchronization primitive emulation"
520         depends on BROKEN
521         help
522           This module provides kernel support for emulation of Windows NT
523           synchronization primitives. It is not a hardware driver.
525           To compile this driver as a module, choose M here: the
526           module will be called ntsync.
528           If unsure, say N.
530 config VCPU_STALL_DETECTOR
531         tristate "Guest vCPU stall detector"
532         depends on OF && HAS_IOMEM
533         help
534           When this driver is bound inside a KVM guest, it will
535           periodically "pet" an MMIO stall detector device from each vCPU
536           and allow the host to detect vCPU stalls.
538           To compile this driver as a module, choose M here: the module
539           will be called vcpu_stall_detector.
541           If you do not intend to run this kernel as a guest, say N.
543 config TMR_MANAGER
544         tristate "Select TMR Manager"
545         depends on MICROBLAZE && MB_MANAGER
546         help
547           This option enables the driver developed for TMR Manager.
548           The Triple Modular Redundancy(TMR) manager provides support for
549           fault detection.
551           Say N here unless you know what you are doing.
553 config TMR_INJECT
554         tristate "Select TMR Inject"
555         depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS
556         help
557           This option enables the driver developed for TMR Inject.
558           The Triple Modular Redundancy(TMR) Inject provides
559           fault injection.
561           Say N here unless you know what you are doing.
563 config TPS6594_ESM
564         tristate "TI TPS6594 Error Signal Monitor support"
565         depends on MFD_TPS6594
566         default MFD_TPS6594
567         help
568           Support ESM (Error Signal Monitor) on TPS6594 PMIC devices.
569           ESM is used typically to reboot the board in error condition.
571           This driver can also be built as a module.  If so, the module
572           will be called tps6594-esm.
574 config TPS6594_PFSM
575         tristate "TI TPS6594 Pre-configurable Finite State Machine support"
576         depends on MFD_TPS6594
577         default MFD_TPS6594
578         help
579           Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices.
580           These devices integrate a finite state machine engine, which manages the state
581           of the device during operating state transition.
583           This driver can also be built as a module.  If so, the module
584           will be called tps6594-pfsm.
586 config NSM
587         tristate "Nitro (Enclaves) Security Module support"
588         depends on VIRTIO
589         select HW_RANDOM
590         help
591           This driver provides support for the Nitro Security Module
592           in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm
593           device user space can use to communicate with the hypervisor.
595           To compile this driver as a module, choose M here.
596           The module will be called nsm.
598 config MARVELL_CN10K_DPI
599         tristate "Octeon CN10K DPI driver"
600         depends on PCI && PCI_IOV
601         depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT)
602         help
603           Enables Octeon CN10K DMA packet interface (DPI) driver which
604           intializes DPI hardware's physical function (PF) device's
605           global configuration and its virtual function (VFs) resource
606           configuration to enable DMA transfers. DPI PF device does not
607           have any data movement functionality, it only serves VF's
608           resource configuration requests.
610           To compile this driver as a module, choose M here: the module
611           will be called mrvl_cn10k_dpi.
613 config MCHP_LAN966X_PCI
614         tristate "Microchip LAN966x PCIe Support"
615         depends on PCI
616         select OF
617         select OF_OVERLAY
618         select IRQ_DOMAIN
619         help
620           This enables the support for the LAN966x PCIe device.
622           This is used to drive the LAN966x PCIe device from the host system
623           to which it is connected. The driver uses a device tree overlay to
624           load other drivers to support for LAN966x internal components.
626           Even if this driver does not depend on those other drivers, in order
627           to have a fully functional board, the following drivers are needed:
628             - fixed-clock (COMMON_CLK)
629             - lan966x-oic (LAN966X_OIC)
630             - lan966x-cpu-syscon (MFD_SYSCON)
631             - lan966x-switch-reset (RESET_MCHP_SPARX5)
632             - lan966x-pinctrl (PINCTRL_OCELOT)
633             - lan966x-serdes (PHY_LAN966X_SERDES)
634             - lan966x-miim (MDIO_MSCC_MIIM)
635             - lan966x-switch (LAN966X_SWITCH)
637 source "drivers/misc/c2port/Kconfig"
638 source "drivers/misc/eeprom/Kconfig"
639 source "drivers/misc/cb710/Kconfig"
640 source "drivers/misc/lis3lv02d/Kconfig"
641 source "drivers/misc/altera-stapl/Kconfig"
642 source "drivers/misc/mei/Kconfig"
643 source "drivers/misc/vmw_vmci/Kconfig"
644 source "drivers/misc/genwqe/Kconfig"
645 source "drivers/misc/echo/Kconfig"
646 source "drivers/misc/cxl/Kconfig"
647 source "drivers/misc/ocxl/Kconfig"
648 source "drivers/misc/bcm-vk/Kconfig"
649 source "drivers/misc/cardreader/Kconfig"
650 source "drivers/misc/uacce/Kconfig"
651 source "drivers/misc/pvpanic/Kconfig"
652 source "drivers/misc/mchp_pci1xxxx/Kconfig"
653 source "drivers/misc/keba/Kconfig"
654 endmenu