Provided by: freebsd-manpages_12.0-1_all bug

NAME

     terasic_mtl — driver for the Terasic/Cambridge Multi-Touch LCD device

SYNOPSIS

     device terasic_mtl

     In /boot/device.hints:
     hint.terasic_mtl.0.at="nexus0"
     hint.terasic_mtl.0.reg_maddr=0x70400000
     hint.terasic_mtl.0.reg_msize=0x1000
     hint.terasic_mtl.0.pixel_maddr=0x70000000
     hint.terasic_mtl.0.pixel_msize=0x177000
     hint.terasic_mtl.0.text_maddr=0x70177000
     hint.terasic_mtl.0.text_msize=0x2000

DESCRIPTION

     The terasic_mtl device driver provides support for the Terasic Multi-Touch LCD combined as
     controlled by a University of Cambridge's IP Core.  Three device nodes are instantiated,
     representing various services supported by the device:

     terasic_regX    Memory-mapped register interface, including touch screen input.

     terasic_pixelX  Memory-mapped pixel-oriented frame buffer.

     terasic_textX   Memory-mapped text-oriented frame buffer.

     terasic_mtl devices are also attached to the syscons(4) framework, which implements a VT-
     compatible terminal connected to the tty(4) framework.  ttyvX device nodes may be added to
     ttys(5) in order to launch login(1) sessions at boot.

     Register, text, and pixel devices may be accessed using read(2) and write(2) system calls,
     and also memory mapped using mmap(2).

SEE ALSO

     login(1), ioctl(2), mmap(2), poll(2), read(2), write(2), syscons(4), tty(4), ttys(5)

HISTORY

     The terasic_mtl device driver first appeared in FreeBSD 10.0.

AUTHORS

     The terasic_mtl device driver and this manual page were developed by SRI International and
     the University of Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
     (“CTSRD”), as part of the DARPA CRASH research programme.  This device driver was written by
     Robert N. M. Watson.

BUGS

     The syscons(4) attachment does not support the hardware cursor feature.

     A more structured interface to control registers using the ioctl(2) system call, would
     sometimes be preferable to memory mapping.  For touch screen input, it would be highly
     desirable to offer a streaming interface whose events can be managed using poll(2) and
     related system calls, with the kernel performing polling rather than the userspace
     application.

     terasic_mtl supports only a nexus bus attachment, which is appropriate for system-on-chip
     busses such as Altera's Avalon bus.  If the IP core is configured off of another bus type,
     then additional bus attachments will be required.