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