xref: /openbmc/linux/drivers/misc/Kconfig (revision 37b9c7bb)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Misc strange devices
4#
5
6menu "Misc devices"
7
8config SENSORS_LIS3LV02D
9	tristate
10	depends on INPUT
11
12config 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.
26
27	  See Documentation/misc-devices/ad525x_dpot.rst for the
28	  userspace interface.
29
30	  This driver can also be built as a module.  If so, the module
31	  will be called ad525x_dpot.
32
33config 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.
38
39	  To compile this driver as a module, choose M here: the
40	  module will be called ad525x_dpot-i2c.
41
42config 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.
47
48	  If unsure, say N (but it's safe to say "Y").
49
50	  To compile this driver as a module, choose M here: the
51	  module will be called ad525x_dpot-spi.
52
53config ATMEL_TCLIB
54	bool "Atmel AT32/AT91 Timer/Counter Library"
55	depends on ARCH_AT91
56	help
57	  Select this if you want a library to allocate the Timer/Counter
58	  blocks found on many Atmel processors.  This facilitates using
59	  these blocks by different drivers despite processor differences.
60
61config 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
68config 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
90config 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
104config 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
115config INTEL_MID_PTI
116	tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
117	depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
118	help
119	  The PTI (Parallel Trace Interface) driver directs
120	  trace data routed from various parts in the system out
121	  through an Intel Penwell PTI port and out of the mobile
122	  device for analysis with a debugging tool (Lauterbach or Fido).
123
124	  You should select this driver if the target kernel is meant for
125	  an Intel Atom (non-netbook) mobile device containing a MIPI
126	  P1149.7 standard implementation.
127
128config TIFM_CORE
129	tristate "TI Flash Media interface support"
130	depends on PCI
131	help
132	  If you want support for Texas Instruments(R) Flash Media adapters
133	  you should select this option and then also choose an appropriate
134	  host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
135	  support', if you have a TI PCI74xx compatible card reader, for
136	  example.
137	  You will also have to select some flash card format drivers. MMC/SD
138	  cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
139	  Interface support (MMC_TIFM_SD)'.
140
141	  To compile this driver as a module, choose M here: the module will
142	  be called tifm_core.
143
144config TIFM_7XX1
145	tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
146	depends on PCI && TIFM_CORE
147	default TIFM_CORE
148	help
149	  This option enables support for Texas Instruments(R) PCI74xx and
150	  PCI76xx families of Flash Media adapters, found in many laptops.
151	  To make actual use of the device, you will have to select some
152	  flash card format drivers, as outlined in the TIFM_CORE Help.
153
154	  To compile this driver as a module, choose M here: the module will
155	  be called tifm_7xx1.
156
157config ICS932S401
158	tristate "Integrated Circuits ICS932S401"
159	depends on I2C
160	help
161	  If you say yes here you get support for the Integrated Circuits
162	  ICS932S401 clock control chips.
163
164	  This driver can also be built as a module. If so, the module
165	  will be called ics932s401.
166
167config ATMEL_SSC
168	tristate "Device driver for Atmel SSC peripheral"
169	depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
170	help
171	  This option enables device driver support for Atmel Synchronized
172	  Serial Communication peripheral (SSC).
173
174	  The SSC peripheral supports a wide variety of serial frame based
175	  communications, i.e. I2S, SPI, etc.
176
177	  If unsure, say N.
178
179config ENCLOSURE_SERVICES
180	tristate "Enclosure Services"
181	help
182	  Provides support for intelligent enclosures (bays which
183	  contain storage devices).  You also need either a host
184	  driver (SCSI/ATA) which supports enclosures
185	  or a SCSI enclosure device (SES) to use these services.
186
187config SGI_XP
188	tristate "Support communication between SGI SSIs"
189	depends on NET
190	depends on (IA64_SGI_UV || X86_UV) && SMP
191	depends on X86_64 || BROKEN
192	select SGI_GRU if X86_64 && SMP
193	help
194	  An SGI machine can be divided into multiple Single System
195	  Images which act independently of each other and have
196	  hardware based memory protection from the others.  Enabling
197	  this feature will allow for direct communication between SSIs
198	  based on a network adapter and DMA messaging.
199
200config CS5535_MFGPT
201	tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
202	depends on MFD_CS5535
203	help
204	  This driver provides access to MFGPT functionality for other
205	  drivers that need timers.  MFGPTs are available in the CS5535 and
206	  CS5536 companion chips that are found in AMD Geode and several
207	  other platforms.  They have a better resolution and max interval
208	  than the generic PIT, and are suitable for use as high-res timers.
209	  You probably don't want to enable this manually; other drivers that
210	  make use of it should enable it.
211
212config CS5535_MFGPT_DEFAULT_IRQ
213	int
214	depends on CS5535_MFGPT
215	default 7
216	help
217	  MFGPTs on the CS5535 require an interrupt.  The selected IRQ
218	  can be overridden as a module option as well as by driver that
219	  use the cs5535_mfgpt_ API; however, different architectures might
220	  want to use a different IRQ by default.  This is here for
221	  architectures to set as necessary.
222
223config CS5535_CLOCK_EVENT_SRC
224	tristate "CS5535/CS5536 high-res timer (MFGPT) events"
225	depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
226	help
227	  This driver provides a clock event source based on the MFGPT
228	  timer(s) in the CS5535 and CS5536 companion chips.
229	  MFGPTs have a better resolution and max interval than the
230	  generic PIT, and are suitable for use as high-res timers.
231
232config HP_ILO
233	tristate "Channel interface driver for the HP iLO processor"
234	depends on PCI
235	help
236	  The channel interface driver allows applications to communicate
237	  with iLO management processors present on HP ProLiant servers.
238	  Upon loading, the driver creates /dev/hpilo/dXccbN files, which
239	  can be used to gather data from the management processor, via
240	  read and write system calls.
241
242	  To compile this driver as a module, choose M here: the
243	  module will be called hpilo.
244
245config QCOM_COINCELL
246	tristate "Qualcomm coincell charger support"
247	depends on MFD_SPMI_PMIC || COMPILE_TEST
248	help
249	  This driver supports the coincell block found inside of
250	  Qualcomm PMICs.  The coincell charger provides a means to
251	  charge a coincell battery or backup capacitor which is used
252	  to maintain PMIC register and RTC state in the absence of
253	  external power.
254
255config QCOM_FASTRPC
256	tristate "Qualcomm FastRPC"
257	depends on ARCH_QCOM || COMPILE_TEST
258	depends on RPMSG
259	select DMA_SHARED_BUFFER
260	help
261	  Provides a communication mechanism that allows for clients to
262	  make remote method invocations across processor boundary to
263	  applications DSP processor. Say M if you want to enable this
264	  module.
265
266config SGI_GRU
267	tristate "SGI GRU driver"
268	depends on X86_UV && SMP
269	select MMU_NOTIFIER
270	help
271	The GRU is a hardware resource located in the system chipset. The GRU
272	contains memory that can be mmapped into the user address space. This memory is
273	used to communicate with the GRU to perform functions such as load/store,
274	scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
275	instructions using user virtual addresses. GRU instructions (ex., bcopy) use
276	user virtual addresses for operands.
277
278	If you are not running on a SGI UV system, say N.
279
280config SGI_GRU_DEBUG
281	bool  "SGI GRU driver debug"
282	depends on SGI_GRU
283	help
284	This option enables additional debugging code for the SGI GRU driver.
285	If you are unsure, say N.
286
287config APDS9802ALS
288	tristate "Medfield Avago APDS9802 ALS Sensor module"
289	depends on I2C
290	help
291	  If you say yes here you get support for the ALS APDS9802 ambient
292	  light sensor.
293
294	  This driver can also be built as a module.  If so, the module
295	  will be called apds9802als.
296
297config ISL29003
298	tristate "Intersil ISL29003 ambient light sensor"
299	depends on I2C && SYSFS
300	help
301	  If you say yes here you get support for the Intersil ISL29003
302	  ambient light sensor.
303
304	  This driver can also be built as a module.  If so, the module
305	  will be called isl29003.
306
307config ISL29020
308	tristate "Intersil ISL29020 ambient light sensor"
309	depends on I2C
310	help
311	  If you say yes here you get support for the Intersil ISL29020
312	  ambient light sensor.
313
314	  This driver can also be built as a module.  If so, the module
315	  will be called isl29020.
316
317config SENSORS_TSL2550
318	tristate "Taos TSL2550 ambient light sensor"
319	depends on I2C && SYSFS
320	help
321	  If you say yes here you get support for the Taos TSL2550
322	  ambient light sensor.
323
324	  This driver can also be built as a module.  If so, the module
325	  will be called tsl2550.
326
327config SENSORS_BH1770
328	 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
329	 depends on I2C
330	help
331	   Say Y here if you want to build a driver for BH1770GLC (ROHM) or
332	   SFH7770 (Osram) combined ambient light and proximity sensor chip.
333
334	   To compile this driver as a module, choose M here: the
335	   module will be called bh1770glc. If unsure, say N here.
336
337config SENSORS_APDS990X
338	 tristate "APDS990X combined als and proximity sensors"
339	 depends on I2C
340	help
341	   Say Y here if you want to build a driver for Avago APDS990x
342	   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 apds990x. If unsure, say N here.
346
347config HMC6352
348	tristate "Honeywell HMC6352 compass"
349	depends on I2C
350	help
351	  This driver provides support for the Honeywell HMC6352 compass,
352	  providing configuration and heading data via sysfs.
353
354config DS1682
355	tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
356	depends on I2C
357	help
358	  If you say yes here you get support for Dallas Semiconductor
359	  DS1682 Total Elapsed Time Recorder.
360
361	  This driver can also be built as a module.  If so, the module
362	  will be called ds1682.
363
364config VMWARE_BALLOON
365	tristate "VMware Balloon Driver"
366	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
367	select MEMORY_BALLOON
368	help
369	  This is VMware physical memory management driver which acts
370	  like a "balloon" that can be inflated to reclaim physical pages
371	  by reserving them in the guest and invalidating them in the
372	  monitor, freeing up the underlying machine pages so they can
373	  be allocated to other guests. The balloon can also be deflated
374	  to allow the guest to use more physical memory.
375
376	  If unsure, say N.
377
378	  To compile this driver as a module, choose M here: the
379	  module will be called vmw_balloon.
380
381config PCH_PHUB
382	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
383	select GENERIC_NET_UTILS
384	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
385	help
386	  This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
387	  Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
388	  processor. The Topcliff has MAC address and Option ROM data in SROM.
389	  This driver can access MAC address and Option ROM data in SROM.
390
391	  This driver also can be used for LAPIS Semiconductor's IOH,
392	  ML7213/ML7223/ML7831.
393	  ML7213 which is for IVI(In-Vehicle Infotainment) use.
394	  ML7223 IOH is for MP(Media Phone) use.
395	  ML7831 IOH is for general purpose use.
396	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
397	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
398
399	  To compile this driver as a module, choose M here: the module will
400	  be called pch_phub.
401
402config LATTICE_ECP3_CONFIG
403	tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
404	depends on SPI && SYSFS
405	select FW_LOADER
406	default	n
407	help
408	  This option enables support for bitstream configuration (programming
409	  or loading) of the Lattice ECP3 FPGA family via SPI.
410
411	  If unsure, say N.
412
413config SRAM
414	bool "Generic on-chip SRAM driver"
415	depends on HAS_IOMEM
416	select GENERIC_ALLOCATOR
417	select SRAM_EXEC if ARM
418	help
419	  This driver allows you to declare a memory region to be managed by
420	  the genalloc API. It is supposed to be used for small on-chip SRAM
421	  areas found on many SoCs.
422
423config SRAM_EXEC
424	bool
425
426config PCI_ENDPOINT_TEST
427	depends on PCI
428	select CRC32
429	tristate "PCI Endpoint Test driver"
430	help
431	   Enable this configuration option to enable the host side test driver
432	   for PCI Endpoint.
433
434config XILINX_SDFEC
435	tristate "Xilinx SDFEC 16"
436	depends on HAS_IOMEM
437	help
438	  This option enables support for the Xilinx SDFEC (Soft Decision
439	  Forward Error Correction) driver. This enables a char driver
440	  for the SDFEC.
441
442	  You may select this driver if your design instantiates the
443	  SDFEC(16nm) hardened block. To compile this as a module choose M.
444
445	  If unsure, say N.
446
447config MISC_RTSX
448	tristate
449	default MISC_RTSX_PCI || MISC_RTSX_USB
450
451config PVPANIC
452	tristate "pvpanic device support"
453	depends on HAS_IOMEM && (ACPI || OF)
454	help
455	  This driver provides support for the pvpanic device.  pvpanic is
456	  a paravirtualized device provided by QEMU; it lets a virtual machine
457	  (guest) communicate panic events to the host.
458
459config HISI_HIKEY_USB
460	tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
461	depends on (OF && GPIOLIB) || COMPILE_TEST
462	depends on USB_ROLE_SWITCH
463	help
464	  If you say yes here this adds support for the on-board USB GPIO hub
465	  found on HiKey 960/970 boards, which is necessary to support
466	  switching between the dual-role USB-C port and the USB-A host ports
467	  using only one USB controller.
468
469source "drivers/misc/c2port/Kconfig"
470source "drivers/misc/eeprom/Kconfig"
471source "drivers/misc/cb710/Kconfig"
472source "drivers/misc/ti-st/Kconfig"
473source "drivers/misc/lis3lv02d/Kconfig"
474source "drivers/misc/altera-stapl/Kconfig"
475source "drivers/misc/mei/Kconfig"
476source "drivers/misc/vmw_vmci/Kconfig"
477source "drivers/misc/genwqe/Kconfig"
478source "drivers/misc/echo/Kconfig"
479source "drivers/misc/cxl/Kconfig"
480source "drivers/misc/ocxl/Kconfig"
481source "drivers/misc/cardreader/Kconfig"
482source "drivers/misc/habanalabs/Kconfig"
483source "drivers/misc/uacce/Kconfig"
484endmenu
485