Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

menuconfig CONFIG_UIO
	tristate "Userspace I/O drivers"
	depends on CONFIG_MMU
	help
	  Enable this to allow the userspace driver core code to be
	  built.  This code allows userspace programs easy access to
	  kernel interrupts and memory locations, allowing some drivers
	  to be written in userspace.  Note that a small kernel driver
	  is also required for interrupt handling to work properly.

	  If you don't know what to do here, say N.

if CONFIG_UIO

config CONFIG_UIO_CIF
	tristate "generic Hilscher CIF Card driver"
	depends on CONFIG_PCI
	help
	  Driver for Hilscher CIF DeviceNet and Profibus cards.  This
  	  driver requires a userspace component called cif that handles
	  all of the heavy lifting and can be found at:
	        <http://www.osadl.org/projects/downloads/UIO/user/>

	  To compile this driver as a module, choose CONFIG_M here: the module
	  will be called uio_cif.

config CONFIG_UIO_PDRV_GENIRQ
	tristate "Userspace I/O platform driver with generic IRQ handling"
	help
	  Platform driver for Userspace I/O devices, including generic
	  interrupt handling code. Shared interrupts are not supported.

	  This kernel driver requires that the matching userspace driver
	  handles interrupts in a special way. Userspace is responsible
	  for acknowledging the hardware device if needed, and re-enabling
	  interrupts in the interrupt controller using the write() syscall.

	  If you don't know what to do here, say N.

config CONFIG_UIO_DMEM_GENIRQ
	tristate "Userspace platform driver with generic irq and dynamic memory"
	depends on CONFIG_HAS_DMA
	help
	  Platform driver for Userspace I/O devices, including generic
	  interrupt handling code. Shared interrupts are not supported.

	  Memory regions can be specified with the same platform device
	  resources as the UIO_PDRV drivers, but dynamic regions can also
	  be specified.
	  The number and size of these regions is static,
	  but the memory allocation is not performed until
	  the associated device file is opened. The
	  memory is freed once the uio device is closed.

	  If you don't know what to do here, say N.

config CONFIG_UIO_AEC
	tristate "AEC video timestamp device"
	depends on CONFIG_PCI
	help

	  CONFIG_UIO driver for the Adrienne Electronics Corporation CONFIG_PCI time
	  code device.

	  This device differs from other CONFIG_UIO devices since it uses I/O
	  ports instead of memory mapped I/O. In order to make it
	  possible for CONFIG_UIO to work with this device a utility, uioport,
	  can be used to read and write the ports:

	    git clone git://ifup.org/philips/uioport.git

	  If you compile this as a module, it will be called uio_aec.

config CONFIG_UIO_SERCOS3
	tristate "Automata Sercos III PCI card driver"
	depends on CONFIG_PCI
	help
	  Userspace I/O interface for the Sercos III CONFIG_PCI card from
	  Automata GmbH. The userspace part of this driver will be
	  available for download from the Automata GmbH web site.

	  Automata GmbH:        http://www.automataweb.com
	  Sercos III interface: http://www.sercos.com

	  If you compile this as a module, it will be called uio_sercos3.

config CONFIG_UIO_PCI_GENERIC
	tristate "Generic driver for PCI 2.3 and PCI Express cards"
	depends on CONFIG_PCI
	help
	  Generic driver that you can bind, dynamically, to any
	  CONFIG_PCI 2.3 compliant and CONFIG_PCI Express card. It is useful,
	  primarily, for virtualization scenarios.
	  If you compile this as a module, it will be called uio_pci_generic.

config CONFIG_UIO_NETX
	tristate "Hilscher NetX Card driver"
	depends on CONFIG_PCI
	help
	  Driver for Hilscher NetX based fieldbus cards (cifX, comX).
	  This driver requires a userspace component that comes with the card
	  or is available from Hilscher (http://www.hilscher.com).

	  To compile this driver as a module, choose CONFIG_M here; the module
	  will be called uio_netx.

config CONFIG_UIO_FSL_ELBC_GPCM
	tristate "eLBC/GPCM driver"
	depends on CONFIG_FSL_LBC
	help
	  Generic driver for accessing a peripheral connected to an eLBC port
	  that is running in GPCM mode. GPCM is an interface for simple lower
	  performance memories and memory-mapped devices. For devices using
	  FCM or UPM eLBC modes, other device-specific drivers are available.

config CONFIG_UIO_FSL_ELBC_GPCM_NETX5152
	bool "eLBC/GPCM netX 51/52 support"
	depends on CONFIG_UIO_FSL_ELBC_GPCM
	help
	  This will add support for netX 51/52 devices connected via eLBC/GPCM.
	  In particular, it implements interrupt handling. This can be used
	  together with the userspace netX stack from Hilscher.

	  Information about this hardware can be found at:
	  http://www.hilscher.com/netx

config CONFIG_UIO_PRUSS
	tristate "Texas Instruments PRUSS driver"
	select CONFIG_GENERIC_ALLOCATOR
	depends on CONFIG_HAS_IOMEM && CONFIG_HAS_DMA
	help
	  PRUSS driver for OMAPL138/DA850/AM18XX devices
	  PRUSS driver requires user space components, examples and user space
	  driver is available from below SVN repo - you may use anonymous login

	  https://gforge.ti.com/gf/project/pru_sw/

	  More info on API is available at below wiki

	  http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader

	  To compile this driver as a module, choose CONFIG_M here: the module
	  will be called uio_pruss.

config CONFIG_UIO_MF624
	tristate "Humusoft MF624 DAQ PCI card driver"
	depends on CONFIG_PCI
	help
	  Userspace I/O interface for the Humusoft MF624 CONFIG_PCI card.
	  CONFIG_A sample userspace application using this driver is available
	  (among other MF624 related information and software components)
	  for download in a git repository:

	    git clone git://rtime.felk.cvut.cz/mf6xx.git

	  If you compile this as a module, it will be called uio_mf624.

config CONFIG_UIO_HV_GENERIC
	tristate "Generic driver for Hyper-V VMBus"
	depends on CONFIG_HYPERV
	help
	  Generic driver that you can bind, dynamically, to any
	  Hyper-V VMBus device. It is useful to provide direct access
	  to network and storage devices from userspace.

	  If you compile this as a module, it will be called uio_hv_generic.
endif