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 SGI_XP 167 tristate "Support communication between SGI SSIs" 168 depends on NET 169 depends on 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 179config SMPRO_ERRMON 180 tristate "Ampere Computing SMPro error monitor driver" 181 depends on MFD_SMPRO || COMPILE_TEST 182 help 183 Say Y here to get support for the SMpro error monitor function 184 provided by Ampere Computing's Altra and Altra Max SoCs. Upon 185 loading, the driver creates sysfs files which can be use to gather 186 multiple HW error data reported via read and write system calls. 187 188 To compile this driver as a module, say M here. The driver will be 189 called smpro-errmon. 190 191config SMPRO_MISC 192 tristate "Ampere Computing SMPro miscellaneous driver" 193 depends on MFD_SMPRO || COMPILE_TEST 194 help 195 Say Y here to get support for the SMpro error miscellalenous function 196 provided by Ampere Computing's Altra and Altra Max SoCs. 197 198 To compile this driver as a module, say M here. The driver will be 199 called smpro-misc. 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 GEHC_ACHC 234 tristate "GEHC ACHC support" 235 depends on SPI && SYSFS 236 depends on SOC_IMX53 || COMPILE_TEST 237 select FW_LOADER 238 help 239 Support for GE ACHC microcontroller, that is part of the GE 240 PPD device. 241 242 To compile this driver as a module, choose M here: the 243 module will be called gehc-achc. 244 245config HI6421V600_IRQ 246 tristate "HiSilicon Hi6421v600 IRQ and powerkey" 247 depends on OF 248 depends on SPMI 249 depends on HAS_IOMEM 250 select MFD_CORE 251 select REGMAP_SPMI 252 help 253 This driver provides IRQ handling for Hi6421v600, used on 254 some Kirin chipsets, like the one at Hikey 970. 255 256config HP_ILO 257 tristate "Channel interface driver for the HP iLO processor" 258 depends on PCI 259 help 260 The channel interface driver allows applications to communicate 261 with iLO management processors present on HP ProLiant servers. 262 Upon loading, the driver creates /dev/hpilo/dXccbN files, which 263 can be used to gather data from the management processor, via 264 read and write system calls. 265 266 To compile this driver as a module, choose M here: the 267 module will be called hpilo. 268 269config QCOM_COINCELL 270 tristate "Qualcomm coincell charger support" 271 depends on MFD_SPMI_PMIC || COMPILE_TEST 272 help 273 This driver supports the coincell block found inside of 274 Qualcomm PMICs. The coincell charger provides a means to 275 charge a coincell battery or backup capacitor which is used 276 to maintain PMIC register and RTC state in the absence of 277 external power. 278 279config QCOM_FASTRPC 280 tristate "Qualcomm FastRPC" 281 depends on ARCH_QCOM || COMPILE_TEST 282 depends on RPMSG 283 select DMA_SHARED_BUFFER 284 select QCOM_SCM 285 help 286 Provides a communication mechanism that allows for clients to 287 make remote method invocations across processor boundary to 288 applications DSP processor. Say M if you want to enable this 289 module. 290 291config SGI_GRU 292 tristate "SGI GRU driver" 293 depends on X86_UV && SMP 294 select MMU_NOTIFIER 295 help 296 The GRU is a hardware resource located in the system chipset. The GRU 297 contains memory that can be mmapped into the user address space. 298 This memory is used to communicate with the GRU to perform functions 299 such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is 300 directly accessed by user instructions using user virtual addresses. 301 GRU instructions (ex., bcopy) use user virtual addresses for operands. 302 303 If you are not running on a SGI UV system, say N. 304 305config SGI_GRU_DEBUG 306 bool "SGI GRU driver debug" 307 depends on SGI_GRU 308 help 309 This option enables additional debugging code for the SGI GRU driver. 310 If you are unsure, say N. 311 312config APDS9802ALS 313 tristate "Medfield Avago APDS9802 ALS Sensor module" 314 depends on I2C 315 help 316 If you say yes here you get support for the ALS APDS9802 ambient 317 light sensor. 318 319 This driver can also be built as a module. If so, the module 320 will be called apds9802als. 321 322config ISL29003 323 tristate "Intersil ISL29003 ambient light sensor" 324 depends on I2C && SYSFS 325 help 326 If you say yes here you get support for the Intersil ISL29003 327 ambient light sensor. 328 329 This driver can also be built as a module. If so, the module 330 will be called isl29003. 331 332config ISL29020 333 tristate "Intersil ISL29020 ambient light sensor" 334 depends on I2C 335 help 336 If you say yes here you get support for the Intersil ISL29020 337 ambient light sensor. 338 339 This driver can also be built as a module. If so, the module 340 will be called isl29020. 341 342config SENSORS_TSL2550 343 tristate "Taos TSL2550 ambient light sensor" 344 depends on I2C && SYSFS 345 help 346 If you say yes here you get support for the Taos TSL2550 347 ambient light sensor. 348 349 This driver can also be built as a module. If so, the module 350 will be called tsl2550. 351 352config SENSORS_BH1770 353 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" 354 depends on I2C 355 help 356 Say Y here if you want to build a driver for BH1770GLC (ROHM) or 357 SFH7770 (Osram) combined ambient light and proximity sensor chip. 358 359 To compile this driver as a module, choose M here: the 360 module will be called bh1770glc. If unsure, say N here. 361 362config HMC6352 363 tristate "Honeywell HMC6352 compass" 364 depends on I2C 365 help 366 This driver provides support for the Honeywell HMC6352 compass, 367 providing configuration and heading data via sysfs. 368 369config DS1682 370 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" 371 depends on I2C 372 help 373 If you say yes here you get support for Dallas Semiconductor 374 DS1682 Total Elapsed Time Recorder. 375 376 This driver can also be built as a module. If so, the module 377 will be called ds1682. 378 379config VMWARE_BALLOON 380 tristate "VMware Balloon Driver" 381 depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST 382 select BALLOON 383 help 384 This is VMware physical memory management driver which acts 385 like a "balloon" that can be inflated to reclaim physical pages 386 by reserving them in the guest and invalidating them in the 387 monitor, freeing up the underlying machine pages so they can 388 be allocated to other guests. The balloon can also be deflated 389 to allow the guest to use more physical memory. 390 391 If unsure, say N. 392 393 To compile this driver as a module, choose M here: the 394 module will be called vmw_balloon. 395 396config PCH_PHUB 397 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB" 398 select GENERIC_NET_UTILS 399 depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 400 help 401 This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of 402 Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded 403 processor. The Topcliff has MAC address and Option ROM data in SROM. 404 This driver can access MAC address and Option ROM data in SROM. 405 406 This driver also can be used for LAPIS Semiconductor's IOH, 407 ML7213/ML7223/ML7831. 408 ML7213 which is for IVI(In-Vehicle Infotainment) use. 409 ML7223 IOH is for MP(Media Phone) use. 410 ML7831 IOH is for general purpose use. 411 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. 412 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. 413 414 To compile this driver as a module, choose M here: the module will 415 be called pch_phub. 416 417config LATTICE_ECP3_CONFIG 418 tristate "Lattice ECP3 FPGA bitstream configuration via SPI" 419 depends on SPI && SYSFS 420 select FW_LOADER 421 help 422 This option enables support for bitstream configuration (programming 423 or loading) of the Lattice ECP3 FPGA family via SPI. 424 425 If unsure, say N. 426 427config SRAM 428 bool "Generic on-chip SRAM driver" 429 depends on HAS_IOMEM 430 select GENERIC_ALLOCATOR 431 select SRAM_EXEC if ARM 432 help 433 This driver allows you to declare a memory region to be managed by 434 the genalloc API. It is supposed to be used for small on-chip SRAM 435 areas found on many SoCs. 436 437config SRAM_EXEC 438 bool 439 440config DW_XDATA_PCIE 441 depends on PCI 442 tristate "Synopsys DesignWare xData PCIe driver" 443 help 444 This driver allows controlling Synopsys DesignWare PCIe traffic 445 generator IP also known as xData, present in Synopsys DesignWare 446 PCIe Endpoint prototype. 447 448 If unsure, say N. 449 450config PCI_ENDPOINT_TEST 451 depends on PCI 452 select CRC32 453 tristate "PCI Endpoint Test driver" 454 help 455 Enable this configuration option to enable the host side test driver 456 for PCI Endpoint. 457 458config XILINX_SDFEC 459 tristate "Xilinx SDFEC 16" 460 depends on HAS_IOMEM 461 help 462 This option enables support for the Xilinx SDFEC (Soft Decision 463 Forward Error Correction) driver. This enables a char driver 464 for the SDFEC. 465 466 You may select this driver if your design instantiates the 467 SDFEC(16nm) hardened block. To compile this as a module choose M. 468 469 If unsure, say N. 470 471config MISC_RTSX 472 tristate 473 default MISC_RTSX_PCI || MISC_RTSX_USB 474 475config OPEN_DICE 476 tristate "Open Profile for DICE driver" 477 depends on OF_RESERVED_MEM 478 depends on HAS_IOMEM 479 help 480 This driver exposes a DICE reserved memory region to userspace via 481 a character device. The memory region contains Compound Device 482 Identifiers (CDIs) generated by firmware as an output of DICE 483 measured boot flow. Userspace can use CDIs for remote attestation 484 and sealing. 485 486 If unsure, say N. 487 488config NTSYNC 489 tristate "NT synchronization primitive emulation" 490 help 491 This module provides kernel support for emulation of Windows NT 492 synchronization primitives. It is not a hardware driver. 493 494 To compile this driver as a module, choose M here: the 495 module will be called ntsync. 496 497 If unsure, say N. 498 499config VCPU_STALL_DETECTOR 500 tristate "Guest vCPU stall detector" 501 depends on OF && HAS_IOMEM 502 help 503 When this driver is bound inside a KVM guest, it will 504 periodically "pet" an MMIO stall detector device from each vCPU 505 and allow the host to detect vCPU stalls. 506 507 To compile this driver as a module, choose M here: the module 508 will be called vcpu_stall_detector. 509 510 If you do not intend to run this kernel as a guest, say N. 511 512config TMR_MANAGER 513 tristate "Select TMR Manager" 514 depends on MICROBLAZE && MB_MANAGER 515 help 516 This option enables the driver developed for TMR Manager. 517 The Triple Modular Redundancy(TMR) manager provides support for 518 fault detection. 519 520 Say N here unless you know what you are doing. 521 522config TMR_INJECT 523 tristate "Select TMR Inject" 524 depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS 525 help 526 This option enables the driver developed for TMR Inject. 527 The Triple Modular Redundancy(TMR) Inject provides 528 fault injection. 529 530 Say N here unless you know what you are doing. 531 532config TPS6594_ESM 533 tristate "TI TPS6594 Error Signal Monitor support" 534 depends on MFD_TPS6594 535 default MFD_TPS6594 536 help 537 Support ESM (Error Signal Monitor) on TPS6594 PMIC devices. 538 ESM is used typically to reboot the board in error condition. 539 540 This driver can also be built as a module. If so, the module 541 will be called tps6594-esm. 542 543config TPS6594_PFSM 544 tristate "TI TPS6594 Pre-configurable Finite State Machine support" 545 depends on MFD_TPS6594 546 default MFD_TPS6594 547 help 548 Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices. 549 These devices integrate a finite state machine engine, which manages the state 550 of the device during operating state transition. 551 552 This driver can also be built as a module. If so, the module 553 will be called tps6594-pfsm. 554 555config NSM 556 tristate "Nitro (Enclaves) Security Module support" 557 depends on VIRTIO 558 select HW_RANDOM 559 help 560 This driver provides support for the Nitro Security Module 561 in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm 562 device user space can use to communicate with the hypervisor. 563 564 To compile this driver as a module, choose M here. 565 The module will be called nsm. 566 567config MARVELL_CN10K_DPI 568 tristate "Octeon CN10K DPI driver" 569 depends on PCI && PCI_IOV 570 depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT) 571 help 572 Enables Octeon CN10K DMA packet interface (DPI) driver which 573 intializes DPI hardware's physical function (PF) device's 574 global configuration and its virtual function (VFs) resource 575 configuration to enable DMA transfers. DPI PF device does not 576 have any data movement functionality, it only serves VF's 577 resource configuration requests. 578 579 To compile this driver as a module, choose M here: the module 580 will be called mrvl_cn10k_dpi. 581 582config MCHP_LAN966X_PCI 583 tristate "Microchip LAN966x PCIe Support" 584 depends on PCI 585 depends on OF_OVERLAY 586 select IRQ_DOMAIN 587 help 588 This enables the support for the LAN966x PCIe device. 589 590 This is used to drive the LAN966x PCIe device from the host system 591 to which it is connected. The driver uses a device tree overlay to 592 load other drivers to support for LAN966x internal components. 593 594 Even if this driver does not depend on those other drivers, in order 595 to have a fully functional board, the following drivers are needed: 596 - fixed-clock (COMMON_CLK) 597 - lan966x-oic (LAN966X_OIC) 598 - lan966x-cpu-syscon (MFD_SYSCON) 599 - lan966x-switch-reset (RESET_MCHP_SPARX5) 600 - lan966x-pinctrl (PINCTRL_OCELOT) 601 - lan966x-serdes (PHY_LAN966X_SERDES) 602 - lan966x-miim (MDIO_MSCC_MIIM) 603 - lan966x-switch (LAN966X_SWITCH) 604 605source "drivers/misc/c2port/Kconfig" 606source "drivers/misc/eeprom/Kconfig" 607source "drivers/misc/cb710/Kconfig" 608source "drivers/misc/lis3lv02d/Kconfig" 609source "drivers/misc/altera-stapl/Kconfig" 610source "drivers/misc/mei/Kconfig" 611source "drivers/misc/vmw_vmci/Kconfig" 612source "drivers/misc/genwqe/Kconfig" 613source "drivers/misc/ocxl/Kconfig" 614source "drivers/misc/bcm-vk/Kconfig" 615source "drivers/misc/cardreader/Kconfig" 616source "drivers/misc/uacce/Kconfig" 617source "drivers/misc/pvpanic/Kconfig" 618source "drivers/misc/mchp_pci1xxxx/Kconfig" 619source "drivers/misc/keba/Kconfig" 620source "drivers/misc/amd-sbi/Kconfig" 621source "drivers/misc/rp1/Kconfig" 622source "drivers/misc/issei/Kconfig" 623endmenu 624