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