Merge remote-tracking branch 'stable/linux-5.15.y' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / drivers / misc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Misc strange devices
4 #
5
6 menu "Misc devices"
7
8 config SENSORS_LIS3LV02D
9         tristate
10         depends on INPUT
11
12 config BCM2835_SMI
13         tristate "Broadcom 283x Secondary Memory Interface driver"
14         depends on ARCH_BCM2835
15         default m
16         help
17                 Driver for enabling and using Broadcom's Secondary/Slow Memory Interface.
18                 Appears as /dev/bcm2835_smi. For ioctl interface see drivers/misc/bcm2835_smi.h
19
20 config AD525X_DPOT
21         tristate "Analog Devices Digital Potentiometers"
22         depends on (I2C || SPI) && SYSFS
23         help
24           If you say yes here, you get support for the Analog Devices
25           AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
26           AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
27           AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
28           AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
29           AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
30           AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
31           ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
32           AD5271, AD5272, AD5274
33           digital potentiometer chips.
34
35           See Documentation/misc-devices/ad525x_dpot.rst for the
36           userspace interface.
37
38           This driver can also be built as a module.  If so, the module
39           will be called ad525x_dpot.
40
41 config AD525X_DPOT_I2C
42         tristate "support I2C bus connection"
43         depends on AD525X_DPOT && I2C
44         help
45           Say Y here if you have a digital potentiometers hooked to an I2C bus.
46
47           To compile this driver as a module, choose M here: the
48           module will be called ad525x_dpot-i2c.
49
50 config AD525X_DPOT_SPI
51         tristate "support SPI bus connection"
52         depends on AD525X_DPOT && SPI_MASTER
53         help
54           Say Y here if you have a digital potentiometers hooked to an SPI bus.
55
56           If unsure, say N (but it's safe to say "Y").
57
58           To compile this driver as a module, choose M here: the
59           module will be called ad525x_dpot-spi.
60
61 config DUMMY_IRQ
62         tristate "Dummy IRQ handler"
63         help
64           This module accepts a single 'irq' parameter, which it should register for.
65           The sole purpose of this module is to help with debugging of systems on
66           which spurious IRQs would happen on disabled IRQ vector.
67
68 config IBM_ASM
69         tristate "Device driver for IBM RSA service processor"
70         depends on X86 && PCI && INPUT
71         depends on SERIAL_8250 || SERIAL_8250=n
72         help
73           This option enables device driver support for in-band access to the
74           IBM RSA (Condor) service processor in eServer xSeries systems.
75           The ibmasm device driver allows user space application to access
76           ASM (Advanced Systems Management) functions on the service
77           processor. The driver is meant to be used in conjunction with
78           a user space API.
79           The ibmasm driver also enables the OS to use the UART on the
80           service processor board as a regular serial port. To make use of
81           this feature serial driver support (CONFIG_SERIAL_8250) must be
82           enabled.
83
84           WARNING: This software may not be supported or function
85           correctly on your IBM server. Please consult the IBM ServerProven
86           website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
87           for information on the specific driver level and support statement
88           for your IBM server.
89
90 config IBMVMC
91         tristate "IBM Virtual Management Channel support"
92         depends on PPC_PSERIES
93         help
94           This is the IBM POWER Virtual Management Channel
95
96           This driver is to be used for the POWER Virtual
97           Management Channel virtual adapter on the PowerVM
98           platform. It provides both request/response and
99           async message support through the /dev/ibmvmc node.
100
101           To compile this driver as a module, choose M here: the
102           module will be called ibmvmc.
103
104 config PHANTOM
105         tristate "Sensable PHANToM (PCI)"
106         depends on PCI
107         help
108           Say Y here if you want to build a driver for Sensable PHANToM device.
109
110           This driver is only for PCI PHANToMs.
111
112           If you choose to build module, its name will be phantom. If unsure,
113           say N here.
114
115 config TIFM_CORE
116         tristate "TI Flash Media interface support"
117         depends on PCI
118         help
119           If you want support for Texas Instruments(R) Flash Media adapters
120           you should select this option and then also choose an appropriate
121           host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
122           support', if you have a TI PCI74xx compatible card reader, for
123           example.
124           You will also have to select some flash card format drivers. MMC/SD
125           cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
126           Interface support (MMC_TIFM_SD)'.
127
128           To compile this driver as a module, choose M here: the module will
129           be called tifm_core.
130
131 config TIFM_7XX1
132         tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
133         depends on PCI && TIFM_CORE
134         default TIFM_CORE
135         help
136           This option enables support for Texas Instruments(R) PCI74xx and
137           PCI76xx families of Flash Media adapters, found in many laptops.
138           To make actual use of the device, you will have to select some
139           flash card format drivers, as outlined in the TIFM_CORE Help.
140
141           To compile this driver as a module, choose M here: the module will
142           be called tifm_7xx1.
143
144 config ICS932S401
145         tristate "Integrated Circuits ICS932S401"
146         depends on I2C
147         help
148           If you say yes here you get support for the Integrated Circuits
149           ICS932S401 clock control chips.
150
151           This driver can also be built as a module. If so, the module
152           will be called ics932s401.
153
154 config ATMEL_SSC
155         tristate "Device driver for Atmel SSC peripheral"
156         depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
157         help
158           This option enables device driver support for Atmel Synchronized
159           Serial Communication peripheral (SSC).
160
161           The SSC peripheral supports a wide variety of serial frame based
162           communications, i.e. I2S, SPI, etc.
163
164           If unsure, say N.
165
166 config ENCLOSURE_SERVICES
167         tristate "Enclosure Services"
168         help
169           Provides support for intelligent enclosures (bays which
170           contain storage devices).  You also need either a host
171           driver (SCSI/ATA) which supports enclosures
172           or a SCSI enclosure device (SES) to use these services.
173
174 config SGI_XP
175         tristate "Support communication between SGI SSIs"
176         depends on NET
177         depends on (IA64_SGI_UV || X86_UV) && SMP
178         depends on X86_64 || BROKEN
179         select SGI_GRU if X86_64 && SMP
180         help
181           An SGI machine can be divided into multiple Single System
182           Images which act independently of each other and have
183           hardware based memory protection from the others.  Enabling
184           this feature will allow for direct communication between SSIs
185           based on a network adapter and DMA messaging.
186
187 config CS5535_MFGPT
188         tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
189         depends on MFD_CS5535
190         help
191           This driver provides access to MFGPT functionality for other
192           drivers that need timers.  MFGPTs are available in the CS5535 and
193           CS5536 companion chips that are found in AMD Geode and several
194           other platforms.  They have a better resolution and max interval
195           than the generic PIT, and are suitable for use as high-res timers.
196           You probably don't want to enable this manually; other drivers that
197           make use of it should enable it.
198
199 config CS5535_MFGPT_DEFAULT_IRQ
200         int
201         depends on CS5535_MFGPT
202         default 7
203         help
204           MFGPTs on the CS5535 require an interrupt.  The selected IRQ
205           can be overridden as a module option as well as by driver that
206           use the cs5535_mfgpt_ API; however, different architectures might
207           want to use a different IRQ by default.  This is here for
208           architectures to set as necessary.
209
210 config CS5535_CLOCK_EVENT_SRC
211         tristate "CS5535/CS5536 high-res timer (MFGPT) events"
212         depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
213         help
214           This driver provides a clock event source based on the MFGPT
215           timer(s) in the CS5535 and CS5536 companion chips.
216           MFGPTs have a better resolution and max interval than the
217           generic PIT, and are suitable for use as high-res timers.
218
219 config GEHC_ACHC
220         tristate "GEHC ACHC support"
221         depends on SPI && SYSFS
222         depends on SOC_IMX53 || COMPILE_TEST
223         select FW_LOADER
224         help
225           Support for GE ACHC microcontroller, that is part of the GE
226           PPD device.
227
228           To compile this driver as a module, choose M here: the
229           module will be called gehc-achc.
230
231 config HI6421V600_IRQ
232         tristate "HiSilicon Hi6421v600 IRQ and powerkey"
233         depends on OF
234         depends on SPMI
235         depends on HAS_IOMEM
236         select MFD_CORE
237         select REGMAP_SPMI
238         help
239           This driver provides IRQ handling for Hi6421v600, used on
240           some Kirin chipsets, like the one at Hikey 970.
241
242 config HP_ILO
243         tristate "Channel interface driver for the HP iLO processor"
244         depends on PCI
245         help
246           The channel interface driver allows applications to communicate
247           with iLO management processors present on HP ProLiant servers.
248           Upon loading, the driver creates /dev/hpilo/dXccbN files, which
249           can be used to gather data from the management processor, via
250           read and write system calls.
251
252           To compile this driver as a module, choose M here: the
253           module will be called hpilo.
254
255 config QCOM_COINCELL
256         tristate "Qualcomm coincell charger support"
257         depends on MFD_SPMI_PMIC || COMPILE_TEST
258         help
259           This driver supports the coincell block found inside of
260           Qualcomm PMICs.  The coincell charger provides a means to
261           charge a coincell battery or backup capacitor which is used
262           to maintain PMIC register and RTC state in the absence of
263           external power.
264
265 config QCOM_FASTRPC
266         tristate "Qualcomm FastRPC"
267         depends on ARCH_QCOM || COMPILE_TEST
268         depends on RPMSG
269         select DMA_SHARED_BUFFER
270         help
271           Provides a communication mechanism that allows for clients to
272           make remote method invocations across processor boundary to
273           applications DSP processor. Say M if you want to enable this
274           module.
275
276 config SGI_GRU
277         tristate "SGI GRU driver"
278         depends on X86_UV && SMP
279         select MMU_NOTIFIER
280         help
281         The GRU is a hardware resource located in the system chipset. The GRU
282         contains memory that can be mmapped into the user address space. This memory is
283         used to communicate with the GRU to perform functions such as load/store,
284         scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
285         instructions using user virtual addresses. GRU instructions (ex., bcopy) use
286         user virtual addresses for operands.
287
288         If you are not running on a SGI UV system, say N.
289
290 config SGI_GRU_DEBUG
291         bool  "SGI GRU driver debug"
292         depends on SGI_GRU
293         help
294         This option enables additional debugging code for the SGI GRU driver.
295         If you are unsure, say N.
296
297 config APDS9802ALS
298         tristate "Medfield Avago APDS9802 ALS Sensor module"
299         depends on I2C
300         help
301           If you say yes here you get support for the ALS APDS9802 ambient
302           light sensor.
303
304           This driver can also be built as a module.  If so, the module
305           will be called apds9802als.
306
307 config ISL29003
308         tristate "Intersil ISL29003 ambient light sensor"
309         depends on I2C && SYSFS
310         help
311           If you say yes here you get support for the Intersil ISL29003
312           ambient light sensor.
313
314           This driver can also be built as a module.  If so, the module
315           will be called isl29003.
316
317 config ISL29020
318         tristate "Intersil ISL29020 ambient light sensor"
319         depends on I2C
320         help
321           If you say yes here you get support for the Intersil ISL29020
322           ambient light sensor.
323
324           This driver can also be built as a module.  If so, the module
325           will be called isl29020.
326
327 config SENSORS_TSL2550
328         tristate "Taos TSL2550 ambient light sensor"
329         depends on I2C && SYSFS
330         help
331           If you say yes here you get support for the Taos TSL2550
332           ambient light sensor.
333
334           This driver can also be built as a module.  If so, the module
335           will be called tsl2550.
336
337 config SENSORS_BH1770
338          tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
339          depends on I2C
340         help
341            Say Y here if you want to build a driver for BH1770GLC (ROHM) or
342            SFH7770 (Osram) combined ambient light and proximity sensor chip.
343
344            To compile this driver as a module, choose M here: the
345            module will be called bh1770glc. If unsure, say N here.
346
347 config SENSORS_APDS990X
348          tristate "APDS990X combined als and proximity sensors"
349          depends on I2C
350         help
351            Say Y here if you want to build a driver for Avago APDS990x
352            combined ambient light and proximity sensor chip.
353
354            To compile this driver as a module, choose M here: the
355            module will be called apds990x. If unsure, say N here.
356
357 config HMC6352
358         tristate "Honeywell HMC6352 compass"
359         depends on I2C
360         help
361           This driver provides support for the Honeywell HMC6352 compass,
362           providing configuration and heading data via sysfs.
363
364 config DS1682
365         tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
366         depends on I2C
367         help
368           If you say yes here you get support for Dallas Semiconductor
369           DS1682 Total Elapsed Time Recorder.
370
371           This driver can also be built as a module.  If so, the module
372           will be called ds1682.
373
374 config VMWARE_BALLOON
375         tristate "VMware Balloon Driver"
376         depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
377         select MEMORY_BALLOON
378         help
379           This is VMware physical memory management driver which acts
380           like a "balloon" that can be inflated to reclaim physical pages
381           by reserving them in the guest and invalidating them in the
382           monitor, freeing up the underlying machine pages so they can
383           be allocated to other guests. The balloon can also be deflated
384           to allow the guest to use more physical memory.
385
386           If unsure, say N.
387
388           To compile this driver as a module, choose M here: the
389           module will be called vmw_balloon.
390
391 config PCH_PHUB
392         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
393         select GENERIC_NET_UTILS
394         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
395         help
396           This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
397           Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
398           processor. The Topcliff has MAC address and Option ROM data in SROM.
399           This driver can access MAC address and Option ROM data in SROM.
400
401           This driver also can be used for LAPIS Semiconductor's IOH,
402           ML7213/ML7223/ML7831.
403           ML7213 which is for IVI(In-Vehicle Infotainment) use.
404           ML7223 IOH is for MP(Media Phone) use.
405           ML7831 IOH is for general purpose use.
406           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
407           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
408
409           To compile this driver as a module, choose M here: the module will
410           be called pch_phub.
411
412 config LATTICE_ECP3_CONFIG
413         tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
414         depends on SPI && SYSFS
415         select FW_LOADER
416         default n
417         help
418           This option enables support for bitstream configuration (programming
419           or loading) of the Lattice ECP3 FPGA family via SPI.
420
421           If unsure, say N.
422
423 config SRAM
424         bool "Generic on-chip SRAM driver"
425         depends on HAS_IOMEM
426         select GENERIC_ALLOCATOR
427         select SRAM_EXEC if ARM
428         help
429           This driver allows you to declare a memory region to be managed by
430           the genalloc API. It is supposed to be used for small on-chip SRAM
431           areas found on many SoCs.
432
433 config SRAM_EXEC
434         bool
435
436 config DW_XDATA_PCIE
437         depends on PCI
438         tristate "Synopsys DesignWare xData PCIe driver"
439         help
440           This driver allows controlling Synopsys DesignWare PCIe traffic
441           generator IP also known as xData, present in Synopsys DesignWare
442           PCIe Endpoint prototype.
443
444           If unsure, say N.
445
446 config PCI_ENDPOINT_TEST
447         depends on PCI
448         select CRC32
449         tristate "PCI Endpoint Test driver"
450         help
451            Enable this configuration option to enable the host side test driver
452            for PCI Endpoint.
453
454 config XILINX_SDFEC
455         tristate "Xilinx SDFEC 16"
456         depends on HAS_IOMEM
457         help
458           This option enables support for the Xilinx SDFEC (Soft Decision
459           Forward Error Correction) driver. This enables a char driver
460           for the SDFEC.
461
462           You may select this driver if your design instantiates the
463           SDFEC(16nm) hardened block. To compile this as a module choose M.
464
465           If unsure, say N.
466
467 config MISC_RTSX
468         tristate
469         default MISC_RTSX_PCI || MISC_RTSX_USB
470
471 config HISI_HIKEY_USB
472         tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
473         depends on (OF && GPIOLIB) || COMPILE_TEST
474         depends on USB_ROLE_SWITCH
475         help
476           If you say yes here this adds support for the on-board USB GPIO hub
477           found on HiKey 960/970 boards, which is necessary to support
478           switching between the dual-role USB-C port and the USB-A host ports
479           using only one USB controller.
480
481 source "drivers/misc/c2port/Kconfig"
482 source "drivers/misc/eeprom/Kconfig"
483 source "drivers/misc/cb710/Kconfig"
484 source "drivers/misc/ti-st/Kconfig"
485 source "drivers/misc/lis3lv02d/Kconfig"
486 source "drivers/misc/altera-stapl/Kconfig"
487 source "drivers/misc/mei/Kconfig"
488 source "drivers/misc/vmw_vmci/Kconfig"
489 source "drivers/misc/genwqe/Kconfig"
490 source "drivers/misc/echo/Kconfig"
491 source "drivers/misc/cxl/Kconfig"
492 source "drivers/misc/ocxl/Kconfig"
493 source "drivers/misc/bcm-vk/Kconfig"
494 source "drivers/misc/cardreader/Kconfig"
495 source "drivers/misc/habanalabs/Kconfig"
496 source "drivers/misc/uacce/Kconfig"
497 source "drivers/misc/pvpanic/Kconfig"
498 endmenu