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 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 82config 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 96config 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 107config RPMB 108 tristate "RPMB partition interface" 109 depends on MMC 110 help 111 Unified RPMB unit interface for RPMB capable devices such as eMMC and 112 UFS. Provides interface for in-kernel security controllers to access 113 RPMB unit. 114 115 If unsure, select N. 116 117config TIFM_CORE 118 tristate "TI Flash Media interface support" 119 depends on PCI 120 help 121 If you want support for Texas Instruments(R) Flash Media adapters 122 you should select this option and then also choose an appropriate 123 host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter 124 support', if you have a TI PCI74xx compatible card reader, for 125 example. 126 You will also have to select some flash card format drivers. MMC/SD 127 cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD 128 Interface support (MMC_TIFM_SD)'. 129 130 To compile this driver as a module, choose M here: the module will 131 be called tifm_core. 132 133config TIFM_7XX1 134 tristate "TI Flash Media PCI74xx/PCI76xx host adapter support" 135 depends on PCI && TIFM_CORE 136 default TIFM_CORE 137 help 138 This option enables support for Texas Instruments(R) PCI74xx and 139 PCI76xx families of Flash Media adapters, found in many laptops. 140 To make actual use of the device, you will have to select some 141 flash card format drivers, as outlined in the TIFM_CORE Help. 142 143 To compile this driver as a module, choose M here: the module will 144 be called tifm_7xx1. 145 146config ICS932S401 147 tristate "Integrated Circuits ICS932S401" 148 depends on I2C 149 help 150 If you say yes here you get support for the Integrated Circuits 151 ICS932S401 clock control chips. 152 153 This driver can also be built as a module. If so, the module 154 will be called ics932s401. 155 156config ATMEL_SSC 157 tristate "Device driver for Atmel SSC peripheral" 158 depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST) 159 help 160 This option enables device driver support for Atmel Synchronized 161 Serial Communication peripheral (SSC). 162 163 The SSC peripheral supports a wide variety of serial frame based 164 communications, i.e. I2S, SPI, etc. 165 166 If unsure, say N. 167 168config ENCLOSURE_SERVICES 169 tristate "Enclosure Services" 170 help 171 Provides support for intelligent enclosures (bays which 172 contain storage devices). You also need either a host 173 driver (SCSI/ATA) which supports enclosures 174 or a SCSI enclosure device (SES) to use these services. 175 176config SGI_XP 177 tristate "Support communication between SGI SSIs" 178 depends on NET 179 depends on X86_UV && SMP 180 depends on X86_64 || BROKEN 181 select SGI_GRU if X86_64 && SMP 182 help 183 An SGI machine can be divided into multiple Single System 184 Images which act independently of each other and have 185 hardware based memory protection from the others. Enabling 186 this feature will allow for direct communication between SSIs 187 based on a network adapter and DMA messaging. 188 189config SMPRO_ERRMON 190 tristate "Ampere Computing SMPro error monitor driver" 191 depends on MFD_SMPRO || COMPILE_TEST 192 help 193 Say Y here to get support for the SMpro error monitor function 194 provided by Ampere Computing's Altra and Altra Max SoCs. Upon 195 loading, the driver creates sysfs files which can be use to gather 196 multiple HW error data reported via read and write system calls. 197 198 To compile this driver as a module, say M here. The driver will be 199 called smpro-errmon. 200 201config SMPRO_MISC 202 tristate "Ampere Computing SMPro miscellaneous driver" 203 depends on MFD_SMPRO || COMPILE_TEST 204 help 205 Say Y here to get support for the SMpro error miscellalenous function 206 provided by Ampere Computing's Altra and Altra Max SoCs. 207 208 To compile this driver as a module, say M here. The driver will be 209 called smpro-misc. 210 211config CS5535_MFGPT 212 tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support" 213 depends on MFD_CS5535 214 help 215 This driver provides access to MFGPT functionality for other 216 drivers that need timers. MFGPTs are available in the CS5535 and 217 CS5536 companion chips that are found in AMD Geode and several 218 other platforms. They have a better resolution and max interval 219 than the generic PIT, and are suitable for use as high-res timers. 220 You probably don't want to enable this manually; other drivers that 221 make use of it should enable it. 222 223config CS5535_MFGPT_DEFAULT_IRQ 224 int 225 depends on CS5535_MFGPT 226 default 7 227 help 228 MFGPTs on the CS5535 require an interrupt. The selected IRQ 229 can be overridden as a module option as well as by driver that 230 use the cs5535_mfgpt_ API; however, different architectures might 231 want to use a different IRQ by default. This is here for 232 architectures to set as necessary. 233 234config CS5535_CLOCK_EVENT_SRC 235 tristate "CS5535/CS5536 high-res timer (MFGPT) events" 236 depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT 237 help 238 This driver provides a clock event source based on the MFGPT 239 timer(s) in the CS5535 and CS5536 companion chips. 240 MFGPTs have a better resolution and max interval than the 241 generic PIT, and are suitable for use as high-res timers. 242 243config GEHC_ACHC 244 tristate "GEHC ACHC support" 245 depends on SPI && SYSFS 246 depends on SOC_IMX53 || COMPILE_TEST 247 select FW_LOADER 248 help 249 Support for GE ACHC microcontroller, that is part of the GE 250 PPD device. 251 252 To compile this driver as a module, choose M here: the 253 module will be called gehc-achc. 254 255config HI6421V600_IRQ 256 tristate "HiSilicon Hi6421v600 IRQ and powerkey" 257 depends on OF 258 depends on SPMI 259 depends on HAS_IOMEM 260 select MFD_CORE 261 select REGMAP_SPMI 262 help 263 This driver provides IRQ handling for Hi6421v600, used on 264 some Kirin chipsets, like the one at Hikey 970. 265 266config HP_ILO 267 tristate "Channel interface driver for the HP iLO processor" 268 depends on PCI 269 help 270 The channel interface driver allows applications to communicate 271 with iLO management processors present on HP ProLiant servers. 272 Upon loading, the driver creates /dev/hpilo/dXccbN files, which 273 can be used to gather data from the management processor, via 274 read and write system calls. 275 276 To compile this driver as a module, choose M here: the 277 module will be called hpilo. 278 279config QCOM_COINCELL 280 tristate "Qualcomm coincell charger support" 281 depends on MFD_SPMI_PMIC || COMPILE_TEST 282 help 283 This driver supports the coincell block found inside of 284 Qualcomm PMICs. The coincell charger provides a means to 285 charge a coincell battery or backup capacitor which is used 286 to maintain PMIC register and RTC state in the absence of 287 external power. 288 289config QCOM_FASTRPC 290 tristate "Qualcomm FastRPC" 291 depends on ARCH_QCOM || COMPILE_TEST 292 depends on RPMSG 293 select DMA_SHARED_BUFFER 294 select QCOM_SCM 295 help 296 Provides a communication mechanism that allows for clients to 297 make remote method invocations across processor boundary to 298 applications DSP processor. Say M if you want to enable this 299 module. 300 301config SGI_GRU 302 tristate "SGI GRU driver" 303 depends on X86_UV && SMP 304 select MMU_NOTIFIER 305 help 306 The GRU is a hardware resource located in the system chipset. The GRU 307 contains memory that can be mmapped into the user address space. 308 This memory is used to communicate with the GRU to perform functions 309 such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is 310 directly accessed by user instructions using user virtual addresses. 311 GRU instructions (ex., bcopy) use user virtual addresses for operands. 312 313 If you are not running on a SGI UV system, say N. 314 315config SGI_GRU_DEBUG 316 bool "SGI GRU driver debug" 317 depends on SGI_GRU 318 help 319 This option enables additional debugging code for the SGI GRU driver. 320 If you are unsure, say N. 321 322config APDS9802ALS 323 tristate "Medfield Avago APDS9802 ALS Sensor module" 324 depends on I2C 325 help 326 If you say yes here you get support for the ALS APDS9802 ambient 327 light sensor. 328 329 This driver can also be built as a module. If so, the module 330 will be called apds9802als. 331 332config ISL29003 333 tristate "Intersil ISL29003 ambient light sensor" 334 depends on I2C && SYSFS 335 help 336 If you say yes here you get support for the Intersil ISL29003 337 ambient light sensor. 338 339 This driver can also be built as a module. If so, the module 340 will be called isl29003. 341 342config ISL29020 343 tristate "Intersil ISL29020 ambient light sensor" 344 depends on I2C 345 help 346 If you say yes here you get support for the Intersil ISL29020 347 ambient light sensor. 348 349 This driver can also be built as a module. If so, the module 350 will be called isl29020. 351 352config SENSORS_TSL2550 353 tristate "Taos TSL2550 ambient light sensor" 354 depends on I2C && SYSFS 355 help 356 If you say yes here you get support for the Taos TSL2550 357 ambient light sensor. 358 359 This driver can also be built as a module. If so, the module 360 will be called tsl2550. 361 362config SENSORS_BH1770 363 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" 364 depends on I2C 365 help 366 Say Y here if you want to build a driver for BH1770GLC (ROHM) or 367 SFH7770 (Osram) combined ambient light and proximity sensor chip. 368 369 To compile this driver as a module, choose M here: the 370 module will be called bh1770glc. If unsure, say N here. 371 372config SENSORS_APDS990X 373 tristate "APDS990X combined als and proximity sensors" 374 depends on I2C 375 help 376 Say Y here if you want to build a driver for Avago APDS990x 377 combined ambient light and proximity sensor chip. 378 379 To compile this driver as a module, choose M here: the 380 module will be called apds990x. If unsure, say N here. 381 382config HMC6352 383 tristate "Honeywell HMC6352 compass" 384 depends on I2C 385 help 386 This driver provides support for the Honeywell HMC6352 compass, 387 providing configuration and heading data via sysfs. 388 389config DS1682 390 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" 391 depends on I2C 392 help 393 If you say yes here you get support for Dallas Semiconductor 394 DS1682 Total Elapsed Time Recorder. 395 396 This driver can also be built as a module. If so, the module 397 will be called ds1682. 398 399config VMWARE_BALLOON 400 tristate "VMware Balloon Driver" 401 depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST 402 select MEMORY_BALLOON 403 help 404 This is VMware physical memory management driver which acts 405 like a "balloon" that can be inflated to reclaim physical pages 406 by reserving them in the guest and invalidating them in the 407 monitor, freeing up the underlying machine pages so they can 408 be allocated to other guests. The balloon can also be deflated 409 to allow the guest to use more physical memory. 410 411 If unsure, say N. 412 413 To compile this driver as a module, choose M here: the 414 module will be called vmw_balloon. 415 416config PCH_PHUB 417 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB" 418 select GENERIC_NET_UTILS 419 depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 420 help 421 This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of 422 Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded 423 processor. The Topcliff has MAC address and Option ROM data in SROM. 424 This driver can access MAC address and Option ROM data in SROM. 425 426 This driver also can be used for LAPIS Semiconductor's IOH, 427 ML7213/ML7223/ML7831. 428 ML7213 which is for IVI(In-Vehicle Infotainment) use. 429 ML7223 IOH is for MP(Media Phone) use. 430 ML7831 IOH is for general purpose use. 431 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. 432 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. 433 434 To compile this driver as a module, choose M here: the module will 435 be called pch_phub. 436 437config LATTICE_ECP3_CONFIG 438 tristate "Lattice ECP3 FPGA bitstream configuration via SPI" 439 depends on SPI && SYSFS 440 select FW_LOADER 441 help 442 This option enables support for bitstream configuration (programming 443 or loading) of the Lattice ECP3 FPGA family via SPI. 444 445 If unsure, say N. 446 447config SRAM 448 bool "Generic on-chip SRAM driver" 449 depends on HAS_IOMEM 450 select GENERIC_ALLOCATOR 451 select SRAM_EXEC if ARM 452 help 453 This driver allows you to declare a memory region to be managed by 454 the genalloc API. It is supposed to be used for small on-chip SRAM 455 areas found on many SoCs. 456 457config SRAM_EXEC 458 bool 459 460config DW_XDATA_PCIE 461 depends on PCI 462 tristate "Synopsys DesignWare xData PCIe driver" 463 help 464 This driver allows controlling Synopsys DesignWare PCIe traffic 465 generator IP also known as xData, present in Synopsys DesignWare 466 PCIe Endpoint prototype. 467 468 If unsure, say N. 469 470config PCI_ENDPOINT_TEST 471 depends on PCI 472 select CRC32 473 tristate "PCI Endpoint Test driver" 474 help 475 Enable this configuration option to enable the host side test driver 476 for PCI Endpoint. 477 478config XILINX_SDFEC 479 tristate "Xilinx SDFEC 16" 480 depends on HAS_IOMEM 481 help 482 This option enables support for the Xilinx SDFEC (Soft Decision 483 Forward Error Correction) driver. This enables a char driver 484 for the SDFEC. 485 486 You may select this driver if your design instantiates the 487 SDFEC(16nm) hardened block. To compile this as a module choose M. 488 489 If unsure, say N. 490 491config MISC_RTSX 492 tristate 493 default MISC_RTSX_PCI || MISC_RTSX_USB 494 495config HISI_HIKEY_USB 496 tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform" 497 depends on (OF && GPIOLIB) || COMPILE_TEST 498 depends on USB_ROLE_SWITCH 499 help 500 If you say yes here this adds support for the on-board USB GPIO hub 501 found on HiKey 960/970 boards, which is necessary to support 502 switching between the dual-role USB-C port and the USB-A host ports 503 using only one USB controller. 504 505config OPEN_DICE 506 tristate "Open Profile for DICE driver" 507 depends on OF_RESERVED_MEM 508 depends on HAS_IOMEM 509 help 510 This driver exposes a DICE reserved memory region to userspace via 511 a character device. The memory region contains Compound Device 512 Identifiers (CDIs) generated by firmware as an output of DICE 513 measured boot flow. Userspace can use CDIs for remote attestation 514 and sealing. 515 516 If unsure, say N. 517 518config NTSYNC 519 tristate "NT synchronization primitive emulation" 520 depends on BROKEN 521 help 522 This module provides kernel support for emulation of Windows NT 523 synchronization primitives. It is not a hardware driver. 524 525 To compile this driver as a module, choose M here: the 526 module will be called ntsync. 527 528 If unsure, say N. 529 530config VCPU_STALL_DETECTOR 531 tristate "Guest vCPU stall detector" 532 depends on OF && HAS_IOMEM 533 help 534 When this driver is bound inside a KVM guest, it will 535 periodically "pet" an MMIO stall detector device from each vCPU 536 and allow the host to detect vCPU stalls. 537 538 To compile this driver as a module, choose M here: the module 539 will be called vcpu_stall_detector. 540 541 If you do not intend to run this kernel as a guest, say N. 542 543config TMR_MANAGER 544 tristate "Select TMR Manager" 545 depends on MICROBLAZE && MB_MANAGER 546 help 547 This option enables the driver developed for TMR Manager. 548 The Triple Modular Redundancy(TMR) manager provides support for 549 fault detection. 550 551 Say N here unless you know what you are doing. 552 553config TMR_INJECT 554 tristate "Select TMR Inject" 555 depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS 556 help 557 This option enables the driver developed for TMR Inject. 558 The Triple Modular Redundancy(TMR) Inject provides 559 fault injection. 560 561 Say N here unless you know what you are doing. 562 563config TPS6594_ESM 564 tristate "TI TPS6594 Error Signal Monitor support" 565 depends on MFD_TPS6594 566 default MFD_TPS6594 567 help 568 Support ESM (Error Signal Monitor) on TPS6594 PMIC devices. 569 ESM is used typically to reboot the board in error condition. 570 571 This driver can also be built as a module. If so, the module 572 will be called tps6594-esm. 573 574config TPS6594_PFSM 575 tristate "TI TPS6594 Pre-configurable Finite State Machine support" 576 depends on MFD_TPS6594 577 default MFD_TPS6594 578 help 579 Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices. 580 These devices integrate a finite state machine engine, which manages the state 581 of the device during operating state transition. 582 583 This driver can also be built as a module. If so, the module 584 will be called tps6594-pfsm. 585 586config NSM 587 tristate "Nitro (Enclaves) Security Module support" 588 depends on VIRTIO 589 select HW_RANDOM 590 help 591 This driver provides support for the Nitro Security Module 592 in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm 593 device user space can use to communicate with the hypervisor. 594 595 To compile this driver as a module, choose M here. 596 The module will be called nsm. 597 598config MARVELL_CN10K_DPI 599 tristate "Octeon CN10K DPI driver" 600 depends on PCI && PCI_IOV 601 depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT) 602 help 603 Enables Octeon CN10K DMA packet interface (DPI) driver which 604 intializes DPI hardware's physical function (PF) device's 605 global configuration and its virtual function (VFs) resource 606 configuration to enable DMA transfers. DPI PF device does not 607 have any data movement functionality, it only serves VF's 608 resource configuration requests. 609 610 To compile this driver as a module, choose M here: the module 611 will be called mrvl_cn10k_dpi. 612 613source "drivers/misc/c2port/Kconfig" 614source "drivers/misc/eeprom/Kconfig" 615source "drivers/misc/cb710/Kconfig" 616source "drivers/misc/ti-st/Kconfig" 617source "drivers/misc/lis3lv02d/Kconfig" 618source "drivers/misc/altera-stapl/Kconfig" 619source "drivers/misc/mei/Kconfig" 620source "drivers/misc/vmw_vmci/Kconfig" 621source "drivers/misc/genwqe/Kconfig" 622source "drivers/misc/echo/Kconfig" 623source "drivers/misc/cxl/Kconfig" 624source "drivers/misc/ocxl/Kconfig" 625source "drivers/misc/bcm-vk/Kconfig" 626source "drivers/misc/cardreader/Kconfig" 627source "drivers/misc/uacce/Kconfig" 628source "drivers/misc/pvpanic/Kconfig" 629source "drivers/misc/mchp_pci1xxxx/Kconfig" 630source "drivers/misc/keba/Kconfig" 631endmenu 632