0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Misc strange devices
0004 #
0005
0006 menu "Misc devices"
0007
0008 config SENSORS_LIS3LV02D
0009 tristate
0010 depends on INPUT
0011
0012 config AD525X_DPOT
0013 tristate "Analog Devices Digital Potentiometers"
0014 depends on (I2C || SPI) && SYSFS
0015 help
0016 If you say yes here, you get support for the Analog Devices
0017 AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
0018 AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
0019 AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
0020 AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
0021 AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
0022 AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
0023 ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
0024 AD5271, AD5272, AD5274
0025 digital potentiometer chips.
0026
0027 See Documentation/misc-devices/ad525x_dpot.rst for the
0028 userspace interface.
0029
0030 This driver can also be built as a module. If so, the module
0031 will be called ad525x_dpot.
0032
0033 config AD525X_DPOT_I2C
0034 tristate "support I2C bus connection"
0035 depends on AD525X_DPOT && I2C
0036 help
0037 Say Y here if you have a digital potentiometers hooked to an I2C bus.
0038
0039 To compile this driver as a module, choose M here: the
0040 module will be called ad525x_dpot-i2c.
0041
0042 config AD525X_DPOT_SPI
0043 tristate "support SPI bus connection"
0044 depends on AD525X_DPOT && SPI_MASTER
0045 help
0046 Say Y here if you have a digital potentiometers hooked to an SPI bus.
0047
0048 If unsure, say N (but it's safe to say "Y").
0049
0050 To compile this driver as a module, choose M here: the
0051 module will be called ad525x_dpot-spi.
0052
0053 config DUMMY_IRQ
0054 tristate "Dummy IRQ handler"
0055 help
0056 This module accepts a single 'irq' parameter, which it should register for.
0057 The sole purpose of this module is to help with debugging of systems on
0058 which spurious IRQs would happen on disabled IRQ vector.
0059
0060 config IBM_ASM
0061 tristate "Device driver for IBM RSA service processor"
0062 depends on X86 && PCI && INPUT
0063 depends on SERIAL_8250 || SERIAL_8250=n
0064 help
0065 This option enables device driver support for in-band access to the
0066 IBM RSA (Condor) service processor in eServer xSeries systems.
0067 The ibmasm device driver allows user space application to access
0068 ASM (Advanced Systems Management) functions on the service
0069 processor. The driver is meant to be used in conjunction with
0070 a user space API.
0071 The ibmasm driver also enables the OS to use the UART on the
0072 service processor board as a regular serial port. To make use of
0073 this feature serial driver support (CONFIG_SERIAL_8250) must be
0074 enabled.
0075
0076 WARNING: This software may not be supported or function
0077 correctly on your IBM server. Please consult the IBM ServerProven
0078 website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
0079 for information on the specific driver level and support statement
0080 for your IBM server.
0081
0082 config IBMVMC
0083 tristate "IBM Virtual Management Channel support"
0084 depends on PPC_PSERIES
0085 help
0086 This is the IBM POWER Virtual Management Channel
0087
0088 This driver is to be used for the POWER Virtual
0089 Management Channel virtual adapter on the PowerVM
0090 platform. It provides both request/response and
0091 async message support through the /dev/ibmvmc node.
0092
0093 To compile this driver as a module, choose M here: the
0094 module will be called ibmvmc.
0095
0096 config PHANTOM
0097 tristate "Sensable PHANToM (PCI)"
0098 depends on PCI
0099 help
0100 Say Y here if you want to build a driver for Sensable PHANToM device.
0101
0102 This driver is only for PCI PHANToMs.
0103
0104 If you choose to build module, its name will be phantom. If unsure,
0105 say N here.
0106
0107 config TIFM_CORE
0108 tristate "TI Flash Media interface support"
0109 depends on PCI
0110 help
0111 If you want support for Texas Instruments(R) Flash Media adapters
0112 you should select this option and then also choose an appropriate
0113 host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
0114 support', if you have a TI PCI74xx compatible card reader, for
0115 example.
0116 You will also have to select some flash card format drivers. MMC/SD
0117 cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
0118 Interface support (MMC_TIFM_SD)'.
0119
0120 To compile this driver as a module, choose M here: the module will
0121 be called tifm_core.
0122
0123 config TIFM_7XX1
0124 tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
0125 depends on PCI && TIFM_CORE
0126 default TIFM_CORE
0127 help
0128 This option enables support for Texas Instruments(R) PCI74xx and
0129 PCI76xx families of Flash Media adapters, found in many laptops.
0130 To make actual use of the device, you will have to select some
0131 flash card format drivers, as outlined in the TIFM_CORE Help.
0132
0133 To compile this driver as a module, choose M here: the module will
0134 be called tifm_7xx1.
0135
0136 config ICS932S401
0137 tristate "Integrated Circuits ICS932S401"
0138 depends on I2C
0139 help
0140 If you say yes here you get support for the Integrated Circuits
0141 ICS932S401 clock control chips.
0142
0143 This driver can also be built as a module. If so, the module
0144 will be called ics932s401.
0145
0146 config ATMEL_SSC
0147 tristate "Device driver for Atmel SSC peripheral"
0148 depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
0149 help
0150 This option enables device driver support for Atmel Synchronized
0151 Serial Communication peripheral (SSC).
0152
0153 The SSC peripheral supports a wide variety of serial frame based
0154 communications, i.e. I2S, SPI, etc.
0155
0156 If unsure, say N.
0157
0158 config ENCLOSURE_SERVICES
0159 tristate "Enclosure Services"
0160 help
0161 Provides support for intelligent enclosures (bays which
0162 contain storage devices). You also need either a host
0163 driver (SCSI/ATA) which supports enclosures
0164 or a SCSI enclosure device (SES) to use these services.
0165
0166 config SGI_XP
0167 tristate "Support communication between SGI SSIs"
0168 depends on NET
0169 depends on (IA64_SGI_UV || X86_UV) && SMP
0170 depends on X86_64 || BROKEN
0171 select SGI_GRU if X86_64 && SMP
0172 help
0173 An SGI machine can be divided into multiple Single System
0174 Images which act independently of each other and have
0175 hardware based memory protection from the others. Enabling
0176 this feature will allow for direct communication between SSIs
0177 based on a network adapter and DMA messaging.
0178
0179 config CS5535_MFGPT
0180 tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
0181 depends on MFD_CS5535
0182 help
0183 This driver provides access to MFGPT functionality for other
0184 drivers that need timers. MFGPTs are available in the CS5535 and
0185 CS5536 companion chips that are found in AMD Geode and several
0186 other platforms. They have a better resolution and max interval
0187 than the generic PIT, and are suitable for use as high-res timers.
0188 You probably don't want to enable this manually; other drivers that
0189 make use of it should enable it.
0190
0191 config CS5535_MFGPT_DEFAULT_IRQ
0192 int
0193 depends on CS5535_MFGPT
0194 default 7
0195 help
0196 MFGPTs on the CS5535 require an interrupt. The selected IRQ
0197 can be overridden as a module option as well as by driver that
0198 use the cs5535_mfgpt_ API; however, different architectures might
0199 want to use a different IRQ by default. This is here for
0200 architectures to set as necessary.
0201
0202 config CS5535_CLOCK_EVENT_SRC
0203 tristate "CS5535/CS5536 high-res timer (MFGPT) events"
0204 depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
0205 help
0206 This driver provides a clock event source based on the MFGPT
0207 timer(s) in the CS5535 and CS5536 companion chips.
0208 MFGPTs have a better resolution and max interval than the
0209 generic PIT, and are suitable for use as high-res timers.
0210
0211 config GEHC_ACHC
0212 tristate "GEHC ACHC support"
0213 depends on SPI && SYSFS
0214 depends on SOC_IMX53 || COMPILE_TEST
0215 select FW_LOADER
0216 help
0217 Support for GE ACHC microcontroller, that is part of the GE
0218 PPD device.
0219
0220 To compile this driver as a module, choose M here: the
0221 module will be called gehc-achc.
0222
0223 config HI6421V600_IRQ
0224 tristate "HiSilicon Hi6421v600 IRQ and powerkey"
0225 depends on OF
0226 depends on SPMI
0227 depends on HAS_IOMEM
0228 select MFD_CORE
0229 select REGMAP_SPMI
0230 help
0231 This driver provides IRQ handling for Hi6421v600, used on
0232 some Kirin chipsets, like the one at Hikey 970.
0233
0234 config HP_ILO
0235 tristate "Channel interface driver for the HP iLO processor"
0236 depends on PCI
0237 help
0238 The channel interface driver allows applications to communicate
0239 with iLO management processors present on HP ProLiant servers.
0240 Upon loading, the driver creates /dev/hpilo/dXccbN files, which
0241 can be used to gather data from the management processor, via
0242 read and write system calls.
0243
0244 To compile this driver as a module, choose M here: the
0245 module will be called hpilo.
0246
0247 config QCOM_COINCELL
0248 tristate "Qualcomm coincell charger support"
0249 depends on MFD_SPMI_PMIC || COMPILE_TEST
0250 help
0251 This driver supports the coincell block found inside of
0252 Qualcomm PMICs. The coincell charger provides a means to
0253 charge a coincell battery or backup capacitor which is used
0254 to maintain PMIC register and RTC state in the absence of
0255 external power.
0256
0257 config QCOM_FASTRPC
0258 tristate "Qualcomm FastRPC"
0259 depends on ARCH_QCOM || COMPILE_TEST
0260 depends on RPMSG
0261 select DMA_SHARED_BUFFER
0262 select QCOM_SCM
0263 help
0264 Provides a communication mechanism that allows for clients to
0265 make remote method invocations across processor boundary to
0266 applications DSP processor. Say M if you want to enable this
0267 module.
0268
0269 config SGI_GRU
0270 tristate "SGI GRU driver"
0271 depends on X86_UV && SMP
0272 select MMU_NOTIFIER
0273 help
0274 The GRU is a hardware resource located in the system chipset. The GRU
0275 contains memory that can be mmapped into the user address space. This memory is
0276 used to communicate with the GRU to perform functions such as load/store,
0277 scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user
0278 instructions using user virtual addresses. GRU instructions (ex., bcopy) use
0279 user virtual addresses for operands.
0280
0281 If you are not running on a SGI UV system, say N.
0282
0283 config SGI_GRU_DEBUG
0284 bool "SGI GRU driver debug"
0285 depends on SGI_GRU
0286 help
0287 This option enables additional debugging code for the SGI GRU driver.
0288 If you are unsure, say N.
0289
0290 config APDS9802ALS
0291 tristate "Medfield Avago APDS9802 ALS Sensor module"
0292 depends on I2C
0293 help
0294 If you say yes here you get support for the ALS APDS9802 ambient
0295 light sensor.
0296
0297 This driver can also be built as a module. If so, the module
0298 will be called apds9802als.
0299
0300 config ISL29003
0301 tristate "Intersil ISL29003 ambient light sensor"
0302 depends on I2C && SYSFS
0303 help
0304 If you say yes here you get support for the Intersil ISL29003
0305 ambient light sensor.
0306
0307 This driver can also be built as a module. If so, the module
0308 will be called isl29003.
0309
0310 config ISL29020
0311 tristate "Intersil ISL29020 ambient light sensor"
0312 depends on I2C
0313 help
0314 If you say yes here you get support for the Intersil ISL29020
0315 ambient light sensor.
0316
0317 This driver can also be built as a module. If so, the module
0318 will be called isl29020.
0319
0320 config SENSORS_TSL2550
0321 tristate "Taos TSL2550 ambient light sensor"
0322 depends on I2C && SYSFS
0323 help
0324 If you say yes here you get support for the Taos TSL2550
0325 ambient light sensor.
0326
0327 This driver can also be built as a module. If so, the module
0328 will be called tsl2550.
0329
0330 config SENSORS_BH1770
0331 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
0332 depends on I2C
0333 help
0334 Say Y here if you want to build a driver for BH1770GLC (ROHM) or
0335 SFH7770 (Osram) combined ambient light and proximity sensor chip.
0336
0337 To compile this driver as a module, choose M here: the
0338 module will be called bh1770glc. If unsure, say N here.
0339
0340 config SENSORS_APDS990X
0341 tristate "APDS990X combined als and proximity sensors"
0342 depends on I2C
0343 help
0344 Say Y here if you want to build a driver for Avago APDS990x
0345 combined ambient light and proximity sensor chip.
0346
0347 To compile this driver as a module, choose M here: the
0348 module will be called apds990x. If unsure, say N here.
0349
0350 config HMC6352
0351 tristate "Honeywell HMC6352 compass"
0352 depends on I2C
0353 help
0354 This driver provides support for the Honeywell HMC6352 compass,
0355 providing configuration and heading data via sysfs.
0356
0357 config DS1682
0358 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
0359 depends on I2C
0360 help
0361 If you say yes here you get support for Dallas Semiconductor
0362 DS1682 Total Elapsed Time Recorder.
0363
0364 This driver can also be built as a module. If so, the module
0365 will be called ds1682.
0366
0367 config VMWARE_BALLOON
0368 tristate "VMware Balloon Driver"
0369 depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
0370 select MEMORY_BALLOON
0371 help
0372 This is VMware physical memory management driver which acts
0373 like a "balloon" that can be inflated to reclaim physical pages
0374 by reserving them in the guest and invalidating them in the
0375 monitor, freeing up the underlying machine pages so they can
0376 be allocated to other guests. The balloon can also be deflated
0377 to allow the guest to use more physical memory.
0378
0379 If unsure, say N.
0380
0381 To compile this driver as a module, choose M here: the
0382 module will be called vmw_balloon.
0383
0384 config PCH_PHUB
0385 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
0386 select GENERIC_NET_UTILS
0387 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
0388 help
0389 This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
0390 Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
0391 processor. The Topcliff has MAC address and Option ROM data in SROM.
0392 This driver can access MAC address and Option ROM data in SROM.
0393
0394 This driver also can be used for LAPIS Semiconductor's IOH,
0395 ML7213/ML7223/ML7831.
0396 ML7213 which is for IVI(In-Vehicle Infotainment) use.
0397 ML7223 IOH is for MP(Media Phone) use.
0398 ML7831 IOH is for general purpose use.
0399 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
0400 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
0401
0402 To compile this driver as a module, choose M here: the module will
0403 be called pch_phub.
0404
0405 config LATTICE_ECP3_CONFIG
0406 tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
0407 depends on SPI && SYSFS
0408 select FW_LOADER
0409 default n
0410 help
0411 This option enables support for bitstream configuration (programming
0412 or loading) of the Lattice ECP3 FPGA family via SPI.
0413
0414 If unsure, say N.
0415
0416 config SRAM
0417 bool "Generic on-chip SRAM driver"
0418 depends on HAS_IOMEM
0419 select GENERIC_ALLOCATOR
0420 select SRAM_EXEC if ARM
0421 help
0422 This driver allows you to declare a memory region to be managed by
0423 the genalloc API. It is supposed to be used for small on-chip SRAM
0424 areas found on many SoCs.
0425
0426 config SRAM_EXEC
0427 bool
0428
0429 config DW_XDATA_PCIE
0430 depends on PCI
0431 tristate "Synopsys DesignWare xData PCIe driver"
0432 help
0433 This driver allows controlling Synopsys DesignWare PCIe traffic
0434 generator IP also known as xData, present in Synopsys DesignWare
0435 PCIe Endpoint prototype.
0436
0437 If unsure, say N.
0438
0439 config PCI_ENDPOINT_TEST
0440 depends on PCI
0441 select CRC32
0442 tristate "PCI Endpoint Test driver"
0443 help
0444 Enable this configuration option to enable the host side test driver
0445 for PCI Endpoint.
0446
0447 config XILINX_SDFEC
0448 tristate "Xilinx SDFEC 16"
0449 depends on HAS_IOMEM
0450 help
0451 This option enables support for the Xilinx SDFEC (Soft Decision
0452 Forward Error Correction) driver. This enables a char driver
0453 for the SDFEC.
0454
0455 You may select this driver if your design instantiates the
0456 SDFEC(16nm) hardened block. To compile this as a module choose M.
0457
0458 If unsure, say N.
0459
0460 config MISC_RTSX
0461 tristate
0462 default MISC_RTSX_PCI || MISC_RTSX_USB
0463
0464 config HISI_HIKEY_USB
0465 tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
0466 depends on (OF && GPIOLIB) || COMPILE_TEST
0467 depends on USB_ROLE_SWITCH
0468 help
0469 If you say yes here this adds support for the on-board USB GPIO hub
0470 found on HiKey 960/970 boards, which is necessary to support
0471 switching between the dual-role USB-C port and the USB-A host ports
0472 using only one USB controller.
0473
0474 config OPEN_DICE
0475 tristate "Open Profile for DICE driver"
0476 depends on OF_RESERVED_MEM
0477 help
0478 This driver exposes a DICE reserved memory region to userspace via
0479 a character device. The memory region contains Compound Device
0480 Identifiers (CDIs) generated by firmware as an output of DICE
0481 measured boot flow. Userspace can use CDIs for remote attestation
0482 and sealing.
0483
0484 If unsure, say N.
0485
0486 config VCPU_STALL_DETECTOR
0487 tristate "Guest vCPU stall detector"
0488 depends on OF && HAS_IOMEM
0489 help
0490 When this driver is bound inside a KVM guest, it will
0491 periodically "pet" an MMIO stall detector device from each vCPU
0492 and allow the host to detect vCPU stalls.
0493
0494 To compile this driver as a module, choose M here: the module
0495 will be called vcpu_stall_detector.
0496
0497 If you do not intend to run this kernel as a guest, say N.
0498
0499 source "drivers/misc/c2port/Kconfig"
0500 source "drivers/misc/eeprom/Kconfig"
0501 source "drivers/misc/cb710/Kconfig"
0502 source "drivers/misc/ti-st/Kconfig"
0503 source "drivers/misc/lis3lv02d/Kconfig"
0504 source "drivers/misc/altera-stapl/Kconfig"
0505 source "drivers/misc/mei/Kconfig"
0506 source "drivers/misc/vmw_vmci/Kconfig"
0507 source "drivers/misc/genwqe/Kconfig"
0508 source "drivers/misc/echo/Kconfig"
0509 source "drivers/misc/cxl/Kconfig"
0510 source "drivers/misc/ocxl/Kconfig"
0511 source "drivers/misc/bcm-vk/Kconfig"
0512 source "drivers/misc/cardreader/Kconfig"
0513 source "drivers/misc/habanalabs/Kconfig"
0514 source "drivers/misc/uacce/Kconfig"
0515 source "drivers/misc/pvpanic/Kconfig"
0516 endmenu