18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenuconfig UIO 38c2ecf20Sopenharmony_ci tristate "Userspace I/O drivers" 48c2ecf20Sopenharmony_ci depends on MMU 58c2ecf20Sopenharmony_ci help 68c2ecf20Sopenharmony_ci Enable this to allow the userspace driver core code to be 78c2ecf20Sopenharmony_ci built. This code allows userspace programs easy access to 88c2ecf20Sopenharmony_ci kernel interrupts and memory locations, allowing some drivers 98c2ecf20Sopenharmony_ci to be written in userspace. Note that a small kernel driver 108c2ecf20Sopenharmony_ci is also required for interrupt handling to work properly. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciif UIO 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciconfig UIO_CIF 178c2ecf20Sopenharmony_ci tristate "generic Hilscher CIF Card driver" 188c2ecf20Sopenharmony_ci depends on PCI 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci Driver for Hilscher CIF DeviceNet and Profibus cards. This 218c2ecf20Sopenharmony_ci driver requires a userspace component called cif that handles 228c2ecf20Sopenharmony_ci all of the heavy lifting and can be found at: 238c2ecf20Sopenharmony_ci <http://www.osadl.org/projects/downloads/UIO/user/> 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 268c2ecf20Sopenharmony_ci will be called uio_cif. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig UIO_PDRV_GENIRQ 298c2ecf20Sopenharmony_ci tristate "Userspace I/O platform driver with generic IRQ handling" 308c2ecf20Sopenharmony_ci help 318c2ecf20Sopenharmony_ci Platform driver for Userspace I/O devices, including generic 328c2ecf20Sopenharmony_ci interrupt handling code. Shared interrupts are not supported. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci This kernel driver requires that the matching userspace driver 358c2ecf20Sopenharmony_ci handles interrupts in a special way. Userspace is responsible 368c2ecf20Sopenharmony_ci for acknowledging the hardware device if needed, and re-enabling 378c2ecf20Sopenharmony_ci interrupts in the interrupt controller using the write() syscall. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig UIO_DMEM_GENIRQ 428c2ecf20Sopenharmony_ci tristate "Userspace platform driver with generic irq and dynamic memory" 438c2ecf20Sopenharmony_ci depends on HAS_DMA 448c2ecf20Sopenharmony_ci help 458c2ecf20Sopenharmony_ci Platform driver for Userspace I/O devices, including generic 468c2ecf20Sopenharmony_ci interrupt handling code. Shared interrupts are not supported. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci Memory regions can be specified with the same platform device 498c2ecf20Sopenharmony_ci resources as the UIO_PDRV drivers, but dynamic regions can also 508c2ecf20Sopenharmony_ci be specified. 518c2ecf20Sopenharmony_ci The number and size of these regions is static, 528c2ecf20Sopenharmony_ci but the memory allocation is not performed until 538c2ecf20Sopenharmony_ci the associated device file is opened. The 548c2ecf20Sopenharmony_ci memory is freed once the uio device is closed. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciconfig UIO_AEC 598c2ecf20Sopenharmony_ci tristate "AEC video timestamp device" 608c2ecf20Sopenharmony_ci depends on PCI 618c2ecf20Sopenharmony_ci help 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci UIO driver for the Adrienne Electronics Corporation PCI time 648c2ecf20Sopenharmony_ci code device. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci This device differs from other UIO devices since it uses I/O 678c2ecf20Sopenharmony_ci ports instead of memory mapped I/O. In order to make it 688c2ecf20Sopenharmony_ci possible for UIO to work with this device a utility, uioport, 698c2ecf20Sopenharmony_ci can be used to read and write the ports: 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci git clone git://ifup.org/philips/uioport.git 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci If you compile this as a module, it will be called uio_aec. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig UIO_SERCOS3 768c2ecf20Sopenharmony_ci tristate "Automata Sercos III PCI card driver" 778c2ecf20Sopenharmony_ci depends on PCI 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Userspace I/O interface for the Sercos III PCI card from 808c2ecf20Sopenharmony_ci Automata GmbH. The userspace part of this driver will be 818c2ecf20Sopenharmony_ci available for download from the Automata GmbH web site. 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci Automata GmbH: http://www.automataweb.com 848c2ecf20Sopenharmony_ci Sercos III interface: http://www.sercos.com 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci If you compile this as a module, it will be called uio_sercos3. 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ciconfig UIO_PCI_GENERIC 898c2ecf20Sopenharmony_ci tristate "Generic driver for PCI 2.3 and PCI Express cards" 908c2ecf20Sopenharmony_ci depends on PCI 918c2ecf20Sopenharmony_ci help 928c2ecf20Sopenharmony_ci Generic driver that you can bind, dynamically, to any 938c2ecf20Sopenharmony_ci PCI 2.3 compliant and PCI Express card. It is useful, 948c2ecf20Sopenharmony_ci primarily, for virtualization scenarios. 958c2ecf20Sopenharmony_ci If you compile this as a module, it will be called uio_pci_generic. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig UIO_NETX 988c2ecf20Sopenharmony_ci tristate "Hilscher NetX Card driver" 998c2ecf20Sopenharmony_ci depends on PCI 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci Driver for Hilscher NetX based fieldbus cards (cifX, comX). 1028c2ecf20Sopenharmony_ci This driver requires a userspace component that comes with the card 1038c2ecf20Sopenharmony_ci or is available from Hilscher (http://www.hilscher.com). 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here; the module 1068c2ecf20Sopenharmony_ci will be called uio_netx. 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciconfig UIO_FSL_ELBC_GPCM 1098c2ecf20Sopenharmony_ci tristate "eLBC/GPCM driver" 1108c2ecf20Sopenharmony_ci depends on FSL_LBC 1118c2ecf20Sopenharmony_ci help 1128c2ecf20Sopenharmony_ci Generic driver for accessing a peripheral connected to an eLBC port 1138c2ecf20Sopenharmony_ci that is running in GPCM mode. GPCM is an interface for simple lower 1148c2ecf20Sopenharmony_ci performance memories and memory-mapped devices. For devices using 1158c2ecf20Sopenharmony_ci FCM or UPM eLBC modes, other device-specific drivers are available. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciconfig UIO_FSL_ELBC_GPCM_NETX5152 1188c2ecf20Sopenharmony_ci bool "eLBC/GPCM netX 51/52 support" 1198c2ecf20Sopenharmony_ci depends on UIO_FSL_ELBC_GPCM 1208c2ecf20Sopenharmony_ci help 1218c2ecf20Sopenharmony_ci This will add support for netX 51/52 devices connected via eLBC/GPCM. 1228c2ecf20Sopenharmony_ci In particular, it implements interrupt handling. This can be used 1238c2ecf20Sopenharmony_ci together with the userspace netX stack from Hilscher. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci Information about this hardware can be found at: 1268c2ecf20Sopenharmony_ci http://www.hilscher.com/netx 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciconfig UIO_PRUSS 1298c2ecf20Sopenharmony_ci tristate "Texas Instruments PRUSS driver" 1308c2ecf20Sopenharmony_ci select GENERIC_ALLOCATOR 1318c2ecf20Sopenharmony_ci depends on HAS_IOMEM && HAS_DMA 1328c2ecf20Sopenharmony_ci help 1338c2ecf20Sopenharmony_ci PRUSS driver for OMAPL138/DA850/AM18XX devices 1348c2ecf20Sopenharmony_ci PRUSS driver requires user space components, examples and user space 1358c2ecf20Sopenharmony_ci driver is available from below SVN repo - you may use anonymous login 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci https://gforge.ti.com/gf/project/pru_sw/ 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci More info on API is available at below wiki 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 1448c2ecf20Sopenharmony_ci will be called uio_pruss. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ciconfig UIO_MF624 1478c2ecf20Sopenharmony_ci tristate "Humusoft MF624 DAQ PCI card driver" 1488c2ecf20Sopenharmony_ci depends on PCI 1498c2ecf20Sopenharmony_ci help 1508c2ecf20Sopenharmony_ci Userspace I/O interface for the Humusoft MF624 PCI card. 1518c2ecf20Sopenharmony_ci A sample userspace application using this driver is available 1528c2ecf20Sopenharmony_ci (among other MF624 related information and software components) 1538c2ecf20Sopenharmony_ci for download in a git repository: 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci git clone git://rtime.felk.cvut.cz/mf6xx.git 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci If you compile this as a module, it will be called uio_mf624. 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ciconfig UIO_HV_GENERIC 1608c2ecf20Sopenharmony_ci tristate "Generic driver for Hyper-V VMBus" 1618c2ecf20Sopenharmony_ci depends on HYPERV 1628c2ecf20Sopenharmony_ci help 1638c2ecf20Sopenharmony_ci Generic driver that you can bind, dynamically, to any 1648c2ecf20Sopenharmony_ci Hyper-V VMBus device. It is useful to provide direct access 1658c2ecf20Sopenharmony_ci to network and storage devices from userspace. 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci If you compile this as a module, it will be called uio_hv_generic. 1688c2ecf20Sopenharmony_ciendif 169