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