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 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 60config IBMVMC 61 tristate "IBM Virtual Management Channel support" 62 depends on PPC_PSERIES 63 help 64 This is the IBM POWER Virtual Management Channel 65 66 This driver is to be used for the POWER Virtual 67 Management Channel virtual adapter on the PowerVM 68 platform. It provides both request/response and 69 async message support through the /dev/ibmvmc node. 70 71 To compile this driver as a module, choose M here: the 72 module will be called ibmvmc. 73 74config PHANTOM 75 tristate "Sensable PHANToM (PCI)" 76 depends on PCI 77 help 78 Say Y here if you want to build a driver for Sensable PHANToM device. 79 80 This driver is only for PCI PHANToMs. 81 82 If you choose to build module, its name will be phantom. If unsure, 83 say N here. 84 85config RPMB 86 tristate "RPMB partition interface" 87 help 88 Unified RPMB unit interface for RPMB capable devices such as eMMC and 89 UFS. Provides interface for in-kernel security controllers to access 90 RPMB unit. 91 92 If unsure, select N. 93 94config TI_FPC202 95 tristate "TI FPC202 Dual Port Controller" 96 depends on I2C 97 depends on GPIOLIB 98 depends on LEDS_CLASS 99 select I2C_ATR 100 help 101 If you say yes here you get support for the Texas Instruments FPC202 102 Dual Port Controller. 103 104 This driver can also be built as a module. If so, the module will be 105 called fpc202. 106 107config 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 123config 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 136config 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 146config 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 158config 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 166config SMPRO_ERRMON 167 tristate "Ampere Computing SMPro error monitor driver" 168 depends on MFD_SMPRO || COMPILE_TEST 169 help 170 Say Y here to get support for the SMpro error monitor function 171 provided by Ampere Computing's Altra and Altra Max SoCs. Upon 172 loading, the driver creates sysfs files which can be use to gather 173 multiple HW error data reported via read and write system calls. 174 175 To compile this driver as a module, say M here. The driver will be 176 called smpro-errmon. 177 178config SMPRO_MISC 179 tristate "Ampere Computing SMPro miscellaneous driver" 180 depends on MFD_SMPRO || COMPILE_TEST 181 help 182 Say Y here to get support for the SMpro error miscellalenous function 183 provided by Ampere Computing's Altra and Altra Max SoCs. 184 185 To compile this driver as a module, say M here. The driver will be 186 called smpro-misc. 187 188config CS5535_MFGPT 189 tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support" 190 depends on MFD_CS5535 191 help 192 This driver provides access to MFGPT functionality for other 193 drivers that need timers. MFGPTs are available in the CS5535 and 194 CS5536 companion chips that are found in AMD Geode and several 195 other platforms. They have a better resolution and max interval 196 than the generic PIT, and are suitable for use as high-res timers. 197 You probably don't want to enable this manually; other drivers that 198 make use of it should enable it. 199 200config CS5535_MFGPT_DEFAULT_IRQ 201 int 202 depends on CS5535_MFGPT 203 default 7 204 help 205 MFGPTs on the CS5535 require an interrupt. The selected IRQ 206 can be overridden as a module option as well as by driver that 207 use the cs5535_mfgpt_ API; however, different architectures might 208 want to use a different IRQ by default. This is here for 209 architectures to set as necessary. 210 211config CS5535_CLOCK_EVENT_SRC 212 tristate "CS5535/CS5536 high-res timer (MFGPT) events" 213 depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT 214 help 215 This driver provides a clock event source based on the MFGPT 216 timer(s) in the CS5535 and CS5536 companion chips. 217 MFGPTs have a better resolution and max interval than the 218 generic PIT, and are suitable for use as high-res timers. 219 220config GEHC_ACHC 221 tristate "GEHC ACHC support" 222 depends on SPI && SYSFS 223 depends on SOC_IMX53 || COMPILE_TEST 224 select FW_LOADER 225 help 226 Support for GE ACHC microcontroller, that is part of the GE 227 PPD device. 228 229 To compile this driver as a module, choose M here: the 230 module will be called gehc-achc. 231 232config HI6421V600_IRQ 233 tristate "HiSilicon Hi6421v600 IRQ and powerkey" 234 depends on OF 235 depends on SPMI 236 depends on HAS_IOMEM 237 select MFD_CORE 238 select REGMAP_SPMI 239 help 240 This driver provides IRQ handling for Hi6421v600, used on 241 some Kirin chipsets, like the one at Hikey 970. 242 243config HP_ILO 244 tristate "Channel interface driver for the HP iLO processor" 245 depends on PCI 246 help 247 The channel interface driver allows applications to communicate 248 with iLO management processors present on HP ProLiant servers. 249 Upon loading, the driver creates /dev/hpilo/dXccbN files, which 250 can be used to gather data from the management processor, via 251 read and write system calls. 252 253 To compile this driver as a module, choose M here: the 254 module will be called hpilo. 255 256config QCOM_COINCELL 257 tristate "Qualcomm coincell charger support" 258 depends on MFD_SPMI_PMIC || COMPILE_TEST 259 help 260 This driver supports the coincell block found inside of 261 Qualcomm PMICs. The coincell charger provides a means to 262 charge a coincell battery or backup capacitor which is used 263 to maintain PMIC register and RTC state in the absence of 264 external power. 265 266config QCOM_FASTRPC 267 tristate "Qualcomm FastRPC" 268 depends on ARCH_QCOM || COMPILE_TEST 269 depends on RPMSG 270 select DMA_SHARED_BUFFER 271 select QCOM_SCM 272 help 273 Provides a communication mechanism that allows for clients to 274 make remote method invocations across processor boundary to 275 applications DSP processor. Say M if you want to enable this 276 module. 277 278config SGI_GRU 279 tristate "SGI GRU driver" 280 depends on X86_UV && SMP 281 select MMU_NOTIFIER 282 help 283 The GRU is a hardware resource located in the system chipset. The GRU 284 contains memory that can be mmapped into the user address space. 285 This memory is used to communicate with the GRU to perform functions 286 such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is 287 directly accessed by user instructions using user virtual addresses. 288 GRU instructions (ex., bcopy) use user virtual addresses for operands. 289 290 If you are not running on a SGI UV system, say N. 291 292config SGI_GRU_DEBUG 293 bool "SGI GRU driver debug" 294 depends on SGI_GRU 295 help 296 This option enables additional debugging code for the SGI GRU driver. 297 If you are unsure, say N. 298 299config APDS9802ALS 300 tristate "Medfield Avago APDS9802 ALS Sensor module" 301 depends on I2C 302 help 303 If you say yes here you get support for the ALS APDS9802 ambient 304 light sensor. 305 306 This driver can also be built as a module. If so, the module 307 will be called apds9802als. 308 309config ISL29003 310 tristate "Intersil ISL29003 ambient light sensor" 311 depends on I2C && SYSFS 312 help 313 If you say yes here you get support for the Intersil ISL29003 314 ambient light sensor. 315 316 This driver can also be built as a module. If so, the module 317 will be called isl29003. 318 319config ISL29020 320 tristate "Intersil ISL29020 ambient light sensor" 321 depends on I2C 322 help 323 If you say yes here you get support for the Intersil ISL29020 324 ambient light sensor. 325 326 This driver can also be built as a module. If so, the module 327 will be called isl29020. 328 329config SENSORS_TSL2550 330 tristate "Taos TSL2550 ambient light sensor" 331 depends on I2C && SYSFS 332 help 333 If you say yes here you get support for the Taos TSL2550 334 ambient light sensor. 335 336 This driver can also be built as a module. If so, the module 337 will be called tsl2550. 338 339config SENSORS_BH1770 340 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" 341 depends on I2C 342 help 343 Say Y here if you want to build a driver for BH1770GLC (ROHM) or 344 SFH7770 (Osram) 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 bh1770glc. If unsure, say N here. 348 349config 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 356config 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 366config VMWARE_BALLOON 367 tristate "VMware Balloon Driver" 368 depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST 369 select 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 383config 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 404config LATTICE_ECP3_CONFIG 405 tristate "Lattice ECP3 FPGA bitstream configuration via SPI" 406 depends on SPI && SYSFS 407 select FW_LOADER 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 DW_XDATA_PCIE 428 depends on PCI 429 tristate "Synopsys DesignWare xData PCIe driver" 430 help 431 This driver allows controlling Synopsys DesignWare PCIe traffic 432 generator IP also known as xData, present in Synopsys DesignWare 433 PCIe Endpoint prototype. 434 435 If unsure, say N. 436 437config PCI_ENDPOINT_TEST 438 depends on PCI 439 select CRC32 440 tristate "PCI Endpoint Test driver" 441 help 442 Enable this configuration option to enable the host side test driver 443 for PCI Endpoint. 444 445config XILINX_SDFEC 446 tristate "Xilinx SDFEC 16" 447 depends on HAS_IOMEM 448 help 449 This option enables support for the Xilinx SDFEC (Soft Decision 450 Forward Error Correction) driver. This enables a char driver 451 for the SDFEC. 452 453 You may select this driver if your design instantiates the 454 SDFEC(16nm) hardened block. To compile this as a module choose M. 455 456 If unsure, say N. 457 458config MISC_RTSX 459 tristate 460 default MISC_RTSX_PCI || MISC_RTSX_USB 461 462config OPEN_DICE 463 tristate "Open Profile for DICE driver" 464 depends on OF_RESERVED_MEM 465 depends on HAS_IOMEM 466 help 467 This driver exposes a DICE reserved memory region to userspace via 468 a character device. The memory region contains Compound Device 469 Identifiers (CDIs) generated by firmware as an output of DICE 470 measured boot flow. Userspace can use CDIs for remote attestation 471 and sealing. 472 473 If unsure, say N. 474 475config NTSYNC 476 tristate "NT synchronization primitive emulation" 477 help 478 This module provides kernel support for emulation of Windows NT 479 synchronization primitives. It is not a hardware driver. 480 481 To compile this driver as a module, choose M here: the 482 module will be called ntsync. 483 484 If unsure, say N. 485 486config VCPU_STALL_DETECTOR 487 tristate "Guest vCPU stall detector" 488 depends on OF && HAS_IOMEM 489 help 490 When this driver is bound inside a KVM guest, it will 491 periodically "pet" an MMIO stall detector device from each vCPU 492 and allow the host to detect vCPU stalls. 493 494 To compile this driver as a module, choose M here: the module 495 will be called vcpu_stall_detector. 496 497 If you do not intend to run this kernel as a guest, say N. 498 499config TMR_MANAGER 500 tristate "Select TMR Manager" 501 depends on MICROBLAZE && MB_MANAGER 502 help 503 This option enables the driver developed for TMR Manager. 504 The Triple Modular Redundancy(TMR) manager provides support for 505 fault detection. 506 507 Say N here unless you know what you are doing. 508 509config TMR_INJECT 510 tristate "Select TMR Inject" 511 depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS 512 help 513 This option enables the driver developed for TMR Inject. 514 The Triple Modular Redundancy(TMR) Inject provides 515 fault injection. 516 517 Say N here unless you know what you are doing. 518 519config TPS6594_ESM 520 tristate "TI TPS6594 Error Signal Monitor support" 521 depends on MFD_TPS6594 522 default MFD_TPS6594 523 help 524 Support ESM (Error Signal Monitor) on TPS6594 PMIC devices. 525 ESM is used typically to reboot the board in error condition. 526 527 This driver can also be built as a module. If so, the module 528 will be called tps6594-esm. 529 530config TPS6594_PFSM 531 tristate "TI TPS6594 Pre-configurable Finite State Machine support" 532 depends on MFD_TPS6594 533 default MFD_TPS6594 534 help 535 Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices. 536 These devices integrate a finite state machine engine, which manages the state 537 of the device during operating state transition. 538 539 This driver can also be built as a module. If so, the module 540 will be called tps6594-pfsm. 541 542config NSM 543 tristate "Nitro (Enclaves) Security Module support" 544 depends on VIRTIO 545 select HW_RANDOM 546 help 547 This driver provides support for the Nitro Security Module 548 in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm 549 device user space can use to communicate with the hypervisor. 550 551 To compile this driver as a module, choose M here. 552 The module will be called nsm. 553 554config MARVELL_CN10K_DPI 555 tristate "Octeon CN10K DPI driver" 556 depends on PCI && PCI_IOV 557 depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT) 558 help 559 Enables Octeon CN10K DMA packet interface (DPI) driver which 560 intializes DPI hardware's physical function (PF) device's 561 global configuration and its virtual function (VFs) resource 562 configuration to enable DMA transfers. DPI PF device does not 563 have any data movement functionality, it only serves VF's 564 resource configuration requests. 565 566 To compile this driver as a module, choose M here: the module 567 will be called mrvl_cn10k_dpi. 568 569config MCHP_LAN966X_PCI 570 tristate "Microchip LAN966x PCIe Support" 571 depends on PCI 572 depends on OF_OVERLAY 573 select IRQ_DOMAIN 574 help 575 This enables the support for the LAN966x PCIe device. 576 577 This is used to drive the LAN966x PCIe device from the host system 578 to which it is connected. The driver uses a device tree overlay to 579 load other drivers to support for LAN966x internal components. 580 581 Even if this driver does not depend on those other drivers, in order 582 to have a fully functional board, the following drivers are needed: 583 - fixed-clock (COMMON_CLK) 584 - lan966x-oic (LAN966X_OIC) 585 - lan966x-cpu-syscon (MFD_SYSCON) 586 - lan966x-switch-reset (RESET_MCHP_SPARX5) 587 - lan966x-pinctrl (PINCTRL_OCELOT) 588 - lan966x-serdes (PHY_LAN966X_SERDES) 589 - lan966x-miim (MDIO_MSCC_MIIM) 590 - lan966x-switch (LAN966X_SWITCH) 591 592source "drivers/misc/c2port/Kconfig" 593source "drivers/misc/eeprom/Kconfig" 594source "drivers/misc/cb710/Kconfig" 595source "drivers/misc/lis3lv02d/Kconfig" 596source "drivers/misc/altera-stapl/Kconfig" 597source "drivers/misc/mei/Kconfig" 598source "drivers/misc/vmw_vmci/Kconfig" 599source "drivers/misc/genwqe/Kconfig" 600source "drivers/misc/ocxl/Kconfig" 601source "drivers/misc/bcm-vk/Kconfig" 602source "drivers/misc/cardreader/Kconfig" 603source "drivers/misc/uacce/Kconfig" 604source "drivers/misc/pvpanic/Kconfig" 605source "drivers/misc/mchp_pci1xxxx/Kconfig" 606source "drivers/misc/keba/Kconfig" 607source "drivers/misc/amd-sbi/Kconfig" 608source "drivers/misc/rp1/Kconfig" 609source "drivers/misc/issei/Kconfig" 610endmenu 611