# SPDX-License-Identifier: GPL-2.0-only # # Misc strange devices # menu "Misc devices" config SENSORS_LIS3LV02D tristate depends on INPUT config AD525X_DPOT tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS help If you say yes here, you get support for the Analog Devices AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255 AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203, AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235, AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293, AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282, ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270, AD5271, AD5272, AD5274 digital potentiometer chips. See Documentation/misc-devices/ad525x_dpot.rst for the userspace interface. This driver can also be built as a module. If so, the module will be called ad525x_dpot. config AD525X_DPOT_I2C tristate "support I2C bus connection" depends on AD525X_DPOT && I2C help Say Y here if you have a digital potentiometers hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad525x_dpot-i2c. config AD525X_DPOT_SPI tristate "support SPI bus connection" depends on AD525X_DPOT && SPI_MASTER help Say Y here if you have a digital potentiometers hooked to an SPI bus. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad525x_dpot-spi. config DUMMY_IRQ tristate "Dummy IRQ handler" help This module accepts a single 'irq' parameter, which it should register for. The sole purpose of this module is to help with debugging of systems on which spurious IRQs would happen on disabled IRQ vector. config IBM_ASM tristate "Device driver for IBM RSA service processor" depends on X86 && PCI && INPUT depends on SERIAL_8250 || SERIAL_8250=n help This option enables device driver support for in-band access to the IBM RSA (Condor) service processor in eServer xSeries systems. The ibmasm device driver allows user space application to access ASM (Advanced Systems Management) functions on the service processor. The driver is meant to be used in conjunction with a user space API. The ibmasm driver also enables the OS to use the UART on the service processor board as a regular serial port. To make use of this feature serial driver support (CONFIG_SERIAL_8250) must be enabled. WARNING: This software may not be supported or function correctly on your IBM server. Please consult the IBM ServerProven website for information on the specific driver level and support statement for your IBM server. config IBMVMC tristate "IBM Virtual Management Channel support" depends on PPC_PSERIES help This is the IBM POWER Virtual Management Channel This driver is to be used for the POWER Virtual Management Channel virtual adapter on the PowerVM platform. It provides both request/response and async message support through the /dev/ibmvmc node. To compile this driver as a module, choose M here: the module will be called ibmvmc. config PHANTOM tristate "Sensable PHANToM (PCI)" depends on PCI help Say Y here if you want to build a driver for Sensable PHANToM device. This driver is only for PCI PHANToMs. If you choose to build module, its name will be phantom. If unsure, say N here. config RPMB tristate "RPMB partition interface" depends on MMC help Unified RPMB unit interface for RPMB capable devices such as eMMC and UFS. Provides interface for in-kernel security controllers to access RPMB unit. If unsure, select N. config TIFM_CORE tristate "TI Flash Media interface support" depends on PCI help If you want support for Texas Instruments(R) Flash Media adapters you should select this option and then also choose an appropriate host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter support', if you have a TI PCI74xx compatible card reader, for example. You will also have to select some flash card format drivers. MMC/SD cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD Interface support (MMC_TIFM_SD)'. To compile this driver as a module, choose M here: the module will be called tifm_core. config TIFM_7XX1 tristate "TI Flash Media PCI74xx/PCI76xx host adapter support" depends on PCI && TIFM_CORE default TIFM_CORE help This option enables support for Texas Instruments(R) PCI74xx and PCI76xx families of Flash Media adapters, found in many laptops. To make actual use of the device, you will have to select some flash card format drivers, as outlined in the TIFM_CORE Help. To compile this driver as a module, choose M here: the module will be called tifm_7xx1. config ICS932S401 tristate "Integrated Circuits ICS932S401" depends on I2C help If you say yes here you get support for the Integrated Circuits ICS932S401 clock control chips. This driver can also be built as a module. If so, the module will be called ics932s401. config ATMEL_SSC tristate "Device driver for Atmel SSC peripheral" depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST) help This option enables device driver support for Atmel Synchronized Serial Communication peripheral (SSC). The SSC peripheral supports a wide variety of serial frame based communications, i.e. I2S, SPI, etc. If unsure, say N. config ENCLOSURE_SERVICES tristate "Enclosure Services" help Provides support for intelligent enclosures (bays which contain storage devices). You also need either a host driver (SCSI/ATA) which supports enclosures or a SCSI enclosure device (SES) to use these services. config SGI_XP tristate "Support communication between SGI SSIs" depends on NET depends on X86_UV && SMP depends on X86_64 || BROKEN select SGI_GRU if X86_64 && SMP help An SGI machine can be divided into multiple Single System Images which act independently of each other and have hardware based memory protection from the others. Enabling this feature will allow for direct communication between SSIs based on a network adapter and DMA messaging. config SMPRO_ERRMON tristate "Ampere Computing SMPro error monitor driver" depends on MFD_SMPRO || COMPILE_TEST help Say Y here to get support for the SMpro error monitor function provided by Ampere Computing's Altra and Altra Max SoCs. Upon loading, the driver creates sysfs files which can be use to gather multiple HW error data reported via read and write system calls. To compile this driver as a module, say M here. The driver will be called smpro-errmon. config SMPRO_MISC tristate "Ampere Computing SMPro miscellaneous driver" depends on MFD_SMPRO || COMPILE_TEST help Say Y here to get support for the SMpro error miscellalenous function provided by Ampere Computing's Altra and Altra Max SoCs. To compile this driver as a module, say M here. The driver will be called smpro-misc. config CS5535_MFGPT tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support" depends on MFD_CS5535 help This driver provides access to MFGPT functionality for other drivers that need timers. MFGPTs are available in the CS5535 and CS5536 companion chips that are found in AMD Geode and several other platforms. They have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. You probably don't want to enable this manually; other drivers that make use of it should enable it. config CS5535_MFGPT_DEFAULT_IRQ int depends on CS5535_MFGPT default 7 help MFGPTs on the CS5535 require an interrupt. The selected IRQ can be overridden as a module option as well as by driver that use the cs5535_mfgpt_ API; however, different architectures might want to use a different IRQ by default. This is here for architectures to set as necessary. config CS5535_CLOCK_EVENT_SRC tristate "CS5535/CS5536 high-res timer (MFGPT) events" depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT help This driver provides a clock event source based on the MFGPT timer(s) in the CS5535 and CS5536 companion chips. MFGPTs have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. config GEHC_ACHC tristate "GEHC ACHC support" depends on SPI && SYSFS depends on SOC_IMX53 || COMPILE_TEST select FW_LOADER help Support for GE ACHC microcontroller, that is part of the GE PPD device. To compile this driver as a module, choose M here: the module will be called gehc-achc. config HI6421V600_IRQ tristate "HiSilicon Hi6421v600 IRQ and powerkey" depends on OF depends on SPMI depends on HAS_IOMEM select MFD_CORE select REGMAP_SPMI help This driver provides IRQ handling for Hi6421v600, used on some Kirin chipsets, like the one at Hikey 970. config HP_ILO tristate "Channel interface driver for the HP iLO processor" depends on PCI help The channel interface driver allows applications to communicate with iLO management processors present on HP ProLiant servers. Upon loading, the driver creates /dev/hpilo/dXccbN files, which can be used to gather data from the management processor, via read and write system calls. To compile this driver as a module, choose M here: the module will be called hpilo. config QCOM_COINCELL tristate "Qualcomm coincell charger support" depends on MFD_SPMI_PMIC || COMPILE_TEST help This driver supports the coincell block found inside of Qualcomm PMICs. The coincell charger provides a means to charge a coincell battery or backup capacitor which is used to maintain PMIC register and RTC state in the absence of external power. config QCOM_FASTRPC tristate "Qualcomm FastRPC" depends on ARCH_QCOM || COMPILE_TEST depends on RPMSG select DMA_SHARED_BUFFER select QCOM_SCM help Provides a communication mechanism that allows for clients to make remote method invocations across processor boundary to applications DSP processor. Say M if you want to enable this module. config SGI_GRU tristate "SGI GRU driver" depends on X86_UV && SMP select MMU_NOTIFIER help The GRU is a hardware resource located in the system chipset. The GRU contains memory that can be mmapped into the user address space. This memory is used to communicate with the GRU to perform functions such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user instructions using user virtual addresses. GRU instructions (ex., bcopy) use user virtual addresses for operands. If you are not running on a SGI UV system, say N. config SGI_GRU_DEBUG bool "SGI GRU driver debug" depends on SGI_GRU help This option enables additional debugging code for the SGI GRU driver. If you are unsure, say N. config APDS9802ALS tristate "Medfield Avago APDS9802 ALS Sensor module" depends on I2C help If you say yes here you get support for the ALS APDS9802 ambient light sensor. This driver can also be built as a module. If so, the module will be called apds9802als. config ISL29003 tristate "Intersil ISL29003 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Intersil ISL29003 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29003. config ISL29020 tristate "Intersil ISL29020 ambient light sensor" depends on I2C help If you say yes here you get support for the Intersil ISL29020 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29020. config SENSORS_TSL2550 tristate "Taos TSL2550 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Taos TSL2550 ambient light sensor. This driver can also be built as a module. If so, the module will be called tsl2550. config SENSORS_BH1770 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" depends on I2C help Say Y here if you want to build a driver for BH1770GLC (ROHM) or SFH7770 (Osram) combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called bh1770glc. If unsure, say N here. config SENSORS_APDS990X tristate "APDS990X combined als and proximity sensors" depends on I2C help Say Y here if you want to build a driver for Avago APDS990x combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called apds990x. If unsure, say N here. config HMC6352 tristate "Honeywell HMC6352 compass" depends on I2C help This driver provides support for the Honeywell HMC6352 compass, providing configuration and heading data via sysfs. config DS1682 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS1682 Total Elapsed Time Recorder. This driver can also be built as a module. If so, the module will be called ds1682. config VMWARE_BALLOON tristate "VMware Balloon Driver" depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST select MEMORY_BALLOON help This is VMware physical memory management driver which acts like a "balloon" that can be inflated to reclaim physical pages by reserving them in the guest and invalidating them in the monitor, freeing up the underlying machine pages so they can be allocated to other guests. The balloon can also be deflated to allow the guest to use more physical memory. If unsure, say N. To compile this driver as a module, choose M here: the module will be called vmw_balloon. config PCH_PHUB tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB" select GENERIC_NET_UTILS depends on PCI && (X86_32 || MIPS || COMPILE_TEST) help This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded processor. The Topcliff has MAC address and Option ROM data in SROM. This driver can access MAC address and Option ROM data in SROM. This driver also can be used for LAPIS Semiconductor's IOH, ML7213/ML7223/ML7831. ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. To compile this driver as a module, choose M here: the module will be called pch_phub. config LATTICE_ECP3_CONFIG tristate "Lattice ECP3 FPGA bitstream configuration via SPI" depends on SPI && SYSFS select FW_LOADER help This option enables support for bitstream configuration (programming or loading) of the Lattice ECP3 FPGA family via SPI. If unsure, say N. config SRAM bool "Generic on-chip SRAM driver" depends on HAS_IOMEM select GENERIC_ALLOCATOR select SRAM_EXEC if ARM help This driver allows you to declare a memory region to be managed by the genalloc API. It is supposed to be used for small on-chip SRAM areas found on many SoCs. config SRAM_EXEC bool config DW_XDATA_PCIE depends on PCI tristate "Synopsys DesignWare xData PCIe driver" help This driver allows controlling Synopsys DesignWare PCIe traffic generator IP also known as xData, present in Synopsys DesignWare PCIe Endpoint prototype. If unsure, say N. config PCI_ENDPOINT_TEST depends on PCI select CRC32 tristate "PCI Endpoint Test driver" help Enable this configuration option to enable the host side test driver for PCI Endpoint. config XILINX_SDFEC tristate "Xilinx SDFEC 16" depends on HAS_IOMEM help This option enables support for the Xilinx SDFEC (Soft Decision Forward Error Correction) driver. This enables a char driver for the SDFEC. You may select this driver if your design instantiates the SDFEC(16nm) hardened block. To compile this as a module choose M. If unsure, say N. config MISC_RTSX tristate default MISC_RTSX_PCI || MISC_RTSX_USB config HISI_HIKEY_USB tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform" depends on (OF && GPIOLIB) || COMPILE_TEST depends on USB_ROLE_SWITCH help If you say yes here this adds support for the on-board USB GPIO hub found on HiKey 960/970 boards, which is necessary to support switching between the dual-role USB-C port and the USB-A host ports using only one USB controller. config OPEN_DICE tristate "Open Profile for DICE driver" depends on OF_RESERVED_MEM depends on HAS_IOMEM help This driver exposes a DICE reserved memory region to userspace via a character device. The memory region contains Compound Device Identifiers (CDIs) generated by firmware as an output of DICE measured boot flow. Userspace can use CDIs for remote attestation and sealing. If unsure, say N. config NTSYNC tristate "NT synchronization primitive emulation" depends on BROKEN help This module provides kernel support for emulation of Windows NT synchronization primitives. It is not a hardware driver. To compile this driver as a module, choose M here: the module will be called ntsync. If unsure, say N. config VCPU_STALL_DETECTOR tristate "Guest vCPU stall detector" depends on OF && HAS_IOMEM help When this driver is bound inside a KVM guest, it will periodically "pet" an MMIO stall detector device from each vCPU and allow the host to detect vCPU stalls. To compile this driver as a module, choose M here: the module will be called vcpu_stall_detector. If you do not intend to run this kernel as a guest, say N. config TMR_MANAGER tristate "Select TMR Manager" depends on MICROBLAZE && MB_MANAGER help This option enables the driver developed for TMR Manager. The Triple Modular Redundancy(TMR) manager provides support for fault detection. Say N here unless you know what you are doing. config TMR_INJECT tristate "Select TMR Inject" depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS help This option enables the driver developed for TMR Inject. The Triple Modular Redundancy(TMR) Inject provides fault injection. Say N here unless you know what you are doing. config TPS6594_ESM tristate "TI TPS6594 Error Signal Monitor support" depends on MFD_TPS6594 default MFD_TPS6594 help Support ESM (Error Signal Monitor) on TPS6594 PMIC devices. ESM is used typically to reboot the board in error condition. This driver can also be built as a module. If so, the module will be called tps6594-esm. config TPS6594_PFSM tristate "TI TPS6594 Pre-configurable Finite State Machine support" depends on MFD_TPS6594 default MFD_TPS6594 help Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices. These devices integrate a finite state machine engine, which manages the state of the device during operating state transition. This driver can also be built as a module. If so, the module will be called tps6594-pfsm. config NSM tristate "Nitro (Enclaves) Security Module support" depends on VIRTIO select HW_RANDOM help This driver provides support for the Nitro Security Module in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm device user space can use to communicate with the hypervisor. To compile this driver as a module, choose M here. The module will be called nsm. config MARVELL_CN10K_DPI tristate "Octeon CN10K DPI driver" depends on PCI && PCI_IOV depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT) help Enables Octeon CN10K DMA packet interface (DPI) driver which intializes DPI hardware's physical function (PF) device's global configuration and its virtual function (VFs) resource configuration to enable DMA transfers. DPI PF device does not have any data movement functionality, it only serves VF's resource configuration requests. To compile this driver as a module, choose M here: the module will be called mrvl_cn10k_dpi. config MCHP_LAN966X_PCI tristate "Microchip LAN966x PCIe Support" depends on PCI select OF select OF_OVERLAY select IRQ_DOMAIN help This enables the support for the LAN966x PCIe device. This is used to drive the LAN966x PCIe device from the host system to which it is connected. The driver uses a device tree overlay to load other drivers to support for LAN966x internal components. Even if this driver does not depend on those other drivers, in order to have a fully functional board, the following drivers are needed: - fixed-clock (COMMON_CLK) - lan966x-oic (LAN966X_OIC) - lan966x-cpu-syscon (MFD_SYSCON) - lan966x-switch-reset (RESET_MCHP_SPARX5) - lan966x-pinctrl (PINCTRL_OCELOT) - lan966x-serdes (PHY_LAN966X_SERDES) - lan966x-miim (MDIO_MSCC_MIIM) - lan966x-switch (LAN966X_SWITCH) source "drivers/misc/c2port/Kconfig" source "drivers/misc/eeprom/Kconfig" source "drivers/misc/cb710/Kconfig" source "drivers/misc/ti-st/Kconfig" source "drivers/misc/lis3lv02d/Kconfig" source "drivers/misc/altera-stapl/Kconfig" source "drivers/misc/mei/Kconfig" source "drivers/misc/vmw_vmci/Kconfig" source "drivers/misc/genwqe/Kconfig" source "drivers/misc/echo/Kconfig" source "drivers/misc/cxl/Kconfig" source "drivers/misc/ocxl/Kconfig" source "drivers/misc/bcm-vk/Kconfig" source "drivers/misc/cardreader/Kconfig" source "drivers/misc/uacce/Kconfig" source "drivers/misc/pvpanic/Kconfig" source "drivers/misc/mchp_pci1xxxx/Kconfig" source "drivers/misc/keba/Kconfig" endmenu