Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
UFTDI(4)	       FreeBSD Kernel Interfaces Manual		      UFTDI(4)

NAME
     uftdi -- USB support for serial adapters based on the FTDI	family of USB
     serial adapter chips.

SYNOPSIS
     To	compile	this driver into the kernel, place the following lines in your
     kernel configuration file:

	   device uftdi

     Alternatively, to load the	driver as a module at boot time, place the
     following line in loader.conf(5):

	   uftdi_load="YES"

DESCRIPTION
     The uftdi driver provides support for various serial adapters based on
     the following FTDI	chips:

     +o	 FT8U100AX
     +o	 FT8U232AM
     +o	 FT8U232BM
     +o	 FT232R
     +o	 FT2232C
     +o	 FT2232D
     +o	 FT2232H
     +o	 FT4232H
     +o	 FT230X

     The device	is accessed through the	ucom(4)	driver which makes it behave
     like a tty(4).

     Many of the supported chips provide additional functionality such as bit-
     bang mode and the MPSSE engine for	serial bus emulation.  The uftdi
     driver provides access to that functionality with the following ioctl(2)
     calls, defined in <dev/usb/uftdiio.h>:

     UFTDIIOC_RESET_IO (int)
	     Reset the channel to its default configuration, flush RX and TX
	     FIFOs.

     UFTDIIOC_RESET_RX (int)
	     Flush the RX FIFO.

     UFTDIIOC_RESET_TX (int)
	     Flush the TX FIFO.

     UFTDIIOC_SET_BITMODE (struct uftdi_bitmode)
	     Put the channel into the operating	mode specified in mode,	and
	     set the pins indicated by ones in iomask to output	mode.  The
	     mode must be one of the uftdi_bitmodes values.

	     enum uftdi_bitmodes
	     {
		     UFTDI_BITMODE_ASYNC = 0,
		     UFTDI_BITMODE_MPSSE = 1,
		     UFTDI_BITMODE_SYNC	= 2,
		     UFTDI_BITMODE_CPU_EMUL = 3,
		     UFTDI_BITMODE_FAST_SERIAL = 4,
		     UFTDI_BITMODE_CBUS	= 5,
		     UFTDI_BITMODE_NONE	= 0xff,
	     };

	     struct uftdi_bitmode
	     {
		     uint8_t mode;
		     uint8_t iomask;
	     };

	     Manuals and application notes published by	FTDI describe these
	     modes in detail.  To use most of these modes, you first put the
	     channel into the desired mode, then you read(2) and write(2) data
	     which either reflects pin state or	is interpreted as MPSSE	com-
	     mands and parameters, depending on	the mode.

     UFTDIIOC_GET_BITMODE (struct uftdi_bitmode)
	     Return the	state of the bitbang pins at the time of the call in
	     the iomask	member.	 The mode member is unused.

     UFTDIIOC_SET_ERROR_CHAR (int)
	     Set the character which is	inserted into the buffer to mark the
	     point of an error such as FIFO overflow.

     UFTDIIOC_SET_EVENT_CHAR (int)
	     Set the character which causes a partial FIFO full	of data	to be
	     returned immediately even if the FIFO is not full.

     UFTDIIOC_SET_LATENCY (int)
	     Set the amount of time to wait for	a full FIFO, in	milliseconds.
	     If	more than this much time elapses without receiving a new char-
	     acter, any	characters in the FIFO are returned.

     UFTDIIOC_GET_LATENCY (int)
	     Get the current value of the latency timer.

     UFTDIIOC_GET_HWREV	(int)
	     Get the hardware revision number.	This is	the bcdDevice value
	     from the usb_device_descriptor.

HARDWARE
     The uftdi driver supports the following adapters:

     +o	 B&B Electronics USB->RS422/485	adapter
     +o	 Elexol	USB MOD1 and USB MOD3
     +o	 HP USB-Serial adapter shipped with some HP laptops
     +o	 Inland	UAS111
     +o	 QVS USC-1000
     +o	 Buffalo PC-OP-RS / Kurouto-shikou KURO-RS universal remote
     +o	 Prologix GPIB-USB Controller

SEE ALSO
     tty(4), ucom(4), usb(4)

HISTORY
     The uftdi driver appeared in FreeBSD 4.8 from NetBSD 1.5.

FreeBSD	9.2		       November	22, 2006		   FreeBSD 9.2

NAME | SYNOPSIS | DESCRIPTION | HARDWARE | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=uftdi&manpath=FreeBSD+9.3-RELEASE>

home | help